NAV navbar

Botpay API Documentation

version v1
baseUri api.botpay.com.br/v1/
protocols HTTPS

Bem vindo

A API Botpay está organizada com o estilo arquitetural REST (Representational State Transfer). Estruturamos a API de maneira que os recursos oferecidos pela Botpay pudessem ser utilizados de maneira simples e fácil.

Nossa API possui utiliza os códigos de resposta HTTP para indicar os erros e sucessos das requisições. O JSON é retornado por todas as respostas da API, incluindo erros. Isso facilita a identificação do problema ocorrido e consequentemente possibilita maior velocidade na correção de requisições incompatíveis com a API Botpay.


Recursos

A API Botpay possui 6 recursos disponíveis. Veja a seguir uma breve descrição de cada um. Você pode ver a descrição completa de cada recurso, estrutura e exemplos na aba Resources.

Contracts

O recurso `/contracts` possui dois métodos, o `GET` e o `POST`.

O método `GET`, quando requisitado, retorna um array JSON de objetos. Cada objeto representa um cliente e seus atributos os dados deste. Por método `POST` é possível cadastrar um contrato.

O recurso `/contracts` possui ainda um sub-recurso denominado `/{id}`. Este disponibiliza através dos métodos `GET` e `PUT` maneiras de manipular diretamente um cliente por meio de seu ID.

Ao acessar o contrato pelo seu id é possível acessar mais dois métodos: /{id}/status (Para atualização do status do contrato pela IC) e /{id}/signature (Inserir assinaturas referentes aos contratos)


Ambiente de testes

O Botpay possui dois ambientes:

1) o ambiente de produção

APP: app.botpay.com.br API: api.botpay.com.br


2) o ambiente de testes

Homologação: homologacao.botpay.com.br Sandbox: sandbox.botpay.com.br

Para fazer requisições à API você precisa solicitar seu Secret Token no APP. Mas lembre-se: as requisições feitas pela API são consideradas válidas.

Para realizar testes você deve utilizar a Sandbox (que é a versão de testes da API) e o Homologação (que é o ambiente de testes do APP). As requisições realizadas por esse ambiente nunca serão consideradas válidas pelo Botpay e ele só deve ser utilizado para testes de implantação do seu sistema.

Autenticação

Para conseguir fazer requisições à API você precisa:

  1. Ter uma conta no sistema Botpay. Caso não tenha uma conta você precisará criar uma conta Botpay.
  2. Um Secret Token.
  3. Um Acess Token.

O Secret Token e o Acess Token compõem o método de autenticação de chave dupla utilizado pela API Botpay para oferecer maior segurança aos seus usuários. Veja a seguir como esses tokens podem ser gerados por você.


Secret Token

O Secret Token é uma chave privada que pode ser habilitada por você em seu perfil. Depois de gerada ela sempre será a mesma até que você gere uma nova chave. O Secret Token é necessário para gerar um Acess Token, logo, depois de ter seu Secret Token habilitado, você já está apto a gerar o Acess Token.

Como o nome já indica, o Secret Token é secreto e deve ser bem protegido. Preocupada com sua segurança, a Botpay utiliza o algoritmo SHA256 para gerar seu Secret Token. Você também deve fazer a sua parte e manter o seu Secret Token em segredo, pois com ele é possível fazer operações em seu nome. Sendo assim, não compartilhe o mesmo em áreas públicas.

Para gerar um novo Secret Token:

  1. Faça login em sua conta Botpay.
  2. Acesse a página de dados cadastrais, ou acesse este link para ser redirecionado(a) para lá.
  3. Procure a seção intitulada Chaves de API
  4. Clique no botão Criar chave
  5. Clique em Confirmar

Pronto! Você já possui um Secret Token e já pode gerar um Acess Token na API.


Acess Token

O Access Token é uma chave temporária necessária para autenticar cada requisição feita à API. Diferentemente do Secret Token, o Acess Token expira após um determinado período de tempo. Quando isso acontece não será mais possível realizar requisições à API por meio dessa chave expirada, o que torna necessária a geração de um novo Acess Token.

Para gerar um Access Token faça uma requisição do tipo POST ao endereço https://api.botpay.com.br/v1/authenticate com os parâmetros de cabeçalho e corpo a seguir:

Header

CampoValor
Content-Typeapplication/json

Body

CampoValor
email[email protected]
tokenMeuSecretToken

Como resposta a essa requisição será retornado um objeto JSON contendo o seu acess_token, o token_type e o expires_in, momento a partir do qual o acces_token não possuirá mais validade. O expires_in exibe, respectivamente, a data de expiração do acces_token no padrão americano: YYYY-MM-DD h:i:s. Veja o exemplo de resposta a seguir:

Exemplo de Acess Token

{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC
4wLjE6ODAwM1wvYXBpXC9sb2dpbiIsImlhdCI6MTUxODc4NTU2OCwiZXhwIjoxNTE4Nzg
5MTY4LCJuYmYiOjE1MTg3ODU1NjgsImp0aSI6IkdKTXN6VVhYRm1vU29aQ2QiLCJzdWI
iOjEsInBydiI6ImY1N2I4YzQ1N2M0NTlhOTE0MDRjMzhjYThlMWYzY2Y1ZDEyZGVkOGYif
Q.gfgVq9zaEabY-CJU1mlodekxxPuP3006aNH11wN1bbA,
"token_type":"bearer",
"expires_in":"2020-07-29 19:41:53"
}

Pronto! Você já possui um Secret Token e um Access Token, portanto, já pode utilizar os recursos disponíveis na API Botpay.


Como utilizar o Acess Token para autenticar as minhas requisições?

A autenticação acontece por meio de dois parâmetros enviados no cabeçalho (header) de cada requisição realizada. Os primeiro parâmetro é o Authorization. A sua chave (token) deve ser enviada como valor desse parâmetro, precedida da palavra Bearer. O segundo parâmetro é o Content-Type. Como valor desse campo você apenas deve informar application/json


Veja o exemplo:

CampoValor
AuthorizationBearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8
xMjcuMC4wLjE6ODAwM1wvYXBpXC9sb2dpbiIsImlhdCI6MTUxODc4NTU2OCw
iZXhwIjoxNTE4Nzg5MTY4LCJuYmYiOjE1MTg3ODU1NjgsImp0aSI6IkdKTXN
6VVhYRm1vU29aQ2QiLCJzdWIiOjEsInBydiI6ImY1N2I4YzQ1N2M0NTlhOTE
0MDRjMzhjYThlMWYzY2Y1ZDEyZGVkOGYifQ.gfgVq9zaEabY-CJU1mlodekx
xPuP3006aNH11wN1bbA
Content-Typeapplication/json

Erros

Além das descrições dos erros apresentados em Json, o Bankfy retorna os códigos de resposta HTTP convencionais.

CódigoDescrição
200 - OKTudo funcionou como o esperado.
201 - CreatedO pedido foi cumprido, resultando na criação de um novo recurso.
400 - Bad RequestA solicitação não foi aceita, muitas vezes devido a falta de um parâmetro necessário.
401 - UnauthorizedChave de API não fornecida ou inválida.
404 - Not foundRecurso inexistente.
417 - Expectation FailedO servidor não pode atender à requisição por indefinição ou definição incorreta do Content-Type no cabeçalho da requisição.
422 - Unprocessable EntityA requisição foi realizada, mas não pôde prosseguir devido a erros semânticos.
500 - Internal Server ErrorUma mensagem de erro genérica, dada quando uma condição inesperada foi encontrada e nenhuma mensagem mais específica é adequada.

/users

Coleção de usuários


/users get

GET: /users

Retorna os dados de um usuário.


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

(id)

Identificador exclusivo de um contrato (ID). Contém 64 caracteres alfanuméricos. Na URL substitua (id) pelo ID de um contrato antes de iniciar a requisição.

PropertyValue
requiredfalse
typestring
examplesa0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72

Possible Responses

200

401

404

417

500


/users get

CURL EXAMPLE

curl -X GET "api.botpay.com.br/v1/users?(id)=a0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

RESPONSE BODY

200

{
  "id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
  "name": "Diorgenes Ferreira",
  "email": "[email protected]",
  "phone": "(38) 99151-3769",
  "document": "111.111.111-01",
  "genre": "M",
  "birth": "26/05/1993",
  "address": {
    "zip_code": "39400424",
    "street": "R. Juscelino Kubitschek",
    "number": 50,
    "neighborhood": "Morrinhos",
    "city": "Monets Claros",
    "state": "MG",
  }
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "array",
  "items": {
    "name": "items",
    "displayName": "items",
    "typePropertyKind": "TYPE_EXPRESSION",
    "type": "object",
    "properties": [
      {
        "name": "id",
        "displayName": "id",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
        "key": "id"
      },
      {
        "name": "name",
        "displayName": "name",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Nome do usuário",
        "key": "name"
      },
      {
        "name": "email",
        "displayName": "email",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "E-mail do usuário.",
        "key": "email"
      },
      {
        "name": "phone",
        "displayName": "phone",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Telefone do usuário.",
        "key": "phone"
      },
      {
        "name": "document",
        "displayName": "document",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "CPF ou CNPJ do usuário.",
        "key": "document"
      },
      {
        "name": "genre",
        "displayName": "genre",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "char",
        "required": true,
        "description": "Gênero do usuário.",
        "key": "genre"
      },
      {
        "name": "birth",
        "displayName": "birth",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Data de aniversário.",
        "key": "birth"
      },
      {
        "name": "address",
        "displayName": "address",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "object",
        "required": true,
        "description": "Objeto contendo os dados de endereço do usuário.",
        "key": "address"
      },
      {
        "name": "address.zip_code",
        "displayName": "address.zip_code",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "CEP do usuário",
        "key": "address.zip_code"
      },
      {
        "name": "address.street",
        "displayName": "address.street",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Rua do usuário.",
        "key": "address.street"
      },
      [
        {
          "name": "address.number",
          "displayName": "address.number",
          "typePropertyKind": "TYPE_EXPRESSION",
          "type": "string",
          "required": true,
          "description": "Número do usuário."
        },
        {
          "name": "address.number",
          "displayName": "address.number",
          "typePropertyKind": "TYPE_EXPRESSION",
          "type": "string",
          "required": true,
          "description": "Número da casa do usuário."
        }
      ],
      {
        "name": "address.neighborhood",
        "displayName": "address.neighborhood",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Bairro do usuário.",
        "key": "address.neighborhood"
      },
      {
        "name": "address.city",
        "displayName": "address.city",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Cidade do usuário.",
        "key": "address.city"
      },
      {
        "name": "address.state",
        "displayName": "address.state",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Estado do usuário.",
        "key": "address.state"
      }
    ]
  }
}

/users post

POST: /users

Via método post é possível adicionar um usuário.


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

422

500


/users post

CURL EXAMPLE

curl -X POST "api.botpay.com.br/v1/users" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

REQUEST BODY

Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "id",
      "displayName": "id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "id"
    },
    {
      "name": "name",
      "displayName": "name",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Nome do usuário",
      "key": "name"
    },
    {
      "name": "email",
      "displayName": "email",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "E-mail do usuário.",
      "key": "email"
    },
    {
      "name": "phone",
      "displayName": "phone",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Telefone do usuário.",
      "key": "phone"
    },
    {
      "name": "document",
      "displayName": "document",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "CPF ou CNPJ do usuário.",
      "key": "document"
    },
    {
      "name": "genre",
      "displayName": "genre",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "char",
      "required": true,
      "description": "Gênero do usuário.",
      "key": "genre"
    },
    {
      "name": "birth",
      "displayName": "birth",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data de aniversário.",
      "key": "birth"
    },
    {
      "name": "address",
      "displayName": "address",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "object",
      "required": true,
      "description": "Objeto contendo os dados de endereço do usuário.",
      "key": "address"
    },
    {
      "name": "address.zip_code",
      "displayName": "address.zip_code",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "CEP do usuário",
      "key": "address.zip_code"
    },
    {
      "name": "address.street",
      "displayName": "address.street",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Rua do usuário.",
      "key": "address.street"
    },
    [
      {
        "name": "address.number",
        "displayName": "address.number",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Número do usuário."
      },
      {
        "name": "address.number",
        "displayName": "address.number",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Número da casa do usuário."
      }
    ],
    {
      "name": "address.neighborhood",
      "displayName": "address.neighborhood",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Bairro do usuário.",
      "key": "address.neighborhood"
    },
    {
      "name": "address.city",
      "displayName": "address.city",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Cidade do usuário.",
      "key": "address.city"
    },
    {
      "name": "address.state",
      "displayName": "address.state",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Estado do usuário.",
      "key": "address.state"
    }
  ]
}

RESPONSE BODY

200

{
  "name": "Diorgenes Ferreira",
  "email": "[email protected]",
  "phone": "(38) 99151-3769",
  "document": "111.111.111-01",
  "genre": "M",
  "birth": "26/05/1993",
  "address": {
    "zip_code": "39400424",
    "street": "R. Juscelino Kubitschek",
    "number": 50,
    "neighborhood": "Morrinhos",
    "city": "Monets Claros",
    "state": "MG",
  }
}
Type
any

/users put

PUT: /users

Via método put é possível atualizar os dados do contrato. Deve-se passar o id do usuário no endpoint users/{id}


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

422

500


/users put

CURL EXAMPLE

curl -X PUT "api.botpay.com.br/v1/users" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

REQUEST BODY

Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "id",
      "displayName": "id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "id"
    },
    {
      "name": "name",
      "displayName": "name",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Nome do usuário",
      "key": "name"
    },
    {
      "name": "email",
      "displayName": "email",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "E-mail do usuário.",
      "key": "email"
    },
    {
      "name": "phone",
      "displayName": "phone",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Telefone do usuário.",
      "key": "phone"
    },
    {
      "name": "document",
      "displayName": "document",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "CPF ou CNPJ do usuário.",
      "key": "document"
    },
    {
      "name": "genre",
      "displayName": "genre",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "char",
      "required": true,
      "description": "Gênero do usuário.",
      "key": "genre"
    },
    {
      "name": "birth",
      "displayName": "birth",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data de aniversário.",
      "key": "birth"
    },
    {
      "name": "address",
      "displayName": "address",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "object",
      "required": true,
      "description": "Objeto contendo os dados de endereço do usuário.",
      "key": "address"
    },
    {
      "name": "address.zip_code",
      "displayName": "address.zip_code",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "CEP do usuário",
      "key": "address.zip_code"
    },
    {
      "name": "address.street",
      "displayName": "address.street",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Rua do usuário.",
      "key": "address.street"
    },
    [
      {
        "name": "address.number",
        "displayName": "address.number",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Número do usuário."
      },
      {
        "name": "address.number",
        "displayName": "address.number",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Número da casa do usuário."
      }
    ],
    {
      "name": "address.neighborhood",
      "displayName": "address.neighborhood",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Bairro do usuário.",
      "key": "address.neighborhood"
    },
    {
      "name": "address.city",
      "displayName": "address.city",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Cidade do usuário.",
      "key": "address.city"
    },
    {
      "name": "address.state",
      "displayName": "address.state",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Estado do usuário.",
      "key": "address.state"
    }
  ]
}

RESPONSE BODY

Type
any

/user/{id}/balance

Retorna o saldo do usuário informado

/user/{id}/digital_account/add

Adiciona uma conta digital ao usuário informado.


/user/{id}/digital_account/add post

POST: /user/{id}/digital_account/add

Via método post é possível adicionar uma subconta.


URI Parameters

id

PropertyValue
requiredtrue
typestring

Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

422

500


/user/{id}/digital_account/add post

CURL EXAMPLE

curl -X POST "api.botpay.com.br/v1/user/{id}/digital_account/add" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

REQUEST BODY

Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "id",
      "displayName": "id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "id"
    },
    {
      "name": "price_range",
      "displayName": "price_range",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Valor de movimentação da conta.('Até R$ 100,00', 'Entre R$ 100,00 e R$ 500,00', 'Mais que R$ 500,00')",
      "key": "price_range"
    },
    {
      "name": "business_type",
      "displayName": "business_type",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do negócio.",
      "key": "business_type"
    },
    {
      "name": "person_type",
      "displayName": "person_type",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "'Pessoa Física' ou 'Pessoa Jurídica'",
      "key": "person_type"
    },
    {
      "name": "cnpj",
      "displayName": "cnpj",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "(Apenas se for Pessoa Jurídica). CNPJ do usuário.",
      "key": "cnpj"
    },
    {
      "name": "cpf",
      "displayName": "cpf",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "(Apenas se for Pessoa Física). CPF do usuário.",
      "key": "cpf"
    },
    {
      "name": "company_name",
      "displayName": "company_name",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "(Apenas se for Pessoa Jurídica). Nome da empresa.",
      "key": "company_name"
    },
    {
      "name": "name",
      "displayName": "name",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "object",
      "required": true,
      "description": "(Apenas se for Pessoa Física). Nome completo do usuário.",
      "key": "name"
    },
    {
      "name": "address",
      "displayName": "address",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Logradouro do endereço do usuário.",
      "key": "address"
    },
    {
      "name": "cep",
      "displayName": "cep",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "CEP do endereço do usuário.",
      "key": "cep"
    },
    {
      "name": "city",
      "displayName": "city",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Cidade do endereço do usuário.",
      "key": "city"
    },
    {
      "name": "state",
      "displayName": "state",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Estado do endereço do usuário.",
      "key": "state"
    },
    {
      "name": "telephone",
      "displayName": "telephone",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Telefone de contato do usuário.",
      "key": "telephone"
    },
    {
      "name": "resp_name",
      "displayName": "resp_name",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "(Apenas se for Pessoa Jurídica). Nome do responsável da empresa.",
      "key": "resp_name"
    },
    {
      "name": "resp_cpf",
      "displayName": "resp_cpf",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "(Apenas se for Pessoa Física). CPF do responsável pela conta.",
      "key": "resp_cpf"
    },
    {
      "name": "bank",
      "displayName": "bank",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Banco",
      "key": "bank"
    },
    {
      "name": "bank_ag",
      "displayName": "bank_ag",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Agência da Conta.",
      "key": "bank_ag"
    },
    {
      "name": "account_type",
      "displayName": "account_type",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "'Corrente', 'Poupança'",
      "key": "account_type"
    },
    {
      "name": "bank_cc",
      "displayName": "bank_cc",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Número da Conta.",
      "key": "bank_cc"
    }
  ]
}

RESPONSE BODY

200

{
  "name": "Diorgenes Ferreira",
  "email": "[email protected]",
  "phone": "(38) 99151-3769",
  "document": "111.111.111-01",
  "genre": "M",
  "birth": "26/05/1993",
  "address": {
    "zip_code": "39400424",
    "street": "R. Juscelino Kubitschek",
    "number": 50,
    "neighborhood": "Morrinhos",
    "city": "Monets Claros",
    "state": "MG",
  }
}
Type
any

/{id}

(id) representa o ID de um contrato. Deve ser passado via método GET.


/{id} get

GET: /{id}

Retorna os dados de um contrato específico pertencente a uma empresa. (id)


URI Parameters

id

PropertyValue
requiredtrue
typestring

Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

(id)

Identificador exclusivo de um contrato (ID). Contém 64 caracteres alfanuméricos. Na URL substitua (id) pelo ID de um contrato antes de iniciar a requisição.

PropertyValue
requiredfalse
typestring
examplesa0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72

Possible Responses

200

400

401

404

417

500


/{id} get

CURL EXAMPLE

curl -X GET "api.botpay.com.br/v1/{id}?(id)=a0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

RESPONSE BODY

200

{ 
  "client_id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
  "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
  "status": "approved",
  "date": "2020-10-10",
  "description": "Contrato teste",
  "amount": "5000.00",
  "installments": 50
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "client_id",
      "displayName": "client_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "client_id"
    },
    {
      "name": "ic_id",
      "displayName": "ic_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único da instituição de crédito.",
      "key": "ic_id"
    },
    {
      "name": "status",
      "displayName": "status",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Status do contrato.",
      "key": "status"
    },
    {
      "name": "date",
      "displayName": "date",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data da criação do contrato.",
      "key": "date"
    },
    {
      "name": "description",
      "displayName": "description",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do contrato.",
      "key": "description"
    },
    {
      "name": "amount",
      "displayName": "amount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor do contrato.",
      "key": "amount"
    },
    {
      "name": "installments",
      "displayName": "installments",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Número de parcelas.",
      "key": "installments"
    }
  ]
}

/contracts

Coleção de contratos relacionados a uma empresa


/contracts get

GET: /contracts

Retorna todos os contratos relacionados a uma empresa.


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

500


/contracts get

CURL EXAMPLE

curl -X GET "api.botpay.com.br/v1/contracts" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

RESPONSE BODY

200

[
  {
    "client_id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
    "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
    "requester_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
    "status": "approved",
    "date": "2020-10-10",
    "description": "Contrato teste",
    "amount": "5000.00",
    "installments": 50,
    "interest_rate": 0,
    "assured": 0,
    "discount": 0,
    "financed_value": 0,
    "iof": 0,
    "installments_fee":{
      "fines": 0,
      "interest": 0,
      "early_payment_discounts": 0,
      "early_payment_discount_days": 0,
    }
  },
  {
    "client_id": "1b6453892473a467d07372d45eb05abc2031647a",
    "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
    "requester_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
    "status": "processing_payment",
    "date": "2020-10-10",
    "description": "Contrato teste",
    "amount": "5000.00",
    "installments": 50,
    "interest_rate": 0,
    "assured": 0,
    "discount": 0,
    "financed_value": 0,
    "iof": 0,
    "installments_fee":{
      "fines": 0,
      "interest": 0,
      "early_payment_discounts": 0,
      "early_payment_discount_days": 0,
    }
  }
]
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "array",
  "items": {
    "name": "items",
    "displayName": "items",
    "typePropertyKind": "TYPE_EXPRESSION",
    "type": "object",
    "properties": [
      {
        "name": "client_id",
        "displayName": "client_id",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
        "key": "client_id"
      },
      {
        "name": "ic_id",
        "displayName": "ic_id",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Identificador único da instituição de crédito.",
        "key": "ic_id"
      },
      {
        "name": "status",
        "displayName": "status",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Status do contrato.",
        "key": "status"
      },
      {
        "name": "date",
        "displayName": "date",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Data da criação do contrato.",
        "key": "date"
      },
      {
        "name": "description",
        "displayName": "description",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Descrição do contrato.",
        "key": "description"
      },
      {
        "name": "amount",
        "displayName": "amount",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Valor do contrato.",
        "key": "amount"
      },
      {
        "name": "installments",
        "displayName": "installments",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "integer",
        "required": true,
        "description": "Número de parcelas.",
        "key": "installments"
      },
      {
        "name": "requester_id",
        "displayName": "requester_id",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "string",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "requester_id"
      },
      {
        "name": "interest_rate",
        "displayName": "interest_rate",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "interest_rate"
      },
      {
        "name": "assured",
        "displayName": "assured",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "assured"
      },
      {
        "name": "discount",
        "displayName": "discount",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "discount"
      },
      {
        "name": "financed_value",
        "displayName": "financed_value",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "financed_value"
      },
      {
        "name": "iof",
        "displayName": "iof",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Identificador único do solicitante.",
        "key": "iof"
      },
      {
        "name": "installments_fee",
        "displayName": "installments_fee",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "object",
        "required": true,
        "description": "Dados para geração de parcelas",
        "key": "installments_fee"
      },
      {
        "name": "installments_fee.fines",
        "displayName": "installments_fee.fines",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Multa",
        "key": "installments_fee.fines"
      },
      {
        "name": "installments_fee.interest",
        "displayName": "installments_fee.interest",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Juros",
        "key": "installments_fee.interest"
      },
      {
        "name": "installments_fee.early_payment_discounts",
        "displayName": "installments_fee.early_payment_discounts",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Desconto em pagamento adiantado.",
        "key": "installments_fee.early_payment_discounts"
      },
      {
        "name": "installments_fee.early_payment_discount_days",
        "displayName": "installments_fee.early_payment_discount_days",
        "typePropertyKind": "TYPE_EXPRESSION",
        "type": "float",
        "required": true,
        "description": "Dias para desconto em pagamento adiantado.",
        "key": "installments_fee.early_payment_discount_days"
      }
    ]
  }
}

/contracts post

POST: /contracts

Via método post é possível adicionar um contrato.


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

422

500


/contracts post

CURL EXAMPLE

curl -X POST "api.botpay.com.br/v1/contracts" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

REQUEST BODY

{
  "description": "Contrato teste",
  "date": "10/10/2020",
  "amount": 5000,
  "installments": 50, 
  "ic_id": 6,
  "requester_id":"c1dfd96eea8cc2b62785275bca38ac261256e278"
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "description",
      "displayName": "description",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do contrato",
      "key": "description"
    },
    {
      "name": "date",
      "displayName": "date",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data do contrato.",
      "key": "date"
    },
    {
      "name": "amount",
      "displayName": "amount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor do contrato.",
      "key": "amount"
    },
    {
      "name": "installments",
      "displayName": "installments",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Número de parcelas.",
      "key": "installments"
    },
    {
      "name": "ic_id",
      "displayName": "ic_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Identificador da instituição de crédito.",
      "key": "ic_id"
    },
    {
      "name": "requester_id",
      "displayName": "requester_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do solicitante.",
      "key": "requester_id"
    }
  ]
}

RESPONSE BODY

200

{ 
  "client_id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
  "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
  "status": "approved",
  "date": "2020-10-10",
  "description": "Contrato teste",
  "amount": "5000.00",
  "installments": 50,
  "requester_id": "c1dfd96eea8cc2b62785275bca38ac261256e278"
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "client_id",
      "displayName": "client_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "client_id"
    },
    {
      "name": "ic_id",
      "displayName": "ic_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único da instituição de crédito.",
      "key": "ic_id"
    },
    {
      "name": "status",
      "displayName": "status",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Status do contrato.",
      "key": "status"
    },
    {
      "name": "date",
      "displayName": "date",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data da criação do contrato.",
      "key": "date"
    },
    {
      "name": "description",
      "displayName": "description",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do contrato.",
      "key": "description"
    },
    {
      "name": "amount",
      "displayName": "amount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor do contrato.",
      "key": "amount"
    },
    {
      "name": "installments",
      "displayName": "installments",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Número de parcelas.",
      "key": "installments"
    },
    {
      "name": "requester_id",
      "displayName": "requester_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do solicitante.",
      "key": "requester_id"
    }
  ]
}

/contracts put

PUT: /contracts

Via método put é possível atualizar os dados do contrato. Deve-se passar o id do contrato no endpoint contracts/{id}


Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200

401

404

417

422

500


/contracts put

CURL EXAMPLE

curl -X PUT "api.botpay.com.br/v1/contracts" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

REQUEST BODY

{
  "interest_rate": 0.2,
  "assured": true,
  "discount": 0.02, 
  "financed_value": 5000,
  "iof": 0.001,
  "installments_fee":{
    "fines": 0,
    "interest": 0,
    "early_payment_discounts": 0,
    "early_payment_discount_days": 0,
  }
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "{id}",
      "displayName": "{id}",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificadro do contrato.",
      "key": "{id}"
    },
    {
      "name": "interest_rate",
      "displayName": "interest_rate",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Taxa de jurus.",
      "key": "interest_rate"
    },
    {
      "name": "assured",
      "displayName": "assured",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "boolean",
      "required": true,
      "description": "Seguro.",
      "key": "assured"
    },
    {
      "name": "discount",
      "displayName": "discount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Desconto.",
      "key": "discount"
    },
    {
      "name": "financed_value",
      "displayName": "financed_value",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor final do financiamento.",
      "key": "financed_value"
    },
    {
      "name": "iof",
      "displayName": "iof",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Taxa IOF.",
      "key": "iof"
    },
    {
      "name": "installments_fee",
      "displayName": "installments_fee",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "object",
      "required": true,
      "description": "Taxas para geração das parcelas",
      "key": "installments_fee"
    },
    {
      "name": "installments_fee.fines",
      "displayName": "installments_fee.fines",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Multa",
      "key": "installments_fee.fines"
    },
    {
      "name": "installments_fee.interest",
      "displayName": "installments_fee.interest",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Juros",
      "key": "installments_fee.interest"
    },
    {
      "name": "installments_fee.early_payment_discounts",
      "displayName": "installments_fee.early_payment_discounts",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Desconto para pagamento antecipado.",
      "key": "installments_fee.early_payment_discounts"
    },
    {
      "name": "installments_fee.early_payment_discount_days",
      "displayName": "installments_fee.early_payment_discount_days",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Dias para desconto em pagamento antecipado.",
      "key": "installments_fee.early_payment_discount_days"
    }
  ]
}

RESPONSE BODY

200

{ 
  "client_id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
  "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
  "status": "approved",
  "date": "2020-10-10",
  "description": "Contrato teste",
  "amount": "5000.00",
  "installments": 50
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "client_id",
      "displayName": "client_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "client_id"
    },
    {
      "name": "ic_id",
      "displayName": "ic_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único da instituição de crédito.",
      "key": "ic_id"
    },
    {
      "name": "status",
      "displayName": "status",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Status do contrato.",
      "key": "status"
    },
    {
      "name": "date",
      "displayName": "date",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data da criação do contrato.",
      "key": "date"
    },
    {
      "name": "description",
      "displayName": "description",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do contrato.",
      "key": "description"
    },
    {
      "name": "amount",
      "displayName": "amount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor do contrato.",
      "key": "amount"
    },
    {
      "name": "installments",
      "displayName": "installments",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Número de parcelas.",
      "key": "installments"
    }
  ]
}

(id) representa o ID de um contrato. Deve ser passado via método GET.


/{id} get

GET: /contracts/{id}

Retorna os dados de um contrato específico pertencente a uma empresa. (id)


URI Parameters

id

PropertyValue
requiredtrue
typestring

Header Parameters

Authorization

Utilize esse campo para enviar um token válido. Inicie o preenchimento do campo com o termo Bearer e em seguida o token.

PropertyValue
requiredtrue
typestring
examplesBearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6

Content-Type

Neste campo apenas preencha application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

(id)

Identificador exclusivo de um contrato (ID). Contém 64 caracteres alfanuméricos. Na URL substitua (id) pelo ID de um contrato antes de iniciar a requisição.

PropertyValue
requiredfalse
typestring
examplesa0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72

Possible Responses

200

400

401

404

417

500


/{id} get

CURL EXAMPLE

curl -X GET "api.botpay.com.br/v1/contracts/{id}?(id)=a0bd94956b9f42cde97b95b10ad65bbaf2a8d87142caf819e4c099ed75126d72" \
	-H "Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Authorization: Bearer $2y$10$AJ9nr0NAUcl3VskG/VoVK.T0g3KmG9DZXkuyKk4PBsIuEoa9s7ER6
Content-Type: application/json

RESPONSE BODY

200

{ 
  "client_id": "77de68daecd823babbb58edb1c8e14d7106e83bb",
  "ic_id": "c1dfd96eea8cc2b62785275bca38ac261256e278",
  "status": "approved",
  "date": "2020-10-10",
  "description": "Contrato teste",
  "amount": "5000.00",
  "installments": 50
}
Type
{
  "name": "type",
  "displayName": "type",
  "typePropertyKind": "TYPE_EXPRESSION",
  "type": "object",
  "properties": [
    {
      "name": "client_id",
      "displayName": "client_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único do cliente. Gerado automaticamente pelo sistema.",
      "key": "client_id"
    },
    {
      "name": "ic_id",
      "displayName": "ic_id",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Identificador único da instituição de crédito.",
      "key": "ic_id"
    },
    {
      "name": "status",
      "displayName": "status",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Status do contrato.",
      "key": "status"
    },
    {
      "name": "date",
      "displayName": "date",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Data da criação do contrato.",
      "key": "date"
    },
    {
      "name": "description",
      "displayName": "description",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "string",
      "required": true,
      "description": "Descrição do contrato.",
      "key": "description"
    },
    {
      "name": "amount",
      "displayName": "amount",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "float",
      "required": true,
      "description": "Valor do contrato.",
      "key": "amount"
    },
    {
      "name": "installments",
      "displayName": "installments",
      "typePropertyKind": "TYPE_EXPRESSION",
      "type": "integer",
      "required": true,
      "description": "Número de parcelas.",
      "key": "installments"
    }
  ]
}

/contracts/{id}/status

Atualiza o status de um contrato, podendo aprovar (APPROVED) ou rejeitar (DECLINED).

/contracts/{id}/signature

Insere assinaturas ao contrato.

/contracts/{id}/ledger

Visualiza o ledger de transações relacionadas a um contrato.

/contracts/{id}/file

Adiciona um arquivo do contrato físico ao sistema.