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
Default: "application/x-www-form-urlencoded"
Tipo do conteúdo padrão application/x-www-form-urlencoded.
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)
Default: "client_credentials"
Usar o valor fixo "client_credentials".
Response
Request samples
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
"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
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
Código da transação de venda.
Request body (raw)
Código de rastreio da entrega.
Link de rastreio da entrega.
Response
Request samples
Response samples
"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
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
Código da transação de venda.
Response
Request samples
Response samples
"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
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Query parameters
Data inicial do período desejado. Utilize o formato 'YYYY-MM-DD'.
Data final do período desejado. Utilize o formato 'YYYY-MM-DD'.
Página requisitada de uma paginação com 50 registros. Se não informar será retornada a primeira página.
Response
Request samples
'https://api.doppus.app/4.0/Sale/checkout?registration_date_start=2024-02-07& registration_date_end=2024-02-10'
Response samples
"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
Default: "application/json"
Tipo do conteúdo padrão application/json.
Authorization: Bearer AuthString
Onde AuthString é o token de acesso obtido no endpoint de autenticação.
Path parameters
Data inicial do período desejado. Utilize o formato 'YYYY-MM-DD'.
Data final do período desejado. Utilize o formato 'YYYY-MM-DD'.
Página requisitada de uma paginação com 50 registros. Se não informar será retornada a primeira página.
Response
Request samples
'https://api.doppus.app/4.0/Sale/checkout?last_status_date_start=2024-02-07& last_status_date_end=2024-02-07'
Response samples
"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. |