Introdução

Para atender todas as demandas de nossos clientes, desenvolvemos está API onde é possível realizar transações via cartão de crédito, boleto bancário e PIX e, posteriormente, realizar cancelamentos/estornos e consultas de transações específicas ou por determinados períodos.

Este manual cobre o modelo transacional via API, que realiza a conexão com a Doppus utilizando protocolo HTTPS tendo sua chamada através de Web Services em REST.

Testes na API

Com o objetivo de facilitar a implementação desta API, você pode criar chaves de acesso específicas para realização de testes que, nas chamadas executadas, validam normalmente os parâmetros enviados. No entanto, como resultado, são sempre retornados valores estáticos e ficítios, apenas como exemplo, independente dos parâmetros enviados.

Autenticação

As APIs listadas nessa documentação utilizam autenticação OAuth2. Isso significa que em todas as requisições é necessário informar um token de acesso que será obtido através da autenticação com o seu Client ID e Client Secret.

Token de acesso

Endpoint responsável pela geração do token de acesso utilizado nas demais requisições. Para isso utilizamos HTTP Basic Authentication.

Requisição


POST https://api.doppus.app/4.0/Auth/

Parâmetros


Header Parameters
Content-type
string Obrigatório
Default: "application/x-www-form-urlencoded"
Tipo do conteúdo padrão application/x-www-form-urlencoded.
Authorization
string Obrigatório
Authorization: Basic AuthString
Onde AuthString é a concatenação do seu Client ID, seguido de “:” (dois pontos) mais seu Client Secret, convertidos para base64.

Como exemplo: Para o Client ID igual a client-01 e Client Secret igual a secret-key-02, teremos o texto client-01:secret-key-02 após a concatenação, convertendo para base64 teremos o resultado 2xpZW50LTAxOnNlY3JldC1rZXktMDI=.

Neste caso o Authorization no header da requisição será: Authorization: Basic Y2xpZW50LTAxOnNlY3JldC1rZXktMDI=
Body (x-www-form-urlencoded)
grant_type
string Obrigatório
Default: "client_credentials"
Usar o valor fixo "client_credentials".

Response

200 Retorna o token de acesso

400 Requisição inválida

Request samples

CURL

curl -X POST \
https://api.doppus.app/4.0/Auth \
-H 'authorization: Basic Y2xpZW50LTAxOnNlY3JldC1rZXktMDI=' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials'

Response samples

200: Retorna o token de acesso 400: Requisição inválida

{
    "success": true,
    "error": [],
    "return_type": "OK",
    "message": "Access token successfully generated.",
    "data": {
        "token": "=Q=M.a7267ef8b2423afff9.vHJcjHVZvGld=g=b.p3JduGld=w=Z.wTcM5jgN2DYM=A=M",
        "token_type": "Bearer",
        "expire_in": "2024:02:02 13:17:40"
    }
}

Atualização

Para atualizar os dados de transações existentes, utilize os endpoints descritos abaixo mediante autenticação.

Código de rastreio

Para atualizar o código de rastreio das vendas realizadas, é necessário executar a chamada para o endpoint abaixo informando os dados solicitados.

Requisição


PUT https://api.doppus.app/4.0/Update/tracking/{code}

Parâmetros


Header Parameters
Content-type
string Obrigatório
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization
string Obrigatório
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
code
string(10) Obrigatório
Código da transação de venda.

Request body (raw)
code
string(30) Obrigatório
Código de rastreio da entrega.
url
string(255)
Link de rastreio da entrega.

Response

200 Requisição realizada, observe o status

400 Requisição inválida

401 Autenticação inválida

Request samples

JSON

{
    "code": "DF123456789BR"
}

Response samples

200: Requisição realizada, observe o status 400: Requisição inválida 401: Autenticação inválida

{
    "success": true,
    "error": [],
    "return_type": "OK",
    "message": "Tracking data updated successfully.",
    "data": {
        "status": "updated",
    }
}

Vendas

Consultas a uma transação específica ou transações de um determinado período podem ser realizadas através de requisições aos endpoints abaixo.

Consultar venda

Para realizar uma consulta a uma transação específica basta acionar o endpoint abaixo informando o código da transação.

Requisição


GET https://api.doppus.app/4.0/Sale/checkout/{code}

Parâmetros


Header Parameters
Content-type
string Obrigatório
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization
string Obrigatório
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
code
string(10) Obrigatório
Código da transação de venda.

Response

200 Requisição realizada

400 Requisição inválida

401 Autenticação inválida

Request samples

CURL

curl -X GET \
'https://api.doppus.app/4.0/Sale/checkout/1886BM2F11'

Response samples

200: Requisição realizada 400: Requisição inválida 401: Autenticação inválida

{
    "success": true,
    "error": [],
    "return_type": "OK",
    "message": "Transaction found.",
    "data": {
        "customer": {
            "name": "Elton John",
            "email": "eltonjohn@gmail.com",
            "phone": "(48) 99123-4567",
            "doc_type": "CPF",
            "doc": "919.359.381-59",
            "ip_address": "192.230.12.168"
        },
        "address": {
            "zipcode": "88123-456",
            "address": "Rua dos Artistas",
            "number": "123",
            "neighborhood": "Centro",
            "city": "Florianópolis",
            "state": "SC"
        },
        "items": [
            {
                "code": "58185324",
                "name": "Curso de Guitarra Pro",
                "offer": "80181874",
                "offer_name": "Master",
                "type": "principal",
                "value": 990
            },
            {
                "code": "58181534",
                "name": "Acesso vitalício",
                "offer": "80181434",
                "offer_name": "Principal",
                "type": "orderbump",
                "value": 390
            }
        ],
        "transaction": {
            "code": "163FFS4BA4",
            "registration_date": "2024-02-07 20:45:49",
            "items": 1380,
            "discount": 300,
            "subtotal": 1090,
            "total": 1090,
            "fee_transaction": 149
            "fee_doppus": 54
        },
        "payment": {
            "method": "pix",
            "plots": 1
        },
        "commissions": [
            {
                "code": "23455867",
                "name": "Fulano de Tal",
                "type": "coproducer",
                "value": 119
            }
        ],
        "status": {
            "registration_date": "2020-12-08 12:10:29",
            "code": "approved",
            "message": "Pagamento efetuado.",
            "log": [
                {
                    "registration_date": "2020-12-07 20:45:49",
                    "code": "waiting",
                    "message": "QRCode gerado com sucesso."
                },
                {
                    "registration_date": "2020-12-08 12:10:29",
                    "code": "approved",
                    "message": "Pagamento efetuado."
                }
            ]
        }
    }
}

Consultar vendas por data de transação

Para realizar consultas das transações ocorridas em um determinado período basta acionar o endpoint abaixo informando os parâmetros solicitados.

Requisição


GET https://api.doppus.app/4.0/Sale/checkout

Parâmetros


Header Parameters
Content-type
string Obrigatório
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization
string Obrigatório
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Query parameters
registration_date_start
string(10) Obrigatório
Data inicial do período desejado. Utilize o formato 'YYYY-MM-DD'.
registration_date_end
string(10) Obrigatório
Data final do período desejado. Utilize o formato 'YYYY-MM-DD'.
page
integer
Página requisitada de uma paginação com 50 registros. Se não informar será retornada a primeira página.
status
string(20)
Status desejado. Veja a tabela de status de transação.

Response

200 Requisição realizada

400 Requisição inválida

401 Autenticação inválida

Request samples

CURL

curl -X GET \
'https://api.doppus.app/4.0/Sale/checkout?registration_date_start=2024-02-07& registration_date_end=2024-02-10'

Response samples

200: Requisição realizada 400: Requisição inválida 401: Autenticação inválida

{
    "success": true,
    "error": [],
    "return_type": "OK",
    "message": "Transactions found.",
    "data": [
        {
            "customer": {
                "name": "Elton John",
                "email": "eltonjohn@gmail.com",
                "phone": "(48) 99123-4567",
                "doc_type": "CPF",
                "doc": "919.359.381-59",
                "ip_address": "192.230.12.168"
            },
            "address": {
                "zipcode": "88123-456",
                "address": "Rua dos Artistas",
                "number": "123",
                "neighborhood": "Centro",
                "city": "Florianópolis",
                "state": "SC"
            },
            "items": [
                {
                    "code": "58185324",
                    "name": "Curso de Guitarra Pro",
                    "offer": "80181874",
                    "offer_name": "Master",
                    "type": "principal",
                    "value": 990
                },
                {
                    "code": "58181534",
                    "name": "Acesso vitalício",
                    "offer": "80181434",
                    "offer_name": "Principal",
                    "type": "orderbump",
                    "value": 390
                }
            ],
            "transaction": {
                "items": 1380,
                "discount": 300,
                "subtotal": 1090,
                "total": 1090,
                "fee_transaction": 149
                "fee_{v::appNick": 54
            },
            "payment": {
                "method": "pix",
                "plots": 1
            },
            "status": {
                "registration_date": "2020-12-08 12:10:29",
                "code": "approved",
                "message": "Pagamento efetuado.",
                "log": [
                    {
                        "registration_date": "2020-12-07 20:45:49",
                        "code": "waiting",
                        "message": "QRCode gerado com sucesso."
                    },
                    {
                        "registration_date": "2020-12-08 12:10:29",
                        "code": "approved",
                        "message": "Pagamento efetuado."
                    }
                ]
            }
        },
        {
            "customer": {
                "name": "Charles Chaplin",
                "email": "charleschaplin@gmail.com",
                "phone": "(11) 99123-4567",
                "doc_type": "CPF",
                "doc": "423.352.345-53",
                "ip_address": "232.133.212.61"
            },
            "address": {
                "zipcode": "11223-456",
                "address": "Rua dos Comediantes",
                "number": "321",
                "neighborhood": "Centro",
                "city": "São Paulo",
                "state": "SP"
            },
            "items": [
                {
                    "code": "58185114",
                    "name": "Monte sua Cartola",
                    "offer": "58185114",
                    "offer_name": "Principal",
                    "type": "principal",
                    "value": 2990
                }
            ],
            "transaction": {
                "code": "1353FQ35DF",
                "registration_date": "2024-02-09 10:25:14",
                "items": 2990,
                "subtotal": 2990,
                "interest": 106,
                "total": 3096,
                "fee_transaction": 149
                "fee_doppus": 149
            },
            "payment": {
                "method": "creditcard",
                "plots": 2,
                "creditcard": "425850******5799",
                "brand": "visa",
                "owner": "Charles Chaplin"
            },
            "tracking": {
                "utm_source": "Facebook",
                "utm_campaign": "Teste"
            },
            "status": {
                "registration_date": "2024-02-09 10:25:14",
                "code": "approved",
                "message": "Pagamento efetuado.",
                "log": [
                    {
                        "registration_date": "2024-02-09 10:25:14",
                        "code": "approved",
                        "message": "Pagamento efetuado."
                    }
                ]
            }
        }
    ]
}

Consultar vendas por data do último status

Para realizar consultas das transações que tiveram seu status alterado em um determinado período basta acionar o endpoint abaixo informando os parâmetros solicitados.

Requisição


GET https://api.doppus.app/4.0/Sale/checkout

Parâmetros


Header Parameters
Content-type
string Obrigatório
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization
string Obrigatório
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
last_status_date_start
string(10) Obrigatório
Data inicial do período desejado. Utilize o formato 'YYYY-MM-DD'.
last_status_date_end
string(10) Obrigatório
Data final do período desejado. Utilize o formato 'YYYY-MM-DD'.
page
integer
Página requisitada de uma paginação com 50 registros. Se não informar será retornada a primeira página.
status
string(20)
Status desejado. Veja a tabela de status de transação.

Response

200 Requisição realizada

400 Requisição inválida

401 Autenticação inválida

Request samples

CURL

curl -X GET \
'https://api.doppus.app/4.0/Sale/checkout?last_status_date_start=2024-02-07& last_status_date_end=2024-02-07'

Response samples

200: Requisição realizada 400: Requisição inválida 401: Autenticação inválida

{
    "success": true,
    "error": [],
    "return_type": "OK",
    "message": "Transactions found.",
    "data": [
        {
            "customer": {
                "name": "Elton John",
                "email": "eltonjohn@gmail.com",
                "phone": "(48) 99123-4567",
                "doc_type": "CPF",
                "doc": "919.359.381-59",
                "ip_address": "192.230.12.168"
            },
            "address": {
                "zipcode": "88123-456",
                "address": "Rua dos Artistas",
                "number": "123",
                "neighborhood": "Centro",
                "city": "Florianópolis",
                "state": "SC"
            },
            "items": [
                {
                    "code": "58185324",
                    "name": "Curso de Guitarra Pro",
                    "offer": "80181874",
                    "offer_name": "Master",
                    "type": "principal",
                    "value": 990
                },
                {
                    "code": "58181534",
                    "name": "Acesso vitalício",
                    "offer": "80181434",
                    "offer_name": "Principal",
                    "type": "orderbump",
                    "value": 390
                }
            ],
            "transaction": {
                "items": 1380,
                "discount": 300,
                "subtotal": 1090,
                "total": 1090,
                "fee_transaction": 149
                "fee_doppus": 54
            },
            "payment": {
                "method": "pix",
                "plots": 1
            },
            "status": {
                "registration_date": "2020-12-08 12:10:29",
                "code": "approved",
                "message": "Pagamento efetuado.",
                "log": [
                    {
                        "registration_date": "2020-12-07 20:45:49",
                        "code": "waiting",
                        "message": "QRCode gerado com sucesso."
                    },
                    {
                        "registration_date": "2020-12-08 12:10:29",
                        "code": "approved",
                        "message": "Pagamento efetuado."
                    }
                ]
            }
        },
        {
            "customer": {
                "name": "Charles Chaplin",
                "email": "charleschaplin@gmail.com",
                "phone": "(11) 99123-4567",
                "doc_type": "CPF",
                "doc": "423.352.345-53",
                "ip_address": "232.133.212.61"
            },
            "address": {
                "zipcode": "11223-456",
                "address": "Rua dos Comediantes",
                "number": "321",
                "neighborhood": "Centro",
                "city": "São Paulo",
                "state": "SP"
            },
            "items": [
                {
                    "code": "58185114",
                    "name": "Monte sua Cartola",
                    "offer": "58185114",
                    "offer_name": "Principal",
                    "type": "principal",
                    "value": 2990
                }
            ],
            "transaction": {
                "code": "1353FQ35DF",
                "registration_date": "2024-02-09 10:25:14",
                "items": 2990,
                "subtotal": 2990,
                "interest": 106,
                "total": 3096,
                "fee_transaction": 149
                "fee_doppus": 149
            },
            "payment": {
                "method": "creditcard",
                "plots": 2,
                "creditcard": "425850******5799",
                "brand": "visa",
                "owner": "Charles Chaplin"
            },
            "tracking": {
                "utm_source": "Facebook",
                "utm_campaign": "Teste"
            },
            "status": {
                "registration_date": "2024-02-09 10:25:14",
                "code": "approved",
                "message": "Pagamento efetuado.",
                "log": [
                    {
                        "registration_date": "2024-02-09 10:25:14",
                        "code": "approved",
                        "message": "Pagamento efetuado."
                    }
                ]
            }
        }
    ]
}

Tabelas de códigos

Para referência dos códigos utilizados nessa API você pode consultar as tabelas abaixo.

Status de transação

Tabela de referência dos status de transação.

Código Descrição
testing Transação em período de teste/trial (somente checkout).
waiting Aguardando pagamento via boleto bancário ou PIX.
canceled Pagamento no cartão de crédito recusado (erro permanente).
not_completed Pagamento no cartão de crédito recusado.
approved Transação com pagamento aprovado/realizado.
complete Transação com período de garantia expirado (somente checkout).
reversing Em processo de estorno.
reversed Transação com pagamento estornado.
refunding Em processo de reembolso (somente checkout).
refunded Transação com pagamento reembolsado (somente checkout).
in_dispute Transação em disputa.
chargeback Chargeback realizado pelo comprador.

Retornos de requisição

Tabela de referência dos retornos das requisições a API.

Código Descrição
OK Requisição bem sucedida. Retorno HTTP 200.
CREATED Requisição bem sucedida, objeto criado. Retorno HTTP 201.
NO_CONTENT Requisição bem sucedida, sem retorno de dados. Retorno HTTP 204.
BAD_REQUEST Requisição inválida. Retorno HTTP 400.
UNAUTHORIZED Erro na autenticação. Retorno HTTP 401.
FORBIDDEN Sem permissão para executar. Retorno HTTP 403.
NOT_FOUND Recurso não encontrado. Retorno HTTP 404.
AUTHORIZATION_REQUIRED Autorização requerida. Retorno HTTP 406.
INTERNAL_ERROR Erro interno do servidor. Retorno HTTP 500.
NOT_IMPLEMENTED Recurso não implementado. Retorno HTTP 501.

Tipos de produto

Tabela de referência dos tipos de produtos.

Código Descrição
physical Produto físico.
info Info-produto, produto digital.
orderbump Order bump, produto complementar.
combo Conjunto de produtos (info-produtos).

Meios de pagamento

Tabela de referência dos meios de pagamento de uma transação.

Código Descrição
creditcard Pagamento via cartão de crédito.
billet Pagamento via boleto bancário.
pix Pagamento via PIX.