Peer-to-Peer (P2P)

Pagamento instantâneo é toda transferência eletrônica de recursos na qual a transmissão da mensagem de pagamento e a disponibilidade de fundos para o recebedor ocorrem em tempo real. A Elo oferece através da API de P2P a possibilidade de transferência eletrônica entre 2 portadores de cartão.

Como funciona

Primeiros passos

  1. Leia Introdução ao GraphQL, com exemplos reais da nossa API.
  2. Crie um usuário no portal do desenvolvedor.
  3. Cadastre sua primeira aplicação.
  4. Utilize o dashboard para acessar suas configurações de acesso.
  5. Para explorar rapidamente as APIs aqui na página de documentação, use o console de GraphQL, na seção de referências. Nele, você pode ver as consultas de exemplo, executá-las e alterá-las.

Primeiros passos na plataforma de Desenvolvedores Elo

Jaydson GomesDesenvolvedor Evangelista

Esta API permite a realização de transações monetárias instantâneas entre 2 indivíduos, possibilitando que o dinheiro transferido esteja na conta/cartão do destinatário em poucos minutos. O objetivo é que as transferências possam ser feitas a qualquer momento e no formato que o usuário desejar. Com isso, uma pessoa poderia enviar dinheiro de sua conta corrente ou cartão para o cartão de crédito de outra pessoa a qualquer hora do dia ou qualquer dia da semana, sem restrições de horário.

As requisições de transferências e/ou pagamentos P2P da Elo devem ser feitas no padrão GraphQL.

Para que uma transação seja realizada com sucesso dentro do ecossistema Elo é necessário saber quem são os portadores de cartão envolvidos e assim realizar cada chamada a API seguindo os passos abaixo.

Usado para obter fundos de uma conta com cartão Elo com o propósito de realizar uma transferência. Essa ação pode acontecer quando um portador da bandeira Elo deseja transferir dinheiro para outro portador Elo.

Nota: A plataforma utiliza o CPF do remetente (senderno input da mutation) que esta efetuando a transferência como chave para identificação.

É possível efetuar transações a partir de um usuário logado (utilizando seu access_token no header da requisição) utilizando a mutation createPullTransfer:

mutation{
    createPullTransfer(
        input:{
            clientMutationId: "12345"
            acquirer:{
                id: "d9325232-84fe-46ed-bd6c-ba010f99b7c7"
                countryCode: "BRA"
            }
            merchant:{
                name: "Teste"
                legalName: "Teste LTDA"
                legalIds:{
                    cnpj: "121212121212121"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                iso: 1111
                countryCode: "BRA"
                idCode: "123"
            }
            # Caso você possua um cartão já cadastrado basta utilizar seu cardId
            cardId: "1234"
            # se você não o possuir utilize o campo sensetive
            sensitive: "dasdpaiwqoedandk1993u1ekqkejqweuq90193ueqdm"

            amount:{
                currency: "BRL"
                value: "10.00"
            }
            systemsTraceAuditNumber: "123"
            transactionDateTime: "2018-10-30T12:00:00-03:00"
            transactionIdentifier: "123"
            retrievalReferenceNumber: "123"
            codeUsage: 70 
            pointOfService: {
                type: 3
                localization: 3
                cardholderPresentTransction: 0
                cardPresentTransaction: false
                cardCaptureCapability: 0
                securityTransaction: 0
                typePOS: "M"
                inputCapability: "C"
                panEntryMode: "86"
            } 
        }
    )
    {
        clientMutationId
        cardHolder{
            id
            name
            legalIds{
                cpf{ number }
            }
            cards{
                edges{
                    node{
                        transactions{
                            edges{
                                node{
                                    id
                                    bin{ number }
                                    value
                                    status                                    
                                }
                            }
                        }
                    }
                }
            }
        }        
    }
}

Sobre os campos utilizados nesta mutation temos:

  • acquirer Dados do adquirente responsável pela transação
  • merchant Informações do Comerciante. Possui campos como razão social, nome fantasia, documentos legais (CNPJ) e categorias (MCC).
    • merchant.name Nome visível publicamente. Normalmente nome bem conhecido, marca, etc.
    • merchant.legalName Nome legal, como escrito em documentos.
    • merchant.description Descrição da empresa para ser apresentado a usuários.
    • merchant.legalIds: Todos os documentos legais de identificação da empresa.
    • merchant.contact Contato do comerciante
    • merchant.address: Endereço postal. O campo zip deve ser sempre preenchido.
    • merchant.url Endereço Virtual (Uniform Resource Locator).
    • merchant.iso Código ISO18245. Também conhecido como MCC (Merchant Category Code), tem 4 dígitos.
    • merchant.countryCode Identificador Global Único do país onde está localizado o Merchant, código 076 (Brasil). ISO 3166-1 numeric
    • merchant.idCode Identificação do Estabelecimento Comercial cadastrado junto à Elo pelo Credenciador ou pelo Facilitador no momento do ajuste cadastral do Estabelecimento Comercial.
  • cardId Caso o usuário já possua cartões cadastrados é possível fornecer o id do cartão em que será efetuada a transferência (Este campo elimina a necessidade de fornecer o proximo campo sensitive do cartão.)
  • sensitive Caso o usuário logado não possua cartões é possível efetuar a transação a partir dos dados sensiveis de um cartão criptografados, veja mais detalhes na documentação do Cadastro de Portador
  • amount Informação sobre o valor a ser transferido
    • amount.currency Código da moeda com 3 letras (ISO4217). Exemplo: EUR, USD, BRL...
    • amount.value Valor total da transação, com duas casas decimais após um ponto. Ex: 1000.00 (mil), 1000.55 (mil e cinquenta e cinco centavos).
  • systemsTraceAuditNumber O STAN é o número designado pelo originador de uma transação para auxiliar a identificação da transação com cartão
  • transactionDateTime Data e hora de onde ocorreu a transação (GMT)
  • transactionIdentifier Número de Referência atribuido pelo Originador da Transferência de Fundos.
  • retrievalReferenceNumber Número serial único (NSU) para identificar a transação
  • codeUsage Uso do Cartão Ex.: Crédito à Vista = 70 / Débito = 71

NOTA: No retorno desta mutation é possível efetuar a query cardTransaction que irá listar transações de todos os cartões do usuário logado.

Caso seu usuário seja um Issuer ou Merchant é possível efetuar transações para outros usuários com a mutation createPullTransferToUser:

mutation{
    createPullTransferToUser(
        input:{
            clientMutationId: "1212121"
            acquirer: {
                id: "d9325232-84fe-46ed-bd6c-ba010f99b7c7"
                countryCode: "BRA"
            }
            merchant: {
                name: "Teste"
                legalName: "Teste LTDA"
                legalIds: {
                    cnpj: "121212121212121"
                }
                contact: {
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address: {
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                iso: 1111
                countryCode: "BRA"
                idCode: "123"
            }
            sender: {
                sensitive: "1213dadasdadwqeqweqe2qeasdfaqdas123134rtghdgfjfh"
                name: "Zé 124"
                firstName: "Zé"
                legalIds: {
                    cpf: "1112223444"
                }
                contact: {
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address: {
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                birthday: "1992-02-14"
                sourceOfFundsCode: "02"
            }
            amount:{
                currency: "BRL"
                value: "10.00"
            }
            systemsTraceAuditNumber: "123"
            transactionDateTime: "2018-10-30T12:00:00-03:00"
            transactionIdentifier: "112"
            retrievalReferenceNumber: "123"
            codeUsage: 70
            pointOfService: {
                type: 3
                localization: 3
                cardholderPresentTransction: 0
                cardPresentTransaction: false
                cardCaptureCapability: 0
                securityTransaction: 0
                typePOS: "M"
                inputCapability: "C"
                panEntryMode: "86"
            } 
        }
    )
    {
        clientMutationId
        cardTransaction{
            id
            value
            status                     
        }
    }
}

Nesta mutation temos apenas o campo sender diferente da anterior:

  • sender possuí as informações da pessoa e seu cartão que esta efetuando a transferência.
    • sender.sensitive Conteúdo sensível do cartão o qual foi assinado e então cifrado.
    • sender.name Nome completo, como nos documentos oficiais (RG, CPF)
    • sender.firstName Primeiro nome
    • sender.lastName Último nome
    • sender.displayName Nome a ser exibido (exemplo: encurtado, alias...)
    • sender.legalIds Todos os documentos legais de identificação.
    • sender.birthday Data de nascimento
    • sender.gender Masculino ou Feminino, conforme documentos oficiais
    • sender.maritalStatus Estado civil
    • sender.income Renda anual (individual e familiar).
    • sender.occupationId Profissão. Utilize valores já conhecidos e retornados na consulta personOccupations, membros id.
    • sender.contact Contato
    • sender.address Endereço
    • sender.sourceOfFundsCode Identifica a fonte dos fundos utilizada pelo remetente.
      valores:
      01 -> Crédito
      02 -> Débito
      03 -> Pré-Pago
      04 -> Dinheiro
      05 -> Cheque
      06-16 -> Reservado para Uso Futuro
      17 -> Conta Corrente
      18 -> Conta Poupança
      19 -> Outro

Após ter retirado o valor da conta, cartão de origem é possivel efetuar o envio deste valor para outra conta de cartão Elo ou à uma conta de depósito e assim concluir a transferência dos valores.

Para efetuar o envio do valor que já foi retirado de um usuário logado utilize a mutation a seguir:

mutation{
    createPushTransfer(
        input:{
            clientMutationId: "33333"
            acquirer:{
                id: "d9325232-84fe-46ed-bd6c-ba010f99b7c7"
                countryCode: "BRA"
            }
            merchant: {
                name: "Teste"
                legalName: "Teste LTDA"
                legalIds:{
                    cnpj: "121212121212121"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                iso: 1111
                countryCode: "BRA"
                idCode: "123"
            }

            # Caso você possua um cartão já cadastrado basta utilizar seu cardId
            cardId: "1234"
            # se você não o possuir utilize o campo sensetive
            sensitive: "dasdpaiwqoedandk1993u1ekqkejqweuq90193ueqdm"

            amount:{
                currency: "BRL"
                value: "10.00"
            }
            receiver:{
                name: "João"
                legalIds:{
                    cpf: "1233133123457890"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                birthday: "1992-02-14"
                sensitive: "dasdpaiwqoedandk1993u1ekqkejqweuq90193ueqdm"
            }
            systemsTraceAuditNumber: "123"
            transactionDateTime: "2018-10-30T12:00:00-03:00"
            transactionIdentifier: "112"
            retrievalReferenceNumber: "123"
            codeUsage: 70
            pointOfService: {
                type: 3
                localization: 3
                cardholderPresentTransction: 0
                cardPresentTransaction: false
                cardCaptureCapability: 0
                securityTransaction: 0
                typePOS: "M"
                inputCapability: "C"
                panEntryMode: "86"
            } 
        }
    )
    {
        clientMutationId        
        cardTransaction{
            id
            bin{ number }
            value
            status                    
        }
        receiver{
            name
            legalIds{
                cpf{ number }
            }            
        }
    }
}

Caso você não esteja logado com o usuário que esta efetuando a transferência você pode concluir a transferencia utilizando a mutation createPushTransferToUser:

mutation{
    createPushTransferToUser(
        input:{
            clientMutationId: "43434433"
            acquirer:{
                id: "d9325232-84fe-46ed-bd6c-ba010f99b7c7"                                
                countryCode: "BRA"
            }
            merchant: {
                name: "Teste"
                legalName: "Teste LTDA"
                legalIds:{
                    cnpj: "121212121212121"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                iso: 1111
                countryCode: "BRA"
                idCode: "123"
            }            
            amount:{
                currency: "BRL"
                value: "10.00"
            }
            sender: {
                sensitive: "dadqeoeko1e199amasmasjeieq"
                name: "Pedro"
                sourceOfFundsCode: "02"
                legalIds:{
                    cpf: "222222222222"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                birthday: "1992-02-14"
                sensitive: "dasdpaiwqoedandk1993u1ekqkejqweuq90193ueqdm"
            }
            receiver:{
                name: "João"
                legalIds:{
                    cpf: "1233133123457890"
                }
                contact:{
                    type: PHONE
                    context: "Trabalho"
                    value: "+5511999991111"
                }
                address:{
                    country: "Brasil"
                    city: "São Paulo"
                    state: "São Paulo"
                    zip: "123456788"
                    number: 1234
                    place: "Paulista"
                }
                birthday: "1992-02-14"
            }
            systemsTraceAuditNumber: "123"
            transactionDateTime: "2018-10-30T12:00:00-03:00"
            transactionIdentifier: "112"
            retrievalReferenceNumber: "123"
            codeUsage: 70
            pointOfService: {
                type: 3
                localization: 3
                cardholderPresentTransction: 0
                cardPresentTransaction: false
                cardCaptureCapability: 0
                securityTransaction: 0
                typePOS: "M"
                inputCapability: "C"
                panEntryMode: "86"
            }
        }
    )
    {
        clientMutationId        
        cardTransaction{
            id
            bin{ number }
            value
            status                     
        }        
    }
}

Lembrando que esta mutation permite em seu retorno trazer os dados do sender e receiver para confirmar que a transação foi efetuada para as duas partes.

NOTA: É importante notar que existem dois pares de mutations para efetuar a transferência com os dados de um usuário logado (createPullTransfer e createPushTransfer) e efetuar a transferência em nome de outra pessoa (createPullTransferToUser e createPushTransferToUser)

O processo de Desfazimento ocorre após o sucesso de uma Retirada ou Envio de Fundos, e pode ser utilizado para desfazer uma destas etapas. Este é diferente do Aviso de Desfazimento, pois só é um fluxo começado pelo cliente e não se relaciona com erros nas etapas de uma transação.

É feito através da mutation a seguir:

mutation{
    createReverseTransaction(
        input: {
            clientMutationId: "3232323"
            transactionId: "212aeq12321312eas"
            reasonCode: "076"
            authorization: {
                date: "20181230"
                code: 1234
                decision: "Erro no envio"
            }
        }
    )
    {
        clientMutationId
        cardHolder{
            id
            name
            legalIds{
                cpf{ number }
            }
        }
        cardTransaction{
            id
            bin{ number }
            value
            status            
        }
    }
}

Para listar os dados de transações já efetuadas utilize as queries disponíveis na documentação de transações.




Argumentos:

input: CreatePullTransferInput obrigatório



Argumentos:

input: CreatePushTransferInput obrigatório



Argumentos:

input: CreatePullTransferToUserInput obrigatório



Argumentos:

input: CreatePushTransferToUserInput obrigatório



Argumentos:

input: CreateReverseTransactionInput obrigatório



Argumentos:






Campos:

id

:

ID obrigatório

code

:

String obrigatório

countryCode

:

String obrigatório


Campos:

number

:

String obrigatório

issuerOrganization

:

String

issuerState

:

String

issueDate

:

Date


Campos:

cpf

:

String

cnpj

:

String

rg

:

RGInput


Campos:

type

:

PersonContactType obrigatório

context

:

String

value

:

String obrigatório


Campos:

context

:

String

country

:

String obrigatório

city

:

String obrigatório

state

:

String obrigatório

stateAbbrev

:

String

zip

:

String

district

:

String

kind

:

String

number

:

Int obrigatório

place

:

String obrigatório

complement

:

String

reference

:

String

instructions

:

String

lon

:

Float

lat

:

Float


Campos:

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

legalIds

:

LegalIdsInput obrigatório

contact

:

PersonContactInput obrigatório

address

:

AddressInput obrigatório

url

:

String

iso

:

Int obrigatório

countryCode

:

String obrigatório

idCode

:

String obrigatório


Campos:

currency

:

String obrigatório

value

:

String obrigatório


Campos:

lon

:

Float obrigatório

lat

:

Float obrigatório

alt

:

Float

precision

:

Float


Campos:

userAgent

:

String

brand

:

String

model

:

String

type

:

DeviceType

serialNumber

:

String

imei

:

String

os

:

String


Campos:

geolocation

:

GeolocationInput

device

:

DeviceInput


Campos:

type

:

Int

localization

:

Int

cardHolderPresentTransaction

:

Int

cardPresentTransaction

:

Boolean

cardCaptureCapability

:

Int

securityTransaction

:

Int

typePOS

:

String

inputCapability

:

String

panEntryMode

:

String

terminalIdentifier

:

String


Campos:

clientMutationId

:

String

acquirer

:

AcquirerInput obrigatório

merchant

:

MerchantInput obrigatório

cardId

:

ID

sensitive

:

String

amount

:

AmountInput obrigatório

systemsTraceAuditNumber

:

String obrigatório

transactionDateTime

:

DateTime obrigatório

transactionIdentifier

:

String obrigatório

retrievalReferenceNumber

:

String obrigatório

codeUsage

:

Int obrigatório

origin

:

P2POriginInput

pointOfService

:

PointOfServiceInput


Campos:

status

:

CardStatus

usageConstraints

:

CardUsageConstraintsInput

cardHolderServiceId

:

ID

funding

:

CardFunding

cardProductId

:

ID

cardBrandId

:

ID

cardCaptureId

:

ID

cardUsageId

:

ID

cardNetworkId

:

ID

cardIssuerId

:

ID


Campos:

maxUsage

:

Int

expiry

:

DateTime

allowedTxAmounts

:

lista de CardCurrencyRangeInput obrigatório

allowedIdCodes

:

lista de ID obrigatório

allowedMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

deniedMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório


Campos:

ip

:

String

deviceType

:

DeviceType

merchantUserId

:

String

walletId

:

ID


Campos:


Campos:

startDate

:

Date

endDate

:

Date

originCountry

:

String

destinationCountry

:

String


Campos:

startDate

:

Date

endDate

:

Date

categoryId

:

ID


Campos:

startDate

:

Date

endDate

:

Date

categoryId

:

ID


Campos:

id

:

ID obrigatório


Campos:

currency

:

String obrigatório

min

:

Float

max

:

Float


Campos:

min

:

Int

max

:

Int


Campos:

startTimestamp

:

DateTime

endTimestamp

:

DateTime

includeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

excludeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

captureId

:

ID

usageId

:

ID


Campos:

startTimestamp

:

DateTime

endTimestamp

:

DateTime

includeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório

excludeMerchantCategories

:

lista de MerchantCategoryRangeInput obrigatório


Campos:

cardTransactionId

:

ID

codeCapture

:

Int

codeUsage

:

Int

iso

:

Int

startTimestamp

:

DateTime

endTimestamp

:

DateTime


Campos:

cnpj

:

String


Campos:

filter

:

String


Campos:

personal

:

Float obrigatório

family

:

Float obrigatório

currency

:

String obrigatório


Campos:

sensitive

:

String obrigatório

name

:

String obrigatório

firstName

:

String

lastName

:

String

displayName

:

String

legalIds

:

LegalIdsInput obrigatório

birthday

:

Date

gender

:

Gender

maritalStatus

:

MaritalStatus

occupationId

:

ID

address

:

AddressInput obrigatório


Campos:

clientMutationId

:

String

acquirer

:

AcquirerInput obrigatório

merchant

:

MerchantInput obrigatório

cardId

:

ID

sensitive

:

String

amount

:

AmountInput obrigatório

receiver

:

ReceiverInput obrigatório

systemsTraceAuditNumber

:

String obrigatório

transactionDateTime

:

DateTime obrigatório

transactionIdentifier

:

String obrigatório

retrievalReferenceNumber

:

String obrigatório

codeUsage

:

Int obrigatório

origin

:

P2POriginInput

pointOfService

:

PointOfServiceInput

sourceOfFundsCode

:

String obrigatório

transactionIdentifierPull

:

String


Campos:

sensitive

:

String obrigatório

name

:

String obrigatório

firstName

:

String

lastName

:

String

displayName

:

String

legalIds

:

LegalIdsInput obrigatório

birthday

:

Date

gender

:

Gender

maritalStatus

:

MaritalStatus

occupationId

:

ID

address

:

AddressInput obrigatório

sourceOfFundsCode

:

String obrigatório


Campos:

clientMutationId

:

String

acquirer

:

AcquirerInput obrigatório

merchant

:

MerchantInput obrigatório

sender

:

SenderInput obrigatório

amount

:

AmountInput obrigatório

systemsTraceAuditNumber

:

String obrigatório

transactionDateTime

:

DateTime obrigatório

transactionIdentifier

:

String obrigatório

retrievalReferenceNumber

:

String obrigatório

codeUsage

:

Int obrigatório

origin

:

P2POriginInput

pointOfService

:

PointOfServiceInput


Campos:

clientMutationId

:

String

acquirer

:

AcquirerInput obrigatório

merchant

:

MerchantInput obrigatório

sender

:

SenderInput obrigatório

amount

:

AmountInput obrigatório

receiver

:

ReceiverInput obrigatório

systemsTraceAuditNumber

:

String obrigatório

transactionDateTime

:

DateTime obrigatório

transactionIdentifier

:

String obrigatório

retrievalReferenceNumber

:

String obrigatório

codeUsage

:

Int obrigatório

origin

:

P2POriginInput

pointOfService

:

PointOfServiceInput

transactionIdentifierPull

:

String


Campos:

date

:

DateTime obrigatório

code

:

ID obrigatório

decision

:

String obrigatório


Campos:

clientMutationId

:

String

transactionId

:

ID obrigatório

cardId

:

ID

sensitive

:

String

reasonCode

:

String obrigatório

authorization

:

AuthorizationInput obrigatório


Campos:

clientMutationId

:

String

sensitive

:

String obrigatório

transactionIdentifier

:

String obrigatório

transactionDateTime

:

DateTime obrigatório

amount

:

AmountInput obrigatório

retrievalReferenceNumber

:

String obrigatório

reasonCode

:

String obrigatório





Campos:

number

:

String obrigatório


Campos:

number

:

String obrigatório


Campos:

number

:

String obrigatório

issuerOrganization

:

String

issuerState

:

String

issueDate

:

Date


Campos:

cnpj

:

CNPJ

cpf

:

CPF

rg

:

RG


Campos:

personal

:

Float

family

:

Float

currency

:

String


Campos:

id

:

ID obrigatório

display

:

String obrigatório


Campos:

url

:

String obrigatório

width

:

Int obrigatório

height

:

Int obrigatório

mimeType

:

String obrigatório


Campos:

type

:

PersonContactType obrigatório

context

:

String

value

:

String obrigatório

verified

:

VerifiedStatus


Campos:

context

:

String

country

:

String obrigatório

city

:

String obrigatório

state

(


abbrev:

Boolean

)

:

String

zip

:

String

district

:

String

kind

:

String

number

:

Int

place

:

String obrigatório

complement

:

String

reference

:

String

instructions

:

String

lon

:

Float

lat

:

Float


Campos:

id

:

ID obrigatório

name

:

String obrigatório

holder

:

CardHolder obrigatório

cards

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardsConnection


Campos:

pageInfo

:

PageInfo obrigatório

edges

:

lista de CardsEdge

totalCount

:

Int


Campos:

pageInfo

:

PageInfo obrigatório

edges

:

lista de CardTokensEdge

totalCount

:

Int


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

pageInfo

:

PageInfo obrigatório

totalCount

:

Int


Campos:

pageInfo

:

PageInfo obrigatório

totalCount

:

Int


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

id

:

ID obrigatório

name

:

String

firstName

:

String

lastName

:

String

displayName

:

String

companyName

:

String

companyLegalName

:

String

legalIds

:

LegalIds

birthday

:

Date

age

:

Int

gender

:

Gender

maritalStatus

:

MaritalStatus

occupation

(


language:

String

)

:

PersonOccupation

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

contacts

:

lista de PersonContact obrigatório

addresses

:

lista de Address obrigatório

wallets

:

lista de Wallet obrigatório

cards

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardsConnection

cardTokens

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardTokensConnection

travelInsurances

(


first:

Int

after:

String

last:

Int

before:

String

)

:

TravelInsurancesConnection

extendedWarrantyInsurances

(


first:

Int

after:

String

last:

Int

before:

String

)

:

ExtendedWarrantyInsurancesConnection

purchaseProtectionInsurances

(


first:

Int

after:

String

last:

Int

before:

String

)

:

PurchaseProtectionInsurancesConnection

homeAssistences

(


first:

Int

after:

String

last:

Int

before:

String

)

:

HomeAssistencesConnection


Campos:

hasPreviousPage

:

Boolean obrigatório

hasNextPage

:

Boolean obrigatório

startCursor

:

String

endCursor

:

String


Campos:

cursor

:

String obrigatório

node

:

Card


Campos:

id

:

ID obrigatório

sensitive

(


keyId:

String

)

:

String

last4

:

String

expiry

:

CardExpiry

holder

:

CardHolder

billingAddress

:

Address

status

:

CardStatusInterface obrigatório

usageConstraints

:

CardUsageConstraints

availableServices

:

lista de CardHolderService obrigatório

usedServices

:

lista de CardHolderService obrigatório

bin

:

BIN

funding

:

CardFunding

product

:

CardProduct

isInternational

:

Boolean

isCompany

:

Boolean

isToken

:

Boolean

cardTokens

:

CardTokensConnection

brand

:

CardBrand

allowedCaptures

:

lista de CardCapture obrigatório

usages

:

lista de CardUsage obrigatório

network

:

CardNetwork

issuer

:

CardIssuer

metadata

:

CardMetadata

trackings

:

lista de Track

transactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardTransactionsConnection

transactionsSummary

:

lista de CardTransactionCategorySummary obrigatório

fraudTransactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardFraudTransactionsConnection

queueFraudTransactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardFraudTransactionsConnection


Campos:

id

:

ID obrigatório

sensitive

(


keyId:

String

)

:

String

last4

:

String

expiry

:

CardExpiry

holder

:

CardHolder

billingAddress

:

Address

status

:

CardStatusInterface obrigatório

usageConstraints

:

CardUsageConstraints

availableServices

:

lista de CardHolderService obrigatório

usedServices

:

lista de CardHolderService obrigatório

bin

:

BIN

funding

:

CardFunding

product

:

CardProduct

isInternational

:

Boolean

isCompany

:

Boolean

isToken

:

Boolean

brand

:

CardBrand

allowedCaptures

:

lista de CardCapture obrigatório

usages

:

lista de CardUsage obrigatório

network

:

CardNetwork

issuer

:

CardIssuer

metadata

:

CardMetadata

transactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardTransactionsConnection

transactionsSummary

:

lista de CardTransactionCategorySummary obrigatório

card

:

Card

origin

:

CardTokenOrigin


Campos:

cursor

:

String obrigatório

node

:

CardToken


Campos:

id

:

ID obrigatório

cardHolder

:

CardHolder obrigatório

bin

:

BIN obrigatório

merchant

:

MerchantInsurance

journey

:

Journey obrigatório

startDate

:

Date obrigatório

endDate

:

Date obrigatório

companyInsurance

:

String obrigatório


Campos:

cursor

:

String obrigatório


Campos:

id

:

ID obrigatório

insuranceId

:

ID obrigatório

cardHolder

:

CardHolder obrigatório

bin

:

BIN obrigatório

status

:

CardHolderInsuranceStatus obrigatório

merchant

:

MerchantInsurance

startDate

:

Date obrigatório

endDate

:

Date obrigatório

companyInsurance

:

String

invoiceNumber

:

String

invoiceDate

:

Date

serialNumber

:

String

category

(


language:

String

)

:

ExtendedWarrantyProductCategory

brand

:

String

model

:

String

description

:

String

value

:

Float

extendedWarrantyMonths

:

Int

manufacturerWarrantyMonths

:

Int


Campos:

cursor

:

String obrigatório


Campos:

id

:

ID obrigatório

insuranceId

:

ID obrigatório

cardHolder

:

CardHolder obrigatório

merchant

:

MerchantInsurance

bin

:

BIN obrigatório

status

:

CardHolderInsuranceStatus obrigatório

startDate

:

Date obrigatório

endDate

:

Date obrigatório

companyInsurance

:

String obrigatório

invoiceNumber

:

String obrigatório

invoiceDate

:

Date obrigatório

serialNumber

:

String

category

(


language:

String

)

:

PurchaseProtectionProductCategory

brand

:

String obrigatório

model

:

String obrigatório

description

:

String obrigatório

value

:

Float obrigatório

coverageDays

:

Int


Campos:

cursor

:

String obrigatório


Campos:

id

:

ID obrigatório

openedAt

:

DateTime obrigatório

updatedAt

:

DateTime

cardHolder

:

CardHolder obrigatório

bin

:

BIN obrigatório

status

:

HomeAssistenceStatus obrigatório

type

:

HomeAssistenceType obrigatório

address

:

Address obrigatório

person

:

PersonType obrigatório

providerAssistence

:

ProviderAssistence

description

:

String obrigatório


Campos:

cursor

:

String obrigatório


Campos:

month

:

Int obrigatório

year

:

Int obrigatório


Campos:

maxUsage

:

Int

expiry

:

DateTime

allowedTxAmounts

:

lista de CardCurrencyRange obrigatório

allowedMerchants

:

lista de Merchant obrigatório

allowedMerchantCategories

:

lista de MerchantCategory obrigatório

deniedMerchantCategories

:

lista de MerchantCategory obrigatório


Campos:

id

:

ID obrigatório

name

:

String obrigatório

description

:

String

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

url

:

String

discounts

:

Discounts


Campos:

number

:

String obrigatório

panSizeRange

:

IntRange obrigatório

funding

:

CardFunding obrigatório

product

:

CardProduct obrigatório

country

:

String obrigatório

isInternational

:

Boolean obrigatório

regexp

:

String obrigatório

isCompany

:

Boolean obrigatório

isToken

:

Boolean obrigatório

brand

:

CardBrand obrigatório

allowedCaptures

:

lista obrigatória de CardCapture obrigatório

usages

:

lista obrigatória de CardUsage obrigatório

network

:

CardNetwork obrigatório

issuer

:

CardIssuer obrigatório

metadata

:

CardMetadata obrigatório

services

:

lista obrigatória de CardHolderService obrigatório

creditSettlementBankNumber

:

Int

debitSettlementBankNumber

:

Int


Campos:

id

:

ID obrigatório

code

:

CodeProduct obrigatório

name

:

String obrigatório

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

url

:

String


Campos:

id

:

ID obrigatório

name

:

String obrigatório

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

url

:

String


Campos:

id

:

ID obrigatório

name

:

String obrigatório

code

:

Int obrigatório


Campos:

id

:

ID obrigatório

name

:

String obrigatório

code

:

Int obrigatório


Campos:

id

:

ID obrigatório

name

:

String obrigatório

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

url

:

String


Campos:

id

:

ID obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

legalIds

:

CompanyLegalIds obrigatório

contacts

:

lista obrigatória de CompanyContact obrigatório

addresses

:

lista obrigatória de Address obrigatório

url

:

String

cards

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardsConnection


Campos:

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

backgroundColor

:

String

foregroundColor

:

String

issuer

:

String

brand

:

String

product

:

String


Campos:

type

:

TrackType obrigatório

key

:

String obrigatório

value

:

String obrigatório


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

category

:

MerchantCategory obrigatório

count

:

Int obrigatório

value

:

String obrigatório


Campos:

pageInfo

:

PageInfo obrigatório

edges

:


totalCount

:

Int


Campos:

currency

:

String obrigatório

min

:

Float

max

:

Float


Campos:

id

:

ID obrigatório

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

legalIds

:

CompanyLegalIds obrigatório

contacts

:

lista obrigatória de CompanyContact obrigatório

addresses

:

lista obrigatória de Address obrigatório

url

:

String

categories

:

lista obrigatória de MerchantCategory obrigatório

transactionFees

:

lista de MerchantTransactionFees obrigatório

cardTransactions

(


first:

Int

after:

String

last:

Int

before:

String

)

:

CardTransactionsConnection


Campos:

id

:

ID obrigatório

iso

:

Int obrigatório

name

(


language:

String

)

:

String obrigatório

image

(


width:

Int

height:

Int

mimeType:

String

)

:

ImageUrl

transactionFees

:

lista de MerchantTransactionFees obrigatório

merchants

(


first:

Int

after:

String

last:

Int

before:

String

)

:

MerchantsConnection


Campos:

holderOrAdditional

:

Int

companion

:

Int


Campos:

min

:

Int obrigatório

max

:

Int obrigatório


Campos:

cnpj

:

CNPJ


Campos:

type

:

CompanyContactType obrigatório

context

:

String

value

:

String obrigatório


Campos:

cursor

:

String obrigatório


Campos:

cursor

:

String obrigatório


Campos:

lon

:

Float obrigatório

lat

:

Float obrigatório

alt

:

Float

precision

:

Float


Campos:

userAgent

:

String

brand

:

String

model

:

String

type

:

DeviceType

serialNumber

:

String

imei

:

String

os

:

String


Campos:

timestamp

:

DateTime obrigatório

ip

(


ipv6Mapped:

Boolean

)

:

String

geolocation

:

Geolocation

device

:

Device

merchant

:

Merchant

merchantUserId

:

String

wallet

:

Wallet


Campos:

legalId

:

String obrigatório

name

:

String obrigatório

legalName

:

String obrigatório


Campos:

tripNumber

:

Int

tripLocator

:

String

type

:

TripType

departure

:

Layover

arrival

:

Layover

travelers

:

lista obrigatória de TravelInsuranceTraveler obrigatório


Campos:

leisure

:

Boolean obrigatório

business

:

Boolean obrigatório

adventure

:

Boolean obrigatório


Campos:

companyTravel

:

String

journeyLocator

:

String

trips

:

lista obrigatória de Trip obrigatório

purpose

:

TravelPurpose


Campos:

id

:

ID obrigatório

display

:

String obrigatório


Campos:

id

:

ID obrigatório

display

:

String obrigatório

products

:

lista obrigatória de ProductCategory obrigatório


Campos:

id

:

ID obrigatório

display

:

String obrigatório

products

:

lista obrigatória de ProductCategory obrigatório


Campos:

name

:

String obrigatório

contacts

:

lista obrigatória de PersonContact obrigatório


Campos:

legalId

:

String obrigatório

name

:

String obrigatório

legalName

:

String obrigatório


Campos:

name

:

String obrigatório

code

:

String obrigatório

legalIds

:

LegalIds

contacts

:

lista obrigatória de PersonContact obrigatório

geolocation

:

Geolocation

merchant

:

MerchantAssistence


Campos:

cardUsage

:

CardUsage obrigatório

installmentsRange

:

IntRange

lastModified

:

DateTime obrigatório

expiry

:

DateTime

marketingFee

:

Float obrigatório

marketingFeeCeilValue

:

Float

acquiringServiceFee

:

Float obrigatório

acquiringServiceFeeCeilValue

:

Float

processingCost

:

Float obrigatório

additionalInstallmentCost

:

Float

calc

(


transactionValue:

Float obrigatório

installments:

Int

)

:

MerchantTransactionFeesCalc obrigatório


Campos:

pageInfo

:

PageInfo obrigatório

edges

:

lista de MerchantsEdge

totalCount

:

Int


Campos:

id

:

ID obrigatório

capture

:

CardCapture obrigatório

usage

:

CardUsage

bin

:

BIN

merchant

:

Merchant

currency

:

String obrigatório

value

:

String obrigatório

installments

:

Int obrigatório

timestamp

:

DateTime obrigatório

approvalCode

:

String

prePaid

:

PrePaid


Campos:

cardTransaction

:

CardTransaction obrigatório

last4

:

String

authorization

:

Authorization obrigatório

status

:

CardFraudTransactionStatus obrigatório

reference

:

String

codePos

:

ID obrigatório

liability

:

LiabilityType

codeEic

:

Int obrigatório

flaggedAt

:

DateTime

arn

:

Int obrigatório

initiated

:

InitiatedType obrigatório

settled

:

Date obrigatório


Campos:

cardUsage

:

CardUsage obrigatório

expiry

:

DateTime

installments

:

Int obrigatório

totalCost

:

Float obrigatório

processingCost

:

Float obrigatório

installmentsCost

:

Float obrigatório

marketingCost

:

Float obrigatório

acquiringServiceCost

:

Float obrigatório


Campos:

cursor

:

String obrigatório

node

:

Merchant


Campos:

currency

:

String

balance

:

String


Campos:

date

:

DateTime obrigatório

code

:

ID obrigatório

decision

:

String obrigatório


Campos:

IataCode

:

String

IcaoCode

:

String

city

:

String obrigatório

country

:

String obrigatório

dateTime

:

DateTime obrigatório


Campos:

insuranceId

:

ID obrigatório

description

:

String obrigatório

status

:

CardHolderInsuranceStatus obrigatório


Campos:

cpf

:

CPF obrigatório

rg

:

RG


Campos:

insurances

:

lista de InsuranceTraveler obrigatório

legalIds

:

InsuranceLegalIds obrigatório

name

:

String obrigatório

birthday

:

Date obrigatório

gender

:

Gender obrigatório

pregnancyWeeks

:

Int

maritalStatus

:

MaritalStatus obrigatório

occupation

(


language:

String

)

:

PersonOccupation

address

:

Address obrigatório

contacts

:

lista de PersonContact obrigatório

politicalExposure

:

Boolean obrigatório


Campos:

name

:

String obrigatório

legalName

:

String obrigatório

description

:

String

legalIds

:

LegalIds obrigatório

contact

:

PersonContact obrigatório

address

:

Address obrigatório

url

:

String

iso

:

Int obrigatório

countryCode

:

String obrigatório

idCode

:

String obrigatório


Campos:

id

:

ID obrigatório

capture

:

CardCapture obrigatório

usage

:

CardUsage obrigatório

bin

:

BIN

merchant

:

MerchantP2P obrigatório

currency

:

String obrigatório

value

:

String obrigatório

installments

:

Int obrigatório

timestamp

:

DateTime obrigatório

approvalCode

:

String

prePaid

:

PrePaid


Campos:

clientMutationId

:

String

cardHolder

:

CardHolder

cardTransaction

:

CardTransactionP2P obrigatório


Campos:

name

:

String obrigatório

firstName

:

String

lastName

:

String

displayName

:

String

legalIds

:

LegalIds obrigatório

birthday

:

Date

gender

:

Gender

maritalStatus

:

MaritalStatus

occupation

:

PersonOccupation

contact

:

PersonContact

address

:

Address obrigatório

last4

:

String

bin

:

BIN


Campos:

clientMutationId

:

String

cardHolder

:

CardHolder

cardTransaction

:

CardTransactionP2P obrigatório

receiver

:

Receiver obrigatório


Campos:

name

:

String obrigatório

firstName

:

String

lastName

:

String

displayName

:

String

legalIds

:

LegalIds obrigatório

birthday

:

Date

gender

:

Gender

maritalStatus

:

MaritalStatus

occupation

:

PersonOccupation

contact

:

PersonContact

address

:

Address obrigatório

last4

:

String

bin

:

BIN


Campos:

clientMutationId

:

String

sender

:

Sender obrigatório

cardTransaction

:

CardTransactionP2P obrigatório


Campos:

clientMutationId

:

String

sender

:

Sender obrigatório

cardTransaction

:

CardTransactionP2P obrigatório

receiver

:

Receiver obrigatório


Campos:

clientMutationId

:

String

cardHolder

:

CardHolder

cardTransaction

:

CardTransactionP2P obrigatório


Campos:

clientMutationId

:

String

cardHolder

:

CardHolder

cardTransaction

:

CardTransactionP2P obrigatório





Campos:

status

:

CardStatus obrigatório





Valores possíveis:


PHONE


EMAIL


IM


OTHER





Valores possíveis:


USER


CELLULAR


WIFI


GPS





Valores possíveis:


DESKTOP


LAPTOP


SMARTPHONE


TABLET


E_READER


WATCH


OTHER_WEARABLE


CAR


MOTORCYCLE


BOAT


AIRPLANE


OTHER_VEHICLE


PORTABLE_GAME_CONSOLE


GAME_CONSOLE


CAMERA


SMARTTV


PORTABLE_MEDIA_DEVICE


MEDIA_DEVICE


HOME_APPLIANCE





Valores possíveis:


FEMALE


MALE





Valores possíveis:


DIVORCED


MARRIED


SINGLE


WIDOWED


COMMON_LAW_MARRIED





Valores possíveis:


UNVERIFIED


PENDING


VERIFIED


FAILED


NOT_APPLICABLE





Valores possíveis:


INACTIVE


ACTIVE


SUSPENDED





Valores possíveis:


CREDIT


DEBIT


MULTIPLE


MEAL


FOOD





Valores possíveis:


RECEIVED


HIRED


CANCELED





Valores possíveis:


SERVICE_REQUESTED


TO_BE_CONFIRMED


CONFIRMED


PROVIDER_UNDER_WAY


PROVIDER_ON_SERVICE


COMPLETED





Valores possíveis:


PLUMBER


LOCKSMITH


ELECTRICIAN


GLAZIER





Valores possíveis:


BASIC


BUSINESS


CORPORATE


ELO_PLUS


SHOPPING


GRAFITE


NANQUIM


AWARDS


CORPORATE_EXPENDITURE


TRAVEL


CORPORATE_NANQUIM


GRAFITE_BUSINESS


PAYMENT_OF_SUPPLIERS


GENERAL_USE


GIFT_CARD


PAYMENTS


ELO_PLUS_ENTERPRISE


PREPAID_ENTERPRISE


NANQUIM_CORPORATE_DINERS





Valores possíveis:


SELLER





Valores possíveis:


PHONE


EMAIL


IM


OTHER





Valores possíveis:


APPROVED


REJECTED


RETURNED


REFUNDED


CHARGEBACK





Valores possíveis:


RECEIVED


IN_PROGRESS


PROCESSED


COMPLETED





Valores possíveis:


YES


NO


NOT_APPLICABLE





Valores possíveis:


CARD_ISSUER


CARD_HOLDER





Valores possíveis:


AIR


SEA


ROAD