Histórico de Transações

Acesse conteúdo individualizado ou consolidado de transações de portadores que concederam acesso a seus dados para aprimorar experiência de uso por cartão, emissor ou estabelecimento comercial.

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

As transações podem ter origem de um determinado cartão ou comerciante específico. Todas as transações precisam de permissão para serem consultadas. E a partir da identificação do CardHolder ou Merchant o serviço irá filtrar e retornar apenas as transações permitidas a este usuário.

As transações são retornadas em consultas derivadas (enraizadas) em outros tipos mais específicos, tais como:

CardHolder Card { transactionsSummary }: resumo de transações de um cartão específico.
CardHolder Card { transactions }: transações de um cartão específico.
Merchant { cardTransactions }: transações de um dado comerciante.

Todas as consultas são sujeitas às permissões de acesso:

Um comerciante (Merchant) não tem permissão para transações de outros comerciantes. Um portador (CardHolder) não tem permissão para transações de outros portadores. As consultas também são filtradas implicitamente pelas permissões de acesso, ou seja:

Um comerciante ao consultar as transações de um dado cartão, só receberá em retorno suas próprias transações e não de outros comerciantes. Um portador ao consultar as transações de um dado comerciante, só receberá em retorno suas próprias transações e não de outros portadores. O acesso direto via node(id) também é sujeito às mesmas permissões, só entidades relacionadas (comerciante ou portador) podem ter acesso à transação.

Abaixo temos um exemplo da query transactionsSummary que permite trazer os resumos de transações dos cartões de um user (usuário identificado pelo seu access_token na HEADER da requisição)

query {
    user {
        cardHolders {
            cards {
                edges {
                    node {
                        transactionsSummary(filter: {
                            startTimestamp: "2017-10-01T00:00:00Z", 
                            endTimestamp: "2017-12-07T00:00:00Z",
                            includeMerchantCategories:[{ min:7, max:8 }], 
                            excludeMerchantCategories:[{ min:1, max:6 }]
                        }) 
                        {
                            category{ id, iso , name }, 
                            count, 
                            value
                        }
                    }
                }
            }
        }
    }
}

Caso você precise de mais informações sobre a transação utilize a query transactions, como abaixo:

query {
    user {
        id, 
        firstName,
        lastName, 
        cardHolders {
            companyName, 
            companyLegalName, 
            cards { 
                edges { 
                    node { 
                        transactions(filter: { 
                            startTimestamp: "2017-11-21T00:00:00Z", 
                            endTimestamp: "2017-12-30T00:00:00Z",
                            includeMerchantCategories: [{ min: 1,max: 3 }, { min: 4, max: 10 }], 
                            excludeMerchantCategories: [{ min: 10, max: 10 }], 
                            status: APPROVED
                        }) 
                        {
                            pageInfo { hasPreviousPage },
                            edges { 
                                cursor, 
                                node { 
                                    id, 
                                    bin { 
                                        number, 
                                        isInternational, 
                                        product { 
                                            id, 
                                            name
                                        }, 
                                        country
                                    }, 
                                    status, 
                                    capture { id, name }, 
                                    currency, 
                                    value, 
                                    installments, 
                                    timestamp
                                }
                            }, 
                            totalCount
                        }
                    }
                }
            }
        }
    }
}

E para buscar transações vindas de um Merchant é possível utilizar a query cardTransactions também:

query {
    user {
        id, 
        firstName, 
        lastName, 
        merchants { 
            id, 
            name, 
            cardTransactions(filter: { 
                startTimestamp: "2017-11-10T00:00:00Z", 
                endTimestamp: "2017-12-30T00:00:00Z",
                includeMerchantCategories: [{ min:1, max:3 }, { min:4, max:10 }], 
                excludeMerchantCategories: [{ min:10, max:30 }], 
                status: APPROVED 
            }) 
            {
                pageInfo { hasPreviousPage },
                edges { 
                    cursor,                                        
                    node {
                        id,
                        bin {
                            number,
                            isInternational,
                            product { id, name }, 
                            country 
                        }, 
                        status, 
                        capture { id, name },
                        currency,
                        value,
                        installments,
                        timestamp
                    }
                },
                totalCount
            }
        }
    }
}



Query (consulta) cartões Card

Se executado por um portador de cartão, serão retornados todos os cartões que este possui. O mesmo que consultar os cartões deste portador.

Se executado por um emissor de cartão, serão retornados todos os cartões emitidos por este. O mesmo que consultar cartões emitidos por este emissor.

Em outros casos, como ao ser executado por um comerciante, um erro será produzido.

Argumentos:

first: Int

Limita a lista às primeiras entradas, caso provido. Se for null, a listagem é ilimitada. Utilizado em navegação para frente.

after: String

Inicia após o cursor opaco, se provido. Utilizado em navegação para frente.

last: Int

Limita a lista às últimas entradas, caso provido. Se for null, a listagem é ilimitada. Utilizado em navegação para trás.

before: String

Inicia antes do cursor opaco, se provido. Utilizado em navegação para trás.

filter: CardFilterInput

Aplica filtro, se provido.






Entrada que filtra cartões a serem retornados

Campos:

status

:

CardStatus

Se não-nula, retorna apenas cartões com dado estado. Exemplo: ACTIVE Se null, retorna cartões em todos os estados.


cardHolderServiceId

:

ID

Se não-nula, retorna apenas cartões oferecendo um certo serviço (CardHolderService), referente a availableServices. Se null, retorna cartões que ofereçam quaisquer serviços.


funding

:

CardFunding

Se não-nula, retorna apenas cartões com dado financiamento. Exemplo: DEBIT Se null, retorna cartões em todos os tipos.


cardProductId

:

ID

Se não-nula, retorna apenas cartões de um certo produto (CardProduct). Se null, retorna cartões de todos os produtos.


cardBrandId

:

ID

Se não-nula, retorna apenas cartões de uma certa bandeira (CardBrand). Se null, retorna cartões de todas as bandeiras.

NOTA: em cardBrandId só possuí bandeira ELO disponível.


cardCaptureId

:

ID

Se não-nula, retorna apenas cartões que permitem uma dada captura (CardCapture). Se null, retorna cartões de todas as capturas.


cardUsageId

:

ID

Se não-nula, retorna apenas cartões de um certo uso (CardUsage). Se null, retorna cartões de todos os usos.


cardNetworkId

:

ID

Se não-nula, retorna apenas cartões de um certa rede (CardNetwork). Se null, retorna cartões de todas as redes.


cardIssuerId

:

ID

Se não-nula, retorna apenas cartões de um certo emissor (CardIssuer). Se null, retorna cartões de todos os emissores.






PageInfo compatível com Relay.

Campos:

hasPreviousPage

:

Boolean obrigatório

hasNextPage

:

Boolean obrigatório

startCursor

:

String

endCursor

:

String


Aresta de conexão contendo um Card em conformidade com o Relay.

Campos:

cursor

:

String obrigatório

Cursor opaco para ser usado com queries (consultas) after ou before.


node

:

Card

O objeto Card que compõe essa aresta conexão.



Conexão de Card em conformidade com o Relay.

Campos:

pageInfo

:

PageInfo obrigatório

Conexão de Card em conformidade com o Relay.


edges

:

list de CardsEdge

Lista de arestas que compõem esta conexão.


totalCount

:

Int

Contagem total de objetos nesta conexão.

Arestas são limitadas a cursores before e after, assim como primeiras e últimas contagens. Assim o tamanho de arestas é possivelmente menor que a conexão como um todo.

totalCount, se não for null, indica o número total de itens na conexão considerando-se o filtro.





Estado do cartão

Cada estado possui seu próprio payload em implementações específicas de CardStatusInterface. Use fragmentos para consultar seus campos.


Valores possíveis:


INACTIVE

Cartão não foi ativado


ACTIVE

Cartão foi ativado e está pronto para o uso


SUSPENDED

Cartão foi suspenso e não pode ser utilizado




Financiamento do cartão: crédito, débito, múltiplo, Alimentação e Refeição.


Valores possíveis:


CREDIT

Cartão de Crédito


DEBIT

Cartão de Débito


MULTIPLE

Cartão de Crédito e Débito (ambos simultaneamente).


MEAL

Cartão de benefícios (Refeição)


FOOD

Cartão de benefícios (Alimentação)