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
            }
        }
    }
}