NAV Navbar
json

Introdução

Passo a Passo

Integre seu software e tenha acesso às funcionalidades da Easypag, de forma simples e prática, com API moderna e respostas rápidas.

Confira o passo a passo que fizemos para guía-lo com a integração.

Ambientes da API

Ao utilizar a API, cerfique-se de:

Ambiente URL Descrição
Sandbox https://sandbox.easypag.com.br/api/v1 Ambiente para testes e homologação
Produção https://app.easypag.com.br/api/v1 Ambiente de produção

Cadastro Sandbox

Para efetuar o cadastro em nosso ambiente de testes Sandbox, clique aqui

Autenticação Basic

Todos os endpoints da API são autenticados via Basic Auth. Confira em nosso passo a passo como obter e utilizar as credenciais.

Parâmetros Basic

Parâmetro Descrição Obrigatório
Username O Client ID da sua conta de usuário Sim
Password O Client Secret da sua conta de usuário Sim

Clientes

Listar todos os clientes

Resposta

HTTP/1.1 200 Ok
{
  "page": 1,
  "limit": 100,
  "pagesTotal": 1,
  "count": 2,
  "results": [
    {
      "id": "8e320b8e-7709-4a5a-b763-e66e6bc4d4b1",
      "name": "PESSOA FÍSICA",
      "reference": null,
      "email": "[email protected]",
      "phoneNumber": "5599999999999",
      "doc": {
        "type": "cpf",
        "number": "19953274096"
      },
      "address": {
        "cep": "79106320",
        "uf": "MS",
        "city": "Campo Grande",
        "area": "Jardim Itália",
        "addressLine1": "Rua Diva Lemos Albertini",
        "addressLine2": null,
        "streetNumber": "9999"
      },
      "createdAt": "2019-11-06T12:46:24.000Z",
      "updatedAt": "2019-11-06T12:46:24.000Z"
    },
    {
      "id": "ed31dfe8-3941-4fd0-b6cd-85c4e5f22f62",
      "name": "PESSOA JURÍDICA LTDA",
      "reference": null,
      "email": "[email protected]",
      "phoneNumber": "5599999999999",
      "doc": {
        "type": "cnpj",
        "number": "76336239000107"
      },
      "address": {
        "cep": "03307020",
        "uf": "SP",
        "city": "São Paulo",
        "area": "Tatuapé",
        "addressLine1": "Rua Lourenço Correa",
        "addressLine2": null,
        "streetNumber": "470"
      },
      "createdAt": "2019-11-06T12:45:03.000Z",
      "updatedAt": "2019-11-06T12:45:03.000Z"
    }
  ]
}

Este endpoint lista todos os clientes.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/customers

Parâmetros Query

Parâmetro Descrição Obrigatório
page Número da página a ser retornada Não
limit Número itens a ser retornado por página. Valor mínimo: 1, valor máximo: 100. Caso não seja infromado, será aplicado o valor default de 100 itens Não
search Parâmetro que recebe texto e efetua pesquisa nos campos de nome, email e referência do cliente Não
docNumber Parâmetro que busca cliente a partir do cpf/cnpj. Pode ser informado com ou sem máscara. Não
sortBy Um hash contendo na chave, o nome do campo para ordenação e o valor DESC ou ASC para descendente e ascendente, respectivamente. Exemplos: sortBy[name]=ASC, sortBy[createdAt]=ASC, sortBy[updatedAt]=DESC Não
createdAtFrom Filtra registros criados a partir da data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
createdAtTo Filtra registros criados até esta data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
updatedSince Filtra registros atualizados desde o valor passado no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não

Listar um cliente

Resposta

HTTP/1.1 200 Ok
{
  "id": "ed31dfe8-3941-4fd0-b6cd-85c4e5f22f62",
  "name": "PESSOA JURÍDICA LTDA",
  "reference": null,
  "email": "[email protected]",
  "phoneNumber": "5599999999999",
  "doc": {
    "type": "cnpj",
    "number": "76336239000107"
  },
  "address": {
    "cep": "03307020",
    "uf": "SP",
    "city": "São Paulo",
    "area": "Tatuapé",
    "addressLine1": "Rua Lourenço Correa",
    "addressLine2": null,
    "streetNumber": "470"
  },
  "createdAt": "2019-11-06T12:45:03.000Z",
  "updatedAt": "2019-11-06T12:45:03.000Z"
}

Este endpoint lista um cliente especificado.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/customers/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do cliente Sim

Criar um cliente

Requisição

{
  "name": "PESSOA JURÍDICA LTDA",
  "email": "[email protected]",
  "phoneNumber": "5599999999999",
  "docNumber": "76336239000107",
  "address": {
    "cep": "03307020",
    "uf": "SP",
    "city": "São Paulo",
    "area": "Tatuapé",
    "addressLine1": "Rua Lourenço Correa",
    "streetNumber": "470"
  }
}

Resposta

HTTP/1.1 201 Created
{
  "id": "5451d603-53b6-48b4-a38a-c203ac9c5c5d",
  "name": "PESSOA JURÍDICA LTDA",
  "reference": null,
  "email": "[email protected]",
  "phoneNumber": "5599999999999",
  "doc": {
    "type": "cnpj",
    "number": "76336239000107"
  },
  "address": {
    "cep": "03307020",
    "uf": "SP",
    "city": "São Paulo",
    "area": "Tatuapé",
    "addressLine1": "Rua Lourenço Correa",
    "streetNumber": "470"
  },
  "createdAt": "2019-11-06T12:57:45.997Z",
  "updatedAt": "2019-11-06T12:57:45.997Z"
}

Este endpoint cria um cliente.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/customers

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
name O nome do cliente String Sim
reference Referência externa do cliente, para controle do seu sistema. String Não
email Endereço de email do cliente String Sim
phoneNumber Número de telefone do cliente. Deve seguir o seguinte formato: 55, seguido do número DDD, seguido do telefone, por exemplo: 551199999999 String Sim
docNumber Número de CPF/CNPJ do cliente. Pode ser informado com ou sem máscara String Sim
address Objeto contendo informações de endereço do cliente Object Sim
address.cep Número do Cep do endereço. Pode ser com ou sem máscara String Sim
address.uf Sigle UF do endereço String Sim
address.city Cidade do endereço String Sim
address.area Bairro do endereço String Sim
address.addressLine1 Logradouro do endereço String Sim
address.addressLine2 Complemento do endereço String Não
address.streetNumber Número do logradouro String Não

Editar um cliente

Requisição

{
  "email": "[email protected]",
  "phoneNumber": "5511888888888"
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "5451d603-53b6-48b4-a38a-c203ac9c5c5d",
  "name": "PESSOA JURÍDICA LTDA",
  "reference": null,
  "email": "[email protected]",
  "phoneNumber": "5511888888888",
  "doc": {
    "type": "cnpj",
    "number": "76336239000107"
  },
  "address": {
    "cep": "03307020",
    "uf": "SP",
    "city": "São Paulo",
    "area": "Tatuapé",
    "addressLine1": "Rua Lourenço Correa",
    "addressLine2": null,
    "streetNumber": "470"
  },
  "createdAt": "2019-11-06T12:57:45.000Z",
  "updatedAt": "2019-11-06T13:01:02.000Z"
}

Este endpoint edita um cliente.

Requisição HTTP

PUT https://sandbox.easypag.com.br/api/v1/customers/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do cliente Sim

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
name O nome do cliente String Não
reference Referência externa do cliente, para controle do seu sistema. String Não
email Endereço de email do cliente String Não
phoneNumber Número de telefone do cliente. Deve seguir o seguinte formato: 55, seguido do número DDD, seguido do telefone, por exemplo: 551199999999 String Não
docNumber Número de CPF/CNPJ do cliente. Pode ser informado com ou sem máscara String Não
address Objeto contendo informações de endereço do cliente Object Não
address.cep Número do Cep do endereço. Pode ser com ou sem máscara String Não
address.uf Sigle UF do endereço String Não
address.city Cidade do endereço String Não
address.area Bairro do endereço String Não
address.addressLine1 Logradouro do endereço String Não
address.addressLine2 Complemento do endereço String Não
address.streetNumber Número do logradouro String Não

Deletar um cliente

Resposta

HTTP/1.1 204 No Content

Este endpoint deleta um cliente especificado.

Requisição HTTP

DELETE https://sandbox.easypag.com.br/api/v1/customers/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do cliente Sim

Cobranças (Boletos)

Status de Cobrança

O parâmetro payment.status, retornado no objeto de resposta, contém o status do pagamento da cobrança.

Cód. Status Status Descrição
1 Aguardando pagamento Status inicial quando a cobrança é criada.
2 Cobrança paga As cobranças que foram pagas são atualizadas como pagas no dia útil seguinte ao pagamento do boleto.
3 Cobrança manualmente marcada como paga As cobranças que foram manualmente marcadas como pagas têm o seu status atualizado e o seu boleto automaticamente baixado.
4 Cobrança atrasada As cobranças que não foram pagas são automaticamente atualizadas como atrasadas.
5 Cobrança cancelada pelo usuário As cobranças que foram manualmente canceladas, têm o seu status atualizado para cancelada e o seu boleto automaticamente baixado.
6 Cobrança expirada As cobranças que não foram pagas 30 dias após o vencimento têm o seu boleto baixado pelo banco e o status atualizado para Expirada.

Simular status de pagamento da Cobrança

Requisição

{
  "paymentStatus": "2"
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-12-31",
  "amount": 2000,
  "paidAmount": 2000,
  "paidAt": "2019-11-06T19:24:59.000Z",
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 10,
    "expiryDate": "2019-12-30",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "fineStartDate": "2020-01-10",
    "percentage": 2
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado",
  "boleto": {
    "digitableLine": "00190.00009 02625.444209 58002.630174 2 81200000002000",
    "barCodeNumber": "00192812000000020000000002625444205800263017"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "2",
    "description": "Pago"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "e0011939-1160-488c-8efd-bb2cefee0b41",
      "type": "INVOICE.PAID",
      "createdAt": "2019-11-06T19:24:59.000Z",
      "updatedAt": "2019-11-06T19:24:59.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T19:24:59.000Z"
}

Este endpoint simula o status de pagamento, gera os eventos e notificações webhooks referentes a cobrança.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices/:id/simulate

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
paymentStatus Status de pagamento da cobrança. Deve ser diferente do status atual. Consulte a Lista de status disponíveis. String Sim

Listar todas as cobranças

Resposta

HTTP/1.1 200 Ok
{
  "page": 1,
  "limit": 100,
  "pagesTotal": 1,
  "count": 1,
  "summary": {
    "amount": 2000,
    "paidAmount": 0
  },
  "results": [
    {
      "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
      "reference": null,
      "dueDate": "2019-12-31",
      "amount": 2000,
      "paidAmount": 0,
      "paidAt": null,
      "currency": "BRL",
      "items": [
        {
          "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
          "description": "Item - 1",
          "quantity": 1,
          "price": 1000,
          "createdAt": "2019-11-06T13:22:30.000Z",
          "updatedAt": "2019-11-06T13:22:30.000Z",
          "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
        },
        {
          "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
          "description": "Item - 3",
          "quantity": 1,
          "price": 1000,
          "createdAt": "2019-11-06T13:22:30.000Z",
          "updatedAt": "2019-11-06T13:22:30.000Z",
          "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
        },
        {
          "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
          "description": "Item - 2",
          "quantity": 1,
          "price": 1000,
          "createdAt": "2019-11-06T13:22:30.000Z",
          "updatedAt": "2019-11-06T13:22:30.000Z",
          "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
        }
      ],
      "lastMessageEvent": null,
      "lastDateMessageEvent": null,
      "invoiceMessageEvent": [],
      "itemsDiscount": {
        "amount": 1000
      },
      "earlyDiscount": {
        "percentage": 10,
        "expiryDate": "2019-12-30",
        "earlyDays": 1
      },
      "interest": {
        "percentage": 1
      },
      "fine": {
        "lateDays": 10,
        "fineStartDate": "2020-01-10",
        "percentage": 2
      },
      "customer": {
        "name": "PESSOA JURÍDICA LTDA",
        "email": "[email protected]",
        "phoneNumber": "5599999999999",
        "doc": {
          "type": "cnpj",
          "number": "76336239000107"
        },
        "address": {
          "cep": "03307020",
          "uf": "SP",
          "city": "São Paulo",
          "area": "Tatuapé",
          "addressLine1": "Rua Lourenço Correa",
          "streetNumber": "470"
        }
      },
      "notifications": {
        "sendOnCreate": true,
        "reminders": {
          "cc": {
            "emails": []
          },
          "before": {
            "send": true,
            "days": 3,
            "time": "06:00:00"
          },
          "after": {
            "send": true,
            "days": "3",
            "time": "06:00:00"
          },
          "expiration": {
            "send": true,
            "time": "06:00:00"
          }
        },
        "types": {
          "email": true,
          "sms": false,
          "whatsapp": false
        }
      },
      "instructionsMsg": "Teste de Instrução atualizado",
      "notes": "Teste de Observação atualizado",
      "boleto": {
        "digitableLine": "00190.00009 02625.444209 58002.630174 2 81200000002000",
        "barCodeNumber": "00192812000000020000000002625444205800263017"
      },
      "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
      "payment": {
        "status": "1",
        "description": "Aguardando pagamento"
      },
      "events": [
        {
          "id": "a895e595-4a02-4777-ae02-da15c3006886",
          "type": "INVOICE.UPDATED",
          "createdAt": "2019-11-06T18:56:37.000Z",
          "updatedAt": "2019-11-06T18:56:37.000Z",
          "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
        },
        {
          "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
          "type": "INVOICE.CREATED",
          "createdAt": "2019-11-06T13:22:30.000Z",
          "updatedAt": "2019-11-06T13:22:30.000Z",
          "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
        }
      ],
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T18:56:37.000Z"
    }
  ]
}

Este endpoint lista todas as cobranças.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/invoices

Parâmetros Query

Parâmetro Descrição Obrigatório
page Número da página a ser retornada Não
limit Número itens a ser retornado por página. Valor mínimo: 1, valor máximo: 100. Caso não seja infromado, será aplicado o valor default de 100 itens Não
search Parâmetro que recebe texto e efetua pesquisa nos campos de nome do cliente, email do cliente, cpf/cnpj do cliente, observações e referência da cobrança Não
docNumber Parâmetro que filtra cobranças a partir de cpf/cnpj. Pode ser informado com ou sem máscara Não
paymentStatus Parâmetro que filtra cobranças por um ou mais status de pagamento separados por vírgula Não
sortBy Um hash contendo na chave, o nome do campo para ordenação e o valor DESC ou ASC para descendente e ascendente, respectivamente. Exemplos: sortBy[dueDate]=DESC, sortBy[amount]=DESC, sortBy[customerName]=ASC, sortBy[createdAt]=ASC, sortBy[updatedAt]=DESC Não
createdAtFrom Filtra registros criados a partir da data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
createdAtTo Filtra registros criados até esta data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
updatedSince Filtra registros atualizados desde o valor passado no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
paymentStatus Filtra registros que possuam os status de pagamento informados. Formato (Código status do pagamento. Caso seja mais de um status, separar por vírgula.) Exemplo: paymentStatus=1,2,3 ou paymentStatus=1 Não

Listar uma cobrança

Resposta

HTTP/1.1 200 Ok
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-12-31",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "invoiceMessageEvent": [],
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 10,
    "expiryDate": "2019-12-30",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "fineStartDate": "2020-01-10",
    "percentage": 2
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado",
  "boleto": {
    "digitableLine": "00190.00009 02625.444209 58002.630174 2 81200000002000",
    "barCodeNumber": "00192812000000020000000002625444205800263017"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "1",
    "description": "Aguardando pagamento"
  },
  "events": [
    {
      "id": "a895e595-4a02-4777-ae02-da15c3006886",
      "type": "INVOICE.UPDATED",
      "createdAt": "2019-11-06T18:56:37.000Z",
      "updatedAt": "2019-11-06T18:56:37.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T18:56:37.000Z"
}

Este endpoint lista uma cobrança.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/invoices/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança Sim

Criar uma cobrança com cliente existente

Requisição

{
  "dueDate": "2019-11-30",
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 4.75,
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "percentage": 5,
    "lateDays": 7
  },
  "items": [
    {
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000
    },
    {
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000
    },
    {
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000
    }
  ],
  "customer": {
    "id": "2814eae0-858c-4ba2-a2da-5dbc2a95871f"
  },
  "instructionsMsg": "Teste de Instrução",
  "notes": "Teste de Observação"
}

Resposta

HTTP/1.1 201 Created
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-11-30",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 4.75,
    "expiryDate": "2019-11-29",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 7,
    "fineStartDate": "2019-12-07",
    "percentage": 5
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": ["[email protected]", "[email protected]"]
      },
      "before": {
        "send": true,
        "days": 1,
        "time": "08:00:00"
      },
      "after": {
        "send": true,
        "days": "2",
        "time": "08:00:00"
      },
      "expiration": {
        "send": true,
        "time": "08:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução",
  "notes": "Teste de Observação",
  "boleto": {
    "digitableLine": "00190.00009 02625.444209 58002.629176 7 80890000002000",
    "barCodeNumber": "00197808900000020000000002625444205800262917"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "1",
    "description": "Aguardando pagamento"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T13:22:30.000Z"
}

Este endpoint cria uma cobrança para um cliente pré-cadastrado no endpoint de clientes.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
dueDate Data de vencimento no formato ISO: YYYY-MM-DD. A data deve ser igual ou posterior a data atual String Sim
reference Referência externa da cobrança, para controle do seu sistema. String Não
items Array de objetos de itens de cobrança. Deve conter ao menos um item de cobrança Object Sim
items.description Nome ou descrição do item de cobrança String Sim
items.quantity Quantidade do item de cobrança Integer Sim
items.price Valor em centavos do item de cobrança Integer Sim
itemsDiscount Objeto de descontos dos itens de cobrança Object Não
itemsDiscount.amount Valor em centavos do desconto imediato a ser concedido sobre o valor total dos itens Integer Se não informado percentual do desconto
itemsDiscount.percentage Valor percentual do desconto imediato a ser concedido sobre o valor total dos itens Double Se não informado valor em centavos do desconto
earlyDiscount Objeto de descontos por antecipação de pagamento Object Não
earlyDiscount.amount Valor em centavos do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Integer Se não informado percentual do desconto
earlyDiscount.percentage Valor percentual do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Double Se não informado valor em centavos do desconto
earlyDiscount.earlyDays Número de dias de antecedência para aplicar o desconto por antecipação. Integer Se informado o objeto de desconto
interest Objeto de juros da cobrança Object Não
interest.percentage Valor percentual do juros a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 1 Double Se informado o objeto de juros
fine Objeto de multa da cobrança Object Não
fine.percentage Valor percentual da multa a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 10 Double Se informado o objeto de multa
fine.lateDays Número de dias de atraso para aplicação da multa. Deve ser maior que 0 e menor que 30 Integer Se informado o objeto de multa
customer Objeto do Cliente Object Sim
customer.id ID do Cliente existente para qual a cobrança será criada String Sim
notifications Objeto de notificações Object Não
notifications.cc Objeto de envio de cópias Object Não
notifications.cc.emails Array de emails, que também recebem como cópia as notificações da cobrança. Array Não
notifications.sendOnCreate Define se a cobrança é enviada para o(s) cliente(s) logo após ser criada Boolean Não
notifications.reminders Objeto de lembretes de cobrança Object Não
notifications.before Objeto de lembrete da data do vencimento Object Não
notifications.before.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.days Define a quantidade de dias antes da data de vencimento que o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after Objeto de lembrete após data do vencimento Object Não
notifications.after.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.after.days Define a quantidade/intervalo de dias após da data de vencimento que o lembrete deve ser enviado. Default: true Integer Não
notifications.after.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after.recurrent Define se o lembrete é recorrente. Caso seja true, enviará o lembrete a cada X dias, conforme especificado em notifications.after.days Boolean Não
notifications.expiration Objeto de lembrete na data do vencimento Object Não
notifications.expiration.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.expiration.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
instructionsMsg Instruções de pagamento que constará no boleto. Deve conter no máximo 100 caracteres String Não
notes Observações sobre o pagamento. Não constará no boleto. Deve conter no máximo 100 caracteres String Não

Criar uma cobrança com cliente avulso

Requisição

{
  "dueDate": "2019-11-30",
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 4.75,
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "percentage": 5,
    "lateDays": 7
  },
  "items": [
    {
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000
    },
    {
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000
    },
    {
      "description": "Item - 3",  
      "quantity": 1,
      "price": 1000
    }
  ],
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "docNumber": "76336239000107",
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "instructionsMsg": "Teste de Instrução",
  "notes": "Teste de Observação"
}

Resposta

HTTP/1.1 201 Created
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-11-30",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 4.75,
    "expiryDate": "2019-11-29",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 7,
    "fineStartDate": "2019-12-07",
    "percentage": 5
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": ["[email protected]", "[email protected]"]
      },
      "before": {
        "send": true,
        "days": 1,
        "time": "08:00:00"
      },
      "after": {
        "send": true,
        "days": "2",
        "time": "08:00:00"
      },
      "expiration": {
        "send": true,
        "time": "08:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução",
  "notes": "Teste de Observação",
  "boleto": {
    "digitableLine": "00190.00009 02625.444209 58002.629176 7 80890000002000",
    "barCodeNumber": "00197808900000020000000002625444205800262917"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "1",
    "description": "Aguardando pagamento"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T13:22:30.000Z"
}

Este endpoint cria uma cobrança com dados avulsos de um cliente, sem a necessidade de tê-lo cadastrado na base. É ideal para sistemas que já possuem o controle de sua base de clientes e desejam apenas emitir as cobranças informando os dados dos seus clientes.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
dueDate Data de vencimento no formato ISO: YYYY-MM-DD. A data deve ser igual ou posterior a data atual String Sim
reference Referência externa da cobrança, para controle do seu sistema. String Não
items Array de objetos de itens de cobrança. Deve conter ao menos um item de cobrança Object Sim
items.description Nome ou descrição do item de cobrança String Sim
items.quantity Quantidade do item de cobrança Integer Sim
items.price Valor em centavos do item de cobrança Integer Sim
itemsDiscount Objeto de descontos dos itens de cobrança Object Não
itemsDiscount.amount Valor em centavos do desconto imediato a ser concedido sobre o valor total dos itens Integer Se não informado percentual do desconto
itemsDiscount.percentage Valor percentual do desconto imediato a ser concedido sobre o valor total dos itens Double Se não informado valor em centavos do desconto
earlyDiscount Objeto de descontos por antecipação de pagamento Object Não
earlyDiscount.amount Valor em centavos do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Integer Se não informado percentual do desconto
earlyDiscount.percentage Valor percentual do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Double Se não informado valor em centavos do desconto
earlyDiscount.earlyDays Número de dias de antecedência para aplicar o desconto por antecipação. Integer Se informado o objeto de desconto
interest Objeto de juros da cobrança Object Não
interest.percentage Valor percentual do juros a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 1 Double Se informado o objeto de juros
fine Objeto de multa da cobrança Object Não
fine.percentage Valor percentual da multa a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 10 Double Se informado o objeto de multa
fine.lateDays Número de dias de atraso para aplicação da multa. Deve ser maior que 0 e menor que 30 Integer Se informado o objeto de multa
customer Objeto do Cliente Object Sim
customer.name Nome do Cliente String Sim
customer.email Email do Cliente String Sim
customer.phoneNumber Número de telefone do cliente. Deve seguir o seguinte formato: 55, seguido do número DDD, seguido do telefone, por exemplo: 551199999999 String Sim
customer.docNumber Número de CPF/CNPJ do cliente. Pode ser informado com ou sem máscara String Sim
customer.address Objeto contendo informações de endereço do cliente Object Sim
customer.address.cep Número do Cep do endereço. Pode ser com ou sem máscara String Sim
customer.address.uf Sigle UF do endereço String Sim
customer.address.city Cidade do endereço String Sim
customer.address.area Bairro do endereço String Sim
customer.address.addressLine1 Logradouro do endereço String Sim
customer.address.addressLine2 Complemento do endereço String Não
customer.address.streetNumber Número do logradouro String Não
notifications Objeto de notificações Object Não
notifications.sendOnCreate Define se a cobrança é enviada para o(s) cliente(s) logo após ser criada Boolean Não
notifications.reminders Objeto de lembretes de cobrança Object Não
notifications.before Objeto de lembrete da data do vencimento Object Não
notifications.before.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.days Define a quantidade de dias antes da data de vencimento que o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after Objeto de lembrete após data do vencimento Object Não
notifications.after.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.after.days Define a quantidade/intervalo de dias após da data de vencimento que o lembrete deve ser enviado. Default: true Integer Não
notifications.after.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after.recurrent Define se o lembrete é recorrente. Caso seja true, enviará o lembrete a cada X dias, conforme especificado em notifications.after.days Boolean Não
notifications.expiration Objeto de lembrete na data do vencimento Object Não
notifications.expiration.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.expiration.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
instructionsMsg Instruções de pagamento que constará no boleto. Deve conter no máximo 100 caracteres String Não
notes Observações sobre o pagamento. Não constará no boleto. Deve conter no máximo 100 caracteres String Não

Atualizar uma cobrança

Requisição

{
  "dueDate": "2019-12-31",
  "earlyDiscount": {
    "percentage": 10,
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "percentage": 2
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado"
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-12-31",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 10,
    "expiryDate": "2019-12-30",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "fineStartDate": "2020-01-10",
    "percentage": 2
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado",
  "boleto": {
    "digitableLine": "00190.00009 02625.444209 58002.630174 2 81200000002000",
    "barCodeNumber": "00192812000000020000000002625444205800263017"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "1",
    "description": "Aguardando pagamento"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "a895e595-4a02-4777-ae02-da15c3006886",
      "type": "INVOICE.UPDATED",
      "createdAt": "2019-11-06T18:56:37.000Z",
      "updatedAt": "2019-11-06T18:56:37.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T18:56:37.000Z"
}

Este atualiza data de vencimento de uma cobrança.

Requisição HTTP

PUT https://sandbox.easypag.com.br/api/v1/invoices/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança Sim

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
dueDate Data de vencimento no formato ISO: YYYY-MM-DD. A data deve ser igual ou posterior a data atual String Sim
earlyDiscount Objeto de descontos por antecipação de pagamento Object Não
earlyDiscount.amount Valor em centavos do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Integer Se não informado percentual do desconto
earlyDiscount.percentage Valor percentual do desconto a ser concedido sob o valor total dos itens por pagamento antecipado Double Se não informado valor em centavos do desconto
earlyDiscount.earlyDays Número de dias de antecedência para aplicar o desconto por antecipação. Integer Se informado o objeto de desconto
interest Objeto de juros da cobrança Object Não
interest.percentage Valor percentual do juros a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 1 Double Se informado o objeto de juros
fine Objeto de multa da cobrança Object Não
fine.percentage Valor percentual da multa a ser cobrado sob o valor total dos itens por pagamento atrasado. Deve ser maior que 0 e menor ou igual a 10 Double Se informado o objeto de multa
fine.lateDays Número de dias de atraso para aplicação da multa. Deve ser maior que 0 e menor que 30 Integer Se informado o objeto de multa
notifications Objeto de notificações Object Não
notifications.sendOnCreate Define se a cobrança é enviada para o(s) cliente(s) logo após ser criada Boolean Não
notifications.reminders Objeto de lembretes de cobrança Object Não
notifications.before Objeto de lembrete da data do vencimento Object Não
notifications.before.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.days Define a quantidade de dias antes da data de vencimento que o lembrete deve ser enviado. Default: true Boolean Não
notifications.before.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after Objeto de lembrete após data do vencimento Object Não
notifications.after.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.after.days Define a quantidade/intervalo de dias após da data de vencimento que o lembrete deve ser enviado. Default: true Integer Não
notifications.after.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
notifications.after.recurrent Define se o lembrete é recorrente. Caso seja true, enviará o lembrete a cada X dias, conforme especificado em notifications.after.days Boolean Não
notifications.expiration Objeto de lembrete na data do vencimento Object Não
notifications.expiration.send Define se o lembrete deve ser enviado. Default: true Boolean Não
notifications.expiration.time Define o horário de preferência que o lembrete deve ser enviado. O formato deve ser HH:mm:ss ou HH:mm:ss A. Exemplos: 22:00:00 ou 10:00:00 PM. 06:00:00 ou 06:00:00 AM String Não
instructionsMsg Instruções de pagamento que constará no boleto. Deve conter no máximo 100 caracteres String Não
notes Observações sobre o pagamento. Não constará no boleto. Deve conter no máximo 100 caracteres String Não

Cancelar uma cobrança

Resultado

HTTP/1.1 200 Ok
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-12-31",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 10,
    "expiryDate": "2019-12-30",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "fineStartDate": "2020-01-10",
    "percentage": 2
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado",
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "5",
    "description": "Cancelado"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "2c52326a-ff6d-42e9-a76f-07ee6df1b7fa",
      "type": "INVOICE.CANCELLED",
      "createdAt": "2019-11-06T19:20:08.000Z",
      "updatedAt": "2019-11-06T19:20:08.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "a895e595-4a02-4777-ae02-da15c3006886",
      "type": "INVOICE.UPDATED",
      "createdAt": "2019-11-06T18:56:37.000Z",
      "updatedAt": "2019-11-06T18:56:37.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T19:20:07.000Z"
}

Este endpoint cancela uma cobrança.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices/:id/cancel

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança Sim

Marcar uma cobrança como paga

Resultado

HTTP/1.1 200 Ok
{
  "id": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3",
  "reference": null,
  "dueDate": "2019-12-31",
  "amount": 2000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "4b4e7cd4-bb6a-4a25-b2f8-1e76e2494851",
      "description": "Item - 3",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "94637696-08dc-401d-98dd-a96ef4fa807a",
      "description": "Item - 1",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "ad3d7333-cdc1-4695-8199-a529b90fd8ee",
      "description": "Item - 2",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "itemsDiscount": {
    "amount": 1000
  },
  "earlyDiscount": {
    "percentage": 10,
    "expiryDate": "2019-12-30",
    "earlyDays": 1
  },
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 10,
    "fineStartDate": "2020-01-10",
    "percentage": 2
  },
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "5599999999999",
    "doc": {
      "type": "cnpj",
      "number": "76336239000107"
    },
    "address": {
      "cep": "03307020",
      "uf": "SP",
      "city": "São Paulo",
      "area": "Tatuapé",
      "addressLine1": "Rua Lourenço Correa",
      "streetNumber": "470"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "instructionsMsg": "Teste de Instrução atualizado",
  "notes": "Teste de Observação atualizado",
  "invoiceUrl": "https://sandbox.easypag.com.br/invoices/c2fb02bb-e4bc-44db-a43b-bd31258a3cf3/view/boleto",
  "payment": {
    "status": "3",
    "description": "Cobrança manualmente marcada como paga"
  },
  "events": [
    {
      "id": "0b893305-7ee8-42f9-ba86-a6e4b3a3f021",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-11-06T13:22:30.000Z",
      "updatedAt": "2019-11-06T13:22:30.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "2c52326a-ff6d-42e9-a76f-07ee6df1b7fa",
      "type": "INVOICE.CANCELLED",
      "createdAt": "2019-11-06T19:20:08.000Z",
      "updatedAt": "2019-11-06T19:20:08.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    },
    {
      "id": "a895e595-4a02-4777-ae02-da15c3006886",
      "type": "INVOICE.UPDATED",
      "createdAt": "2019-11-06T18:56:37.000Z",
      "updatedAt": "2019-11-06T18:56:37.000Z",
      "invoiceId": "c2fb02bb-e4bc-44db-a43b-bd31258a3cf3"
    }
  ],
  "createdAt": "2019-11-06T13:22:30.000Z",
  "updatedAt": "2019-11-06T19:20:07.000Z"
}

Este endpoint marca uma cobrança como paga.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices/:id/settle

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança Sim

Visualizar PDF do boleto

Resultado

HTTP/1.1 200 Ok

Este endpoint renderiza o arquivo pdf do boleto de uma cobrança.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/invoices/:id/view/boleto

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança a ser consultado Sim

Reenviar uma cobrança

Resposta

HTTP/1.1 200 Ok

Este endpoint reenvia o email de uma cobrança.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices/:id/resend

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da cobrança Sim

Cobranças (Carnês)

Status de Carnê

O parâmetro payment.status, retornado no objeto de resposta, contém o status do carnê.

Cód. Status Status Descrição
1 Ativo Status inicial quando o carnê é criado.
2 Cancelado Os carnês que foram manualmente cancelados têm as suas cobranças canceladas e os seus boletos automaticamente baixados.

Listar todos os carnês

Resposta

HTTP/1.1 200 Ok
{
  "page": 1,
  "limit": 100,
  "pagesTotal": 1,
  "count": 1,
  "results": [
    {
      "id": "cfb4f19d-a204-4934-9da6-04d35879d6a0",
      "repeat": 12,
      "customer": {
        "name": "PESSOA JURÍDICA LTDA",
        "email": "[email protected]",
        "phoneNumber": "559999999999",
        "doc": {
          "type": "cnpj",
          "number": "20238189000162"
        },
        "address": {
          "cep": "13064110",
          "uf": "SP",
          "city": "Campinas",
          "area": "Parque Santa Bárbara",
          "addressLine1": "Rua Armando Rizzoni",
          "addressLine2": null,
          "streetNumber": "9999"
        }
      },
      "createdAt": "2019-10-31T13:14:10.000Z",
      "updatedAt": "2019-10-31T13:14:10.000Z"
    }
  ]
}

Parâmetros Query

Parâmetro Descrição Obrigatório
page Número da página a ser retornada Não
limit Número itens a ser retornado por página. Valor mínimo: 1, valor máximo: 100. Caso não seja infromado, será aplicado o valor default de 100 itens Não
sortBy Um hash contendo na chave, o nome do campo para ordenação e o valor DESC ou ASC para descendente e ascendente, respectivamente. Exemplos: sortBy[dueDate]=DESC, sortBy[amount]=DESC, sortBy[customerName]=ASC, sortBy[createdAt]=ASC, sortBy[updatedAt]=DESC Não
createdAtFrom Filtra registros criados a partir da data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
createdAtTo Filtra registros criados até esta data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
updatedSince Filtra registros atualizados desde o valor passado no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não

Este endpoint lista todos carnês de cobranças.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/recurrences

Listar um carnê

Resposta

HTTP/1.1 200 Ok
{
  "id": "cfb4f19d-a204-4934-9da6-04d35879d6a0",
  "repeat": 12,
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "559999999999",
    "doc": {
      "type": "cnpj",
      "number": "20238189000162"
    },
    "address": {
      "cep": "13064110",
      "uf": "SP",
      "city": "Campinas",
      "area": "Parque Santa Bárbara",
      "addressLine1": "Rua Armando Rizzoni",
      "addressLine2": null,
      "streetNumber": "9999"
    }
  },
  "createdAt": "2019-10-31T13:14:10.000Z",
  "updatedAt": "2019-10-31T13:14:10.000Z"
}

Este endpoint lista um carnê.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/recurrences/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do carnê Sim

Criar um carnê

Requisição

{
  "dueDate": "2019-10-30",
  "interest": {
    "percentage": 1.0
  },
  "fine": {
    "percentage": 5.0,
    "lateDays": 7
  },
  "items": [
    {
      "description": "Item de Teste",
      "quantity": 1,
      "price": 1000
    }
  ],
  // Recorrência: 2 a 12 parcelas por carnê.
  // As parcelas geradas tem as datas de vencimento, multa e descontos
  // incrementados em 30 dias, sucessivamente.
  "recurrence": {
    "repeat": 12
  },
  // Pode-se utilizar o ID do cliente ou os dados avulsos.
  "customer": {
    "id": "03f7f73f-617d-4d4d-845a-7d464a7d8011"
  }
}

Resposta

HTTP/1.1 201 Created
{
  "id": "1060d867-c529-4852-b183-4fd474ecd812",
  "reference": null,
  "dueDate": "2019-10-30",
  "amount": 1000,
  "paidAmount": 0,
  "paidAt": null,
  "currency": "BRL",
  "items": [
    {
      "id": "720ceeec-148b-46a0-8abf-21d5b2de4681",
      "description": "Item de Teste",
      "quantity": 1,
      "price": 1000,
      "createdAt": "2019-10-22T17:33:35.000Z",
      "updatedAt": "2019-10-22T17:33:35.000Z",
      "invoiceId": "1060d867-c529-4852-b183-4fd474ecd812"
    }
  ],
  "lastMessageEvent": null,
  "lastDateMessageEvent": null,
  "interest": {
    "percentage": 1
  },
  "fine": {
    "lateDays": 7,
    "fineStartDate": "2019-11-06",
    "percentage": 6
  },
  "customer": {
    "name": "João da Silva",
    "email": "[email protected]",
    "phoneNumber": "5511988515697",
    "doc": {
      "type": "cpf",
      "number": "29458917000"
    },
    "address": {
      "cep": "60135222",
      "uf": "CE",
      "city": "Fortaleza",
      "area": "Dionísio Torres",
      "addressLine1": "Rua Marcondes Pereira",
      "addressLine2": "Prox dionísio Torres",
      "streetNumber": "1381"
    }
  },
  "notifications": {
    "sendOnCreate": true,
    "reminders": {
      "cc": {
        "emails": []
      },
      "before": {
        "send": true,
        "days": 3,
        "time": "06:00:00"
      },
      "after": {
        "send": true,
        "days": "3",
        "time": "06:00:00"
      },
      "expiration": {
        "send": true,
        "time": "06:00:00"
      }
    },
    "types": {
      "email": true,
      "sms": false,
      "whatsapp": false
    }
  },
  "recurrence": {
    // ID da Recorrência.
    // Pode ser utilizada para consultar o carnê e todas as cobranças geradas.
    "id": "49143944-38f8-4112-97ac-0c68602214d6",
    "createdAt": "2019-10-22T17:33:35.000Z",
    "updatedAt": "2019-10-22T17:33:35.000Z"
  },
  "invoiceUrl": "https://sandbox.easypag.com.br",
  "payment": {
    "status": "1",
    "description": "Aguardando pagamento"
  },
  "events": [
    {
      "id": "8afd9586-1035-4e1f-bfd5-a56d070c2482",
      "type": "INVOICE.CREATED",
      "createdAt": "2019-10-22T17:33:35.000Z",
      "updatedAt": "2019-10-22T17:33:35.000Z",
      "invoiceId": "1060d867-c529-4852-b183-4fd474ecd812"
    }
  ],
  "createdAt": "2019-10-22T17:33:35.000Z",
  "updatedAt": "2019-10-22T17:33:35.000Z"
}

Este endpoint cria um carnê.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/invoices

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
recurrence Objeto de recorrência Object Sim (Para carnê)
recurrence.repeat Número de parcelas a serem geradas com base no primeiro vencimento. Valores aceitos: 2 a 12. Integer Sim (Para carnê)

Listar todas as cobranças de um carnê

Este endpoint lista todas as cobranças de um carnê.

GET https://sandbox.easypag.com.br/api/v1/recurrences/:id/invoices

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do carnê Sim

Resposta

HTTP/1.1 200 Ok
[
  {
    "id": "819bb3e4-3421-4208-9809-2a3c475a98b6",
    "reference": null,
    "dueDate": "2019-10-31",
    "amount": 1000,
    "paidAmount": 0,
    "paidAt": null,
    "currency": "BRL",
    "items": [
      {
        "id": "b7788ccb-9c01-4125-a57e-036c67d4b058",
        "description": "ITEM DE TESTE",
        "quantity": 1,
        "price": 1000,
        "createdAt": "2019-10-31T13:14:10.000Z",
        "updatedAt": "2019-10-31T13:14:10.000Z",
        "invoiceId": "819bb3e4-3421-4208-9809-2a3c475a98b6"
      }
    ],
    "lastMessageEvent": null,
    "lastDateMessageEvent": null,
    "invoiceMessageEvent": [],
    "customer": {
      "name": "PESSOA JURÍDICA LTDA",
      "email": "[email protected]",
      "phoneNumber": "559999999999",
      "doc": {
        "type": "cnpj",
        "number": "20238189000162"
      },
      "address": {
        "cep": "13064110",
        "uf": "SP",
        "city": "Campinas",
        "area": "Parque Santa Bárbara",
        "addressLine1": "Rua Armando Rizzoni",
        "streetNumber": "9999"
      }
    },
    "notifications": {
      "sendOnCreate": true,
      "reminders": {
        "cc": {
          "emails": []
        },
        "before": {
          "send": true,
          "days": 3,
          "time": "06:00:00"
        },
        "after": {
          "send": true,
          "days": "3",
          "time": "06:00:00"
        },
        "expiration": {
          "send": true,
          "time": "06:00:00"
        }
      },
      "types": {
        "email": true,
        "sms": false,
        "whatsapp": false
      }
    },
    "recurrence": {
      "id": "cfb4f19d-a204-4934-9da6-04d35879d6a0",
      "createdAt": "2019-10-31T13:14:10.000Z",
      "updatedAt": "2019-10-31T13:14:10.000Z"
    },
    "invoiceUrl": "https://sandbox.easypag.com.br",
    "payment": {
      "status": "1",
      "description": "Aguardando pagamento"
    },
    "events": [
      {
        "id": "4fcd7c08-44e3-4536-80fa-b32aa0678cb2",
        "type": "INVOICE.CREATED",
        "createdAt": "2019-10-31T13:14:10.000Z",
        "updatedAt": "2019-10-31T13:14:10.000Z",
        "invoiceId": "819bb3e4-3421-4208-9809-2a3c475a98b6"
      }
    ],
    "createdAt": "2019-10-31T13:14:10.000Z",
    "updatedAt": "2019-10-31T13:14:10.000Z"
  }
]

Cancelar um carnê

Resultado

HTTP/1.1 200 Ok
{
  "id": "cfb4f19d-a204-4934-9da6-04d35879d6a0",
  "repeat": 12,
  "customer": {
    "name": "PESSOA JURÍDICA LTDA",
    "email": "[email protected]",
    "phoneNumber": "559999999999",
    "doc": {
      "type": "cnpj",
      "number": "20238189000162"
    },
    "address": {
      "cep": "13064110",
      "uf": "SP",
      "city": "Campinas",
      "area": "Parque Santa Bárbara",
      "addressLine1": "Rua Armando Rizzoni",
      "addressLine2": null,
      "streetNumber": "9999"
    }
  },
  "createdAt": "2019-10-31T13:14:10.000Z",
  "updatedAt": "2019-10-31T14:12:33.000Z"
}

Este endpoint cancela um carnê e suas cobranças.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/recurrences/:id/cancel

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do carnê Sim

Visualizar carnê

Resultado

HTTP/1.1 200 Ok

Este endpoint renderiza o arquivo pdf do carnê, contendo todos os boletos.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/recurrences/:id/view/carne

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do carnê a ser consultado Sim

Notificações Webhook

Introdução

Os eventos são disparados via POST na url especificada na criação do webhook. Somente urls que utilizem https serão aceitas.

Eventos disponíveis

Evento Descrição
INVOICE.* Notifica em caso de todos os eventos das cobranças.
INVOICE.CREATED Notifica caso uma cobrança seja criada.
INVOICE.PAID Notifica caso o status de pagamento de uma cobrança seja alterado para 2, que equivale a cobrança paga.
INVOICE.SETTLED Notifica caso o status de pagamento de uma cobrança seja alterado para 3, que equivale a cobrança marcada como paga.
INVOICE.CANCELLED Notifica caso o status de pagamento de uma cobrança seja alterado para 5, que equivale a cobrança cancelada pelo usuário.
INVOICE.EXPIRED Notifica caso o status de pagamento de uma cobrança seja alterado para 6, que equivale a cobrança expirada.

Exemplo de evento recebido

Confira o exemplo ao lado de notificação recebida via POST.

HTTP/1.1 200 Ok
Authorization: token-auth-exemplo
Content-Length: 1555
Accept: application/json, text/plain, */*
Connection: close
Content-Type: application/json;charset=utf-8
Host: requestbin.fullcontact.com
{
  "id": "af082812-baf4-4857-aa03-1c11ae7822ab",
  "event": "INVOICE.CREATED",
  "resource": {
    "id": "24852ff8-a068-4c65-96e8-936163754768",
    "reference": null,
    "dueDate": "2019-06-30",
    "amount": 2000,
    "paidAmount": 0,
    "currency": "BRL",
    "items": [
      {
        "id": "3fbaa249-c912-45f3-b71f-5ce107ce4f76",
        "description": "Item-2",
        "quantity": 1,
        "price": 1000,
        "createdAt": "2019-06-17T18:06:07.000Z",
        "updatedAt": "2019-06-17T18:06:07.000Z",
        "invoiceId": "24852ff8-a068-4c65-96e8-936163754768"
      },
      {
        "id": "edc403dc-c62e-428c-a631-b72d90d93904",
        "description": "Item-1",
        "quantity": 1,
        "price": 1000,
        "createdAt": "2019-06-17T18:06:07.000Z",
        "updatedAt": "2019-06-17T18:06:07.000Z",
        "invoiceId": "24852ff8-a068-4c65-96e8-936163754768"
      }
    ],
    "customer": {
      "name": "Cliente de teste",
      "email": "[email protected]",
      "phoneNumber": "55999999999",
      "doc": {
        "type": "cpf",
        "number": "70524966079"
      },
      "address": {
        "cep": "60999999",
        "uf": "SP",
        "city": "Sao Paulo",
        "area": "Bairro",
        "addressLine1": "Rua",
        "addressLine2": "Complemento",
        "streetNumber": "9999"
      }
    },
    "notifications": {
      "sendOnCreate": false,
      "reminders": {
        "cc": {
          "emails": []
        },
        "before": {
          "send": false,
          "days": 3,
          "time": "10:00:00"
        },
        "after": {
          "send": false,
          "days": "5",
          "time": "11:00:00"
        },
        "expiration": {
          "send": false,
          "time": "12:00:00"
        }
      },
      "types": {
        "email": true,
        "sms": false,
        "whatsapp": false
      }
    },
    "instructionsMsg": "Teste de Instrução",
    "notes": "Teste de Observação",
    "invoiceUrl": "http://faturas.sandbox.easypagamentos.com.br/af082812-baf4-4857-aa03-1c11ae7822ab",
    "payment": {
      "status": "1",
      "description": "Aguardando pagamento"
    },
    "createdAt": "2019-06-17T18:06:07.000Z",
    "updatedAt": "2019-06-17T18:06:07.000Z"
  }
}

Listar todos os webhooks

Resposta

HTTP/1.1 200 Ok
[
  {
    "id": "8fe98a37-7f31-42bf-9e78-41b8aee8f050",
    "targetUrl": "https://requestbin.fullcontact.com/uds0eyud",
    "event": "INVOICE.*",
    "authKey": "token-auth-exemplo",
    "createdAt": "2019-06-17T17:07:51.000Z",
    "updatedAt": "2019-06-17T17:07:51.000Z"
  }
]

Este endpoint lista todos os webhooks.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/webhooks

Listar um webhook

Resposta

HTTP/1.1 200 Ok
{
  "id": "8fe98a37-7f31-42bf-9e78-41b8aee8f050",
  "targetUrl": "https://requestbin.fullcontact.com/uds0eyud",
  "event": "INVOICE.*",
  "authKey": "token-auth-exemplo",
  "createdAt": "2019-06-17T17:07:51.000Z",
  "updatedAt": "2019-06-17T17:07:51.000Z"
}

Este endpoint lista um webhook especificado.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/webhooks/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do webhook Sim

Criar um webhook

Requisição

{
  "targetUrl": "https://requestbin.fullcontact.com/uds0eyud",
  "authKey": "token-auth-exemplo",
  "event": "INVOICE.*"
}

Resposta

HTTP/1.1 201 Created
{
  "id": "8fe98a37-7f31-42bf-9e78-41b8aee8f050",
  "targetUrl": "https://requestbin.fullcontact.com/uds0eyud",
  "event": "INVOICE.*",
  "authKey": "token-auth-exemplo",
  "createdAt": "2019-06-17T17:07:51.000Z",
  "updatedAt": "2019-06-17T17:07:51.000Z"
}

Este endpoint cria um webhook.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/webhooks

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
targetUrl Url de notficação. Deve ser https. String Sim
event Evento de notficação. Deve ser um dos valores: INVOICE.*, INVOICE.CREATED, INVOICE.PAID, INVOICE.SETTLED, INVOICE.CANCELLED, INVOICE.EXPIRED String Sim
authKey Chave de autenticação que será enviada no header da notificação String Sim

Editar um webhook

Requisição

{
  "targetUrl": "https://requestbin.fullcontact.com/1ieouo21"
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "8fe98a37-7f31-42bf-9e78-41b8aee8f050",
  "targetUrl": "https://requestbin.fullcontact.com/1ieouo21",
  "event": "INVOICE.*",
  "authKey": "token-auth-exemplo",
  "createdAt": "2019-06-17T17:07:51.000Z",
  "updatedAt": "2019-06-17T17:09:00.000Z"
}

Este endpoint edita um webhook.

Requisição HTTP

PUT https://sandbox.easypag.com.br/api/v1/webhooks/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do webhook Sim

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
targetUrl Url de notficação. Deve ser https. String Não
event Evento de notficação. Deve ser um dos valores: INVOICE.*, INVOICE.CREATED, INVOICE.STATUS_UPDATE, INVOICE.PAID, INVOICE.SETTLED, INVOICE.OVERDUE, INVOICE.CANCELLED, INVOICE.EXPIRED String Não
authKey Chave de autenticação que será enviada no header da notificação String Não

Deletar um webhook

Resposta

HTTP/1.1 204 No Content

Este endpoint deleta um webhook especificado.

Requisição HTTP

DELETE https://sandbox.easypag.com.br/api/v1/webhooks/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do webhook Sim

Bancos

Listar Bancos

Resposta

HTTP/1.1 200 Ok
[
  {
    "id": "8c0be6f8-f8ee-47a0-bb44-bc51580224c3",
    "bankCode": "001",
    "bankName": "Banco do Brasil S.A.",
    "websiteHref": "www.bb.com.br",
    "createdAt": "2019-04-01T20:01:45.000Z",
    "updatedAt": "2019-04-01T20:01:45.000Z"
  }
]

Este endpoint lista as informações das instituições financeiras disponíveis.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/banks?search=banco do brasil

Parâmetros Query

Parâmetro Descrição Obrigatório
search Palavra-chave para efetuar busca. Se não informado retorna todos os itens Não

Contas Bancárias

Listar todas as contas bancárias

Resposta

HTTP/1.1 200 Ok
[
  {
    "id": "4f21bc32-f630-406b-840c-254b529b3c27",
    "beneficiary": {
      "name": "João Silva",
      "doc": {
        "type": "cpf",
        "number": "64223737830"
      }
    },
    "bank": {
      "name": "Banco do Brasil S.A."
    },
    "agency": {
      "number": "9999",
      "digit": "9"
    },
    "account": {
      "number": "999999",
      "digit": "9",
      "type": "checking"
    },
    "status": {
      "code": "2",
      "description": "Conta aprovada."
    },
    "createdAt": "2019-04-02T16:27:44.000Z",
    "updatedAt": "2019-04-02T16:27:44.000Z"
  }
]

Este endpoint lista as contas bancárias cadastradas do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/bank-accounts

Listar uma conta bancária

Resposta

HTTP/1.1 200 Ok
{
  "id": "4f21bc32-f630-406b-840c-254b529b3c27",
  "beneficiary": {
    "name": "João Silva",
    "doc": {
      "type": "cpf",
      "number": "64223737830"
    }
  },
  "bank": {
    "name": "Banco do Brasil S.A."
  },
  "agency": {
    "number": "9999",
    "digit": "9"
  },
  "account": {
    "number": "999999",
    "digit": "9",
    "type": "checking"
  },
  "status": {
    "code": "2",
    "description": "Conta aprovada."
  },
  "createdAt": "2019-04-02T16:27:44.000Z",
  "updatedAt": "2019-04-02T16:27:44.000Z"
}

Este endpoint lista uma conta bancária do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/bank-accounts/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da conta bancária Sim

Criar uma conta bancária

Requisição

{
  "beneficiary": {
    "name": "João Silva",
    "docNumber": "64223737830"
  },
  "bankCode": "001",
  "agency": {
    "number": "9999",
    "digit": "9"
  },
  "account": {
    "number": "999999",
    "digit": "9",
    "type": "checking"
  }
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "4f21bc32-f630-406b-840c-254b529b3c27",
  "beneficiary": {
    "name": "João Silva",
    "doc": {
      "type": "cpf",
      "number": "64223737830"
    }
  },
  "bank": {
    "name": "Banco do Brasil S.A."
  },
  "agency": {
    "number": "9999",
    "digit": "9"
  },
  "account": {
    "number": "999999",
    "digit": "9",
    "type": "checking"
  },
  "status": {
    "code": "2",
    "description": "Conta aprovada."
  },
  "createdAt": "2019-04-02T16:27:44.000Z",
  "updatedAt": "2019-04-02T16:27:44.000Z"
}

Este endpoint cria uma conta bancária.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/bank-accounts

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
beneficiary Objeto do titular da conta Object Sim
beneficiary.name Nome completo do titular da conta Object Sim
beneficiary.docNumber CPF/CNPJ do titular da conta Object Sim
agency Objeto da agência da conta Object Sim
agency.number Número agência da conta. Máximo de 5 dígitos String Sim
agency.digit Dígito agência da conta . Máximo de 2 digitos String Não
account Objeto da conta Object Sim
account.number Número da conta. Máximo de 12 dígitos String Sim
account.digit Dígito conta. Máximo de 2 digitos String Sim
account.type Tipo de conta bancária. Informar "checking" para conta corrente ou "saving" para conta poupança String Sim

Deletar uma conta bancária

Resposta

HTTP/1.1 204 No Content

Este endpoint exclui uma conta bancária do usuário.

Requisição HTTP

DELETE https://sandbox.easypag.com.br/api/v1/bank-accounts/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID da conta bancária Sim

Resgates

Status de Resgate

O parâmetro status.code, retornado no objeto de resposta, contém o status do resgate.

Status Descrição
1 Pedido de resgate efetuado
2 Transferência bancária efetuada. Aguardando confirmação do banco de destino
3 Pedido de resgate recusado. Por favor entre em contato com nosso suporte
4 Pedido de resgate concluído com sucesso. O banco de destino confirmou o recebimento da transferência
5 Pedido de resgate falhou. A transferência foi devolvida pelo banco de destino

Listar todos os resgates

Resposta

HTTP/1.1 200 Ok
{
  "page": 1,
  "limit": 100,
  "pagesTotal": 1,
  "count": 1,
  "results": [
    {
      "id": "2c486134-0e27-4c1c-a312-0fe468dae711",
      "amount": 1000,
      "bankAccount": {
        "beneficiary": {
          "name": "João Silva",
          "doc": {
            "type": "cpf",
            "number": "64223737830"
          }
        },
        "bank": {
          "name": "Banco do Brasil S.A.",
          "bankCode": "001"
        },
        "agency": {
          "number": "9999",
          "digit": "9"
        },
        "account": {
          "number": "999999",
          "digit": "9",
          "type": "checking"
        }
      },
      "status": {
        "code": "1",
        "description": "Pedido de resgate recebido."
      },
      "createdAt": "2019-04-02T17:11:20.000Z",
      "updatedAt": "2019-04-02T17:11:20.000Z"
    }
  ]
}

Este endpoint lista todos os resgates do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/redemptions

Parâmetros Query

Parâmetro Descrição Obrigatório
page Número da página a ser retornada Não
limit Número itens a ser retornado por página. Valor mínimo: 1, valor máximo: 100. Caso não seja infromado, será aplicado o valor default de 100 itens Não
search Parâmetro que recebe texto e efetua pesquisa nos campos de nome do banco, nome do titular da conta, número da agência da conta, número da conta Não
docNumber Parâmetro que filtra resgates a partir de cpf/cnpj do beneficiário. Pode ser informado com ou sem máscara Não
status Parâmetro que filtra resgates por um ou mais status separados por vírgula Não
sortBy Um hash contendo na chave, o nome do campo para ordenação e o valor DESC ou ASC para descendente e ascendente, respectivamente. Exemplos: sortBy[amount]=ASC, sortBy[approvedAt]=ASC, sortBy[createdAt]=ASC, sortBy[updatedAt]=DESC Não
createdAtFrom Filtra registros criados a partir da data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
createdAtTo Filtra registros criados até esta data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
updatedSince Filtra registros atualizados desde o valor passado no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não

Listar um resgate

Resposta

HTTP/1.1 200 Ok
{
  "id": "2c486134-0e27-4c1c-a312-0fe468dae711",
  "amount": 1000,
  "bankAccount": {
    "beneficiary": {
      "name": "João Silva",
      "doc": {
        "type": "cpf",
        "number": "64223737830"
      }
    },
    "bank": {
      "name": "Banco do Brasil S.A.",
      "bankCode": "001"
    },
    "agency": {
      "number": "9999",
      "digit": "9"
    },
    "account": {
      "number": "999999",
      "digit": "9",
      "type": "checking"
    }
  },
  "status": {
    "code": "1",
    "description": "Pedido de resgate recebido."
  },
  "createdAt": "2019-04-02T17:11:20.000Z",
  "updatedAt": "2019-04-02T17:11:20.000Z"
}

Este endpoint lista um resgate do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/bank-accounts/:id

Parâmetros URL

Parâmetro Descrição Obrigatório
ID O ID do resgate Sim

Criar resgate

Requisição

{
  "amount": "1000",
  "bankAccount": {
    "id": "8001d1cb-be89-488c-aee2-01c42e7f8c4b"
  }
}

Resposta

HTTP/1.1 200 Ok
{
  "id": "2c486134-0e27-4c1c-a312-0fe468dae711",
  "amount": "1000",
  "bankAccount": {
    "beneficiary": {
      "name": "João Silva",
      "doc": {
        "type": "cpf",
        "number": "64223737830"
      }
    },
    "bank": {
      "name": "Banco do Brasil S.A.",
      "bankCode": "001"
    },
    "agency": {
      "number": "9999",
      "digit": "9"
    },
    "account": {
      "number": "999999",
      "digit": "9",
      "type": "checking"
    }
  },
  "status": {
    "code": "1",
    "description": "Pedido de resgate recebido."
  },
  "createdAt": "2019-04-02T17:11:20.395Z",
  "updatedAt": "2019-04-02T17:11:20.395Z"
}

Este endpoint cria um resgate do saldo da conta.

Requisição HTTP

POST https://sandbox.easypag.com.br/api/v1/redemptions

Parâmetros Body

Parâmetro Descrição Tipo Obrigatório
amount Valor em centavos a ser solicitado. Deve ser menor ou igual ao valor disponível do saldo da conta Integer Sim
bankAccount Objeto da conta bancária Object Sim
bankAccount.id Id conta bancária cadastrada, para qual será efetuada a transferência do valor solicitado String Sim

Saldos

Consultar saldos

Resposta

HTTP/1.1 200 Ok
{
  "available": {
    "amount": 4000,
    "currency": "BRL"
  },
  "pendingPayments": {
    "amount": 28000,
    "currency": "BRL"
  },
  "pendingRedemptions": {
    "amount": 0,
    "currency": "BRL"
  }
}

Este endpoint lista os saldos do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/balances

Extratos

Tipos de Transação

O parâmetro type, retornado no objeto de resposta, contém o tipo de transação no extrato.

Tipo Descrição
1 Crédito de cobrança paga
2 Valor de resgate solicitado
3 Extorno de resgate solicitado
4 Débito de taxa de recebimento por boleto

Listar Extratos

Resposta

HTTP/1.1 200 Ok
{
  "page": 1,
  "limit": 100,
  "pagesTotal": 1,
  "count": 1,
  "results": [
    {
      "id": "134c09ae-9293-11e9-9611-73ceb10b2493",
      "amount": 1000,
      "balance": {
        "previousAmount": 1000,
        "availableAmount": 2000
      },
      "currency": "BRL",
      "type": "1",
      "description": "Crédito de cobrança(s) paga(s)",
      "reference": {
        "id": "1cae37d7-8006-439b-9a07-2580d79569f2",
        "type": "INVOICE"
      },
      "createdAt": "2019-03-26T10:45:38.000Z"
    }
  ]
}

Este endpoint lista os extratos do usuário.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/statements

Parâmetros Query

Parâmetro Descrição Obrigatório
page Número da página a ser retornada Não
limit Número itens a ser retornado por página. Valor mínimo: 1, valor máximo: 100. Caso não seja infromado, será aplicado o valor default de 100 itens Não
type Filtra registros que possuam o tipo de transação informada. Formato (Código do tipo de transação. Caso seja mais de um tipo, separar por vírgula.) Exemplo: type=1,2,3 ou type=1 Não
sortBy Um hash contendo na chave, o nome do campo para ordenação e o valor DESC ou ASC para descendente e ascendente, respectivamente. Exemplos: sortBy[amount]=DESC, sortBy[createdAt]=ASC Não
createdAtFrom Filtra registros criados a partir da data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não
createdAtTo Filtra registros criados até esta data passada no parâmetro. Formato (AAAA-MM-DDThh:mm:ss) Não

Relatórios

Listar Saldos de cobranças

Resposta

HTTP/1.1 200 Ok
{
  "total": {
    "amount": 816000,
    "paidAmount": 0,
    "count": 408
  },
  "payments": [
    {
      "status": "1",
      "description": "Aguardando pagamento",
      "count": 400,
      "amount": 800000
    },
    {
      "status": "2",
      "description": "Pago",
      "count": 3,
      "amount": 6000,
      "paidAmount": 0
    },
    {
      "status": "3",
      "description": "Marcado como pago",
      "count": 2,
      "amount": 4000
    },
    {
      "status": "4",
      "description": "Não Pago",
      "count": 1,
      "amount": 2000
    },
    {
      "status": "5",
      "description": "Cancelado",
      "count": 1,
      "amount": 2000
    },
    {
      "status": "6",
      "description": "Expirado",
      "count": 1,
      "amount": 2000
    }
  ]
}

Este endpoint lista os saldos acumulados de cobranças.

Requisição HTTP

GET https://sandbox.easypag.com.br/api/v1/reports/invoices/balances?startDate=2019-04-02&endDate=2019-04-30

Parâmetros Query

Parâmetro Descrição Obrigatório
startDate Data inicial de referência em formato ISO: YYYY-MM-DD Não
endDate Data final de referência em formato ISO: YYYY-MM-DD Não
docNumber CPF/CNPJ do cliente. Pode ser utilizado para exibir os saldos de cobranças referentes a um cliente Não

Erros

Autenticação

Código do Erro Código HTTP Descrição
4100 401 - Unauthorized Credenciais inválidas ou ausentes.

Cobrança

Código do Erro Código HTTP Descrição
4400 422 - Unprocessable Entity O valor total dos itens deve ser maior ou igual a 5,00 BRL.
4401 422 - Unprocessable Entity O valor total dos itens com os descontos aplicados deve ser maior ou igual a 5,00 BRL.
4402 422 - Unprocessable Entity O valor total dos itens com os descontos por antecipação deve ser maior ou igual a 5,00 BRL.
4403 422 - Unprocessable Entity Status do Pagamento inválido para cancelamento.
4404 422 - Unprocessable Entity ID do Cliente inválido ou inexistente.
4405 422 - Unprocessable Entity Status do Pagamento inválido para alteração do vencimento.
4406 422 - Unprocessable Entity Status do Pagamento inválido para marcar a fatura como paga.

Resgate

Código do Erro Código HTTP Descrição
4600 422 - Unprocessable Entity ID da conta bancária inválido ou inexistente.
4601 422 - Unprocessable Entity Saldo insuficiente para solicitar resgate.

Requisição

Código do Erro Código HTTP Descrição
4000 400 - Bad Request Parâmetro(s) inválido(s) ou ausente(s) na requisição.
4001 400 - Bad Request Body da requisição é inválido.
4002 422 - Unprocessable Entity Dado(s) duplicado(s). Certifique-se de que inserir valores únicos.
4003 429 - Too Many Requests Você atingiu o limite máximo de requisições.

Servidor

Código do Erro Código HTTP Descrição
5000 500 - Internal Server Error Erro interno no servidor. Por favor, tente novamente ou entre em contato com o suporte técnico.