{
  "_type": "export",
  "__export_format": 4,
  "__export_source": "dokii",
  "resources": [
    {
      "_id": "wrk_b9476ee121f4a975c4b5d44969026129",
      "_type": "workspace",
      "parentId": null,
      "name": "NinePay API",
      "description": "# Introdução\nBem vindo a referência da **API NinePay**.\nÉ através desta API que você integra o seu sistema ao nosso.\nNossa API é <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Representational_state_transfer\">RESTful</a>, e todas suas respostas são em <a target=\"_blank\" href=\"https://www.json.org/\">JSON</a>, no endpoint base:\n```\nhttps://payments.cefis.com.br/api/v1/\n```\n\n## Ambientes\nAlém do ambiente de **produção** temos disponível o ambiente **sandbox**\npara a realização de testes de integração. Toda a comunicação com o ambiente sandbox deve ser feita através da url:\n\n```\nhttps://api.sandbox.cefispay.com.br/api/v1/\n```\n\n## Autenticação\nTodas as requisições que requerem autenticação, deverão informar no header `Authorization` o token de api enviado pela nossa equipe, observando sempre o ambiente desejado e no seguinte formato:\n```\nAuthorization: Bearer <token>\n```\n\n## Headers\nRecomendamos que os cabeçalhos da requisições sejam corretamente adicionados para trabalhar com os tipos de dados enviados e recebidos da API:\n  - Todas as requisições devem contem o header `Content-Type: application/json`, a menos que o endpoint específico defina diferente\n  - Todas as requisições devem contem o header `Accept: application/json`, a menos que o endpoint específico defina diferente\n\n## Respostas\n- Os recursos vêm dentro de `data`: `GET /customers/{id}` responde `{ \"data\": { ... } }`.\n- As criações respondem **201**. `POST /payments` responde `{ \"customer\", \"payment\", \"invoice_url\" }` (o `invoice_url` só no boleto) e `POST /subscriptions` responde `{ \"customer\", \"subscription\" }`.\n- Valores sempre em centavos (inteiro): R$ 50,00 é `5000`.\n\n## Erros\nTodo erro tem o mesmo formato:\n```json\n{\n  \"code\": \"VALIDATION_ERROR\",\n  \"message\": \"Os dados informados são inválidos.\",\n  \"errors\": { \"email\": [\"O campo email é obrigatório.\"] },\n  \"timestamp\": \"2026-10-22T12:03:54+00:00\",\n  \"request_id\": \"64d62d36-e797-45ed-a9d5-c203bde81032\",\n  \"documentation_url\": \"https://docs.ninepay.com.br\",\n  \"suggestion\": \"Corrija os campos e tente novamente.\"\n}\n```\n`errors` só vem na validação, com uma **lista** de mensagens por campo. `suggestion` vem quando há uma. Guarde o `request_id` para falar com o suporte.\n\n| `code` | HTTP | Quando |\n| --- | --- | --- |\n| `AUTHENTICATION_ERROR` | 401 | Token ausente ou inválido |\n| `FORBIDDEN_ERROR` | 403 | O recurso não é da sua empresa. Em várias rotas, um id que não existe também responde 403, para não revelar quais ids existem |\n| `COMPANYBLOCKED_ERROR` | 403 | A conta está suspensa |\n| `RESOURCE_NOT_FOUND_ERROR` | 404 | O recurso não existe |\n| `ROUTE_NOT_FOUND_ERROR` | 404 | A rota não existe |\n| `METHOD_NOT_ALLOWED_ERROR` | 405 | O método não vale para a rota (ex.: `PUT /customers` sem o id) |\n| `INVALID_STATE_ERROR` | 400 | O recurso não está num estado que permita a ação (ex.: cancelar um pagamento já pago) |\n| `VALIDATION_ERROR` | 422 | Dados inválidos; veja `errors` |\n| `REFUND_NOT_ALLOWED` | 422 | O pagamento não pode ser reembolsado |\n| `TOO_MANY_ATTEMPTS` | 429 | Muitas requisições; respeite o cabeçalho `Retry-After` |\n| `UNEXPECTED_ERROR` | 500 | Erro nosso; se repetir, fale com o suporte com o `request_id` |\n\n## Paginação\nAs listagens recebem `page` (a partir de 1) e `limit` (itens por página: **10** por padrão, de 1 a **100**). A resposta traz `data` (os itens), `links` e `meta` (`current_page`, `last_page`, `per_page`, `total`).\n\n## Datas\n- Datas de calendário (`due_date`, `next_payment`) vão como `AAAA-MM-DD` na requisição.\n- Nas respostas, os campos de data e hora aparecem em dois formatos: ISO 8601 em UTC (`2026-10-27T03:00:00.000000Z`, em `due_date` e `ref_date` do pagamento) e `AAAA-MM-DD HH:MM:SS` no horário de Brasília (`created_at` e `updated_at`). Leia o campo pelo formato dele.\n\n## Identificadores\nCada recurso tem um `id` numérico e um `uuid`. Use o `id` nas rotas autenticadas e o **`uuid`** em tudo que é público (o link de pagamento, o checkout e o PDF do boleto).\n\n# Hash de cartões\nO hash de um cartão é uma versão criptografada de todos os dados do cartão do cliente, essa é a maneira mais segura de enviar os dados do cartão\ndo seu cliente diretamente para a gente. Abaixo vamos detalhar como ele funciona e como obter um hash a partir dos dados inseridos pelo cliente.\nÉ importante ressaltar que esse fluxo deve ser executado no front-end, seja ele web ou mobile, e que os dados do cartão do cliente nunca devem\nser enviados para o backend, já o hash do cartão pode ser enviado para o backend sem problemas.\n\n## Gerando uma encryption key\nA encryption key consiste basicamente em uma chave pública RSA usada para encriptar os dados do cartão, essa chave só pode ser usada uma vez, então\nsempre que precisar encriptar um novo cartão você precisa gerar uma nova encryption key.\n\nPara gerar uma encryption key é necessário fazer uma requisição ``POST`` para a rota ``/encryption_keys`` da API enviando como parâmetro seu\n``merchant_id``. Ela não usa o token da API (nunca o coloque no front-end): o ``merchant_id`` identifica a sua conta, e um\n``merchant_id`` que não existe responde 401.\n\nA requisição deverá ter esse formato:\n```\ncurl -X POST https://payments.cefis.com.br/api/v1/encryption_keys -H 'Content-Type: application/json' -d '{\"merchant_id\":\"SEU_MERCHANT_ID\"}'\n```\n\nComo resposta você receberá um objeto JSON no seguinte formato:\n```\n{\n  \"id\": 1111,\n  \"public_key\": \"-----BEGIN PUBLIC KEY-----\\n ... \\n-----END PUBLIC KEY-----\\n\",\n  \"ip_address\": \"000.000.000.000\",\n  \"created_at\": \"2017-07-03\",\n}\n```\n\n## Encriptando os dados do cartão\nPara encriptar os dados do cartão primeiro você precisa formatá-los de forma correta, para isso crie uma string JSON\ncontendo todos os dados do cartão no seguinte formato:\n\n```\n{\"card_number\":\"1111111111111111\",\"card_holder_name\":\"Jose Silva\",\"card_expiration_date\":\"11/2021\",\"card_cvv\":\"111\"}\n```\n\nEm seguida faça a criptografia RSA dessa string utilizando a chave pública (public_key) gerada no passo anterior, com\npadding do tipo PKCS1.\n\nApós criptografar os dados converta a string resultante para base64 e você terá um resultado parecido com esse:\n\n```\nGprWNDlg+MKGgtr6y9wJgz7oOUxGuhhdX3EwydmoOvb+yNDWrjDKktDtWicReOrvSo0u5rsNvCqBFjyoMfaRXn4Qq3KdV8vuuFXubb4FT3OcSSVpu6ddaOjm2tf82+GKjdCy54Lgw4T0m9mWdLPveh/zkYP0+4lhHCFhBKX5EqBdR4918wP5oUV1KpzV4V94ldSA+Cy2n1NUxyUiSnv87H2m+HkdqKDIcX9X8KEtUmorC/EjTPzoeEdpRdj8t3ThcL73mirJvDcYthSdT/ADyaFQ2hMRMkKEVOQjUYMn76vzWyQkqsZ+HVQlxQMOBVHPh5yfrmi1HAVd1jLQuOK8wQ==\n```\n\nO último passo é concatenar o id da sua encryption key (recebido como resposta da requisição anterior) com a string\nem base64 que representa os dados do cartão, da seguinte forma:\n\n``encryption_key_id + \"_\" + base64_encrypted_card``\n\nO resultado será o seu card hash:\n\n```\n1111_GprWNDlg+MKGgtr6y9wJgz7oOUxGuhhdX3EwydmoOvb+yNDWrjDKktDtWicReOrvSo0u5rsNvCqBFjyoMfaRXn4Qq3KdV8vuuFXubb4FT3OcSSVpu6ddaOjm2tf82+GKjdCy54Lgw4T0m9mWdLPveh/zkYP0+4lhHCFhBKX5EqBdR4918wP5oUV1KpzV4V94ldSA+Cy2n1NUxyUiSnv87H2m+HkdqKDIcX9X8KEtUmorC/EjTPzoeEdpRdj8t3ThcL73mirJvDcYthSdT/ADyaFQ2hMRMkKEVOQjUYMn76vzWyQkqsZ+HVQlxQMOBVHPh5yfrmi1HAVd1jLQuOK8wQ==\n```\n\nPronto, agora os dados do cartão do cliente já estão em um formato seguro para serem transportados pela rede, podendo\nagora ser enviados para o seu back-end dar sequência ao fluxo. Vale lembrar que cada card hash pode ser usado apenas\numa vez e além disso tem uma validade máxima de 30 minutos após a geração da encryption key. Caso seja necessário utilizar\no cartão mais de uma vez faça uma requisição para a rota de cartões e salve esse cartão vinculado ao usuário que o detém,\nassim você receberá um ID único que poderá ser usado para realizar mais transações com o mesmo cartão.\n\n[Documentação](https://docs.ninepay.com.br/reference)",
      "scope": "collection"
    },
    {
      "_id": "env_22ff3acdabd17a36e26343168aae59b2",
      "_type": "environment",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Base Environment",
      "data": {
        "baseUrl": "https://api.sandbox.cefispay.com.br/api/v1",
        "token": ""
      },
      "dataPropertyOrder": {
        "&": [
          "baseUrl",
          "token"
        ]
      },
      "color": null,
      "isPrivate": false,
      "metaSortKey": 0
    },
    {
      "_id": "env_254298216ccceb226d1ebfdd9497bc40",
      "_type": "environment",
      "parentId": "env_22ff3acdabd17a36e26343168aae59b2",
      "name": "Servidor de Testes (sandbox)",
      "data": {
        "baseUrl": "https://api.sandbox.cefispay.com.br/api/v1",
        "token": ""
      },
      "dataPropertyOrder": {
        "&": [
          "baseUrl",
          "token"
        ]
      },
      "color": null,
      "isPrivate": false,
      "metaSortKey": 1
    },
    {
      "_id": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "_type": "request_group",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Pagamentos",
      "description": "Pagamentos",
      "environment": {},
      "metaSortKey": 0
    },
    {
      "_id": "req_de226ef9a70971ccd6b72066db0ab7cb",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Criar novo pagamento",
      "description": "Realiza uma cobrança via cartão de crédito, boleto bancário ou PIX. **Nota:** Pagamentos com cartão devem incluir um hash de cartão (se você ainda não sabe como obter um, consulte a sessão [Hash de cartões](https://docs.ninepay.com.br/referencia/ninepay-api#encriptando-os-dados-do-cartão)) ou os dados do cartão. Dê sempre preferência ao método de hash por ser uma alternativa mais segura.\n**Cartão de crédito:** o cliente do pagamento (informado em `customer` ou já cadastrado) precisa ter CPF ou CNPJ, telefone, CEP e número do endereço. Esses dados são enviados à adquirente como dados do titular, e a cobrança é recusada se algum deles estiver faltando. Recomendamos cadastrar o cliente com o máximo de informações possível, mesmo que hoje você só cobre por boleto ou Pix.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/criar-novo-pagamento)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/payments",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"method\": \"credit\",\n  \"value\": \"string\",\n  \"fine\": 0,\n  \"interest\": 0,\n  \"custom_data\": {\n    \"rg\": \"21.526.170-7\"\n  },\n  \"customer\": {\n    \"name\": \"Jhon Doe\",\n    \"email\": \"jhon@doe.com\",\n    \"cpf\": \"833.828.600-15\",\n    \"cnpj\": \"95.135.209/0001-79\",\n    \"phone\": \"(11) 11111-1111\",\n    \"cep\": \"01423-910\",\n    \"address\": \"Rua José Maria Lisboa\",\n    \"number\": 42,\n    \"district\": \"Jardim Paulista\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"BR\"\n  },\n  \"items\": [\n    {\n      \"name\": \"Serviço adicional de consultoria\",\n      \"value\": 2000,\n      \"amount\": 2\n    }\n  ],\n  \"fraud_prevention\": {\n    \"session_id\": \"EoXa4RJP3bdGk\",\n    \"ip\": \"163.39.202.130\"\n  },\n  \"card_hash\": \"32_wbFpoccZsXLzRTU8QojcGR5E6Sd\",\n  \"card\": {\n    \"number\": 5520392774513817,\n    \"holder\": \"Jhon Doe\",\n    \"expiration\": \"06/2029\",\n    \"cvv\": 123\n  },\n  \"installments\": 1,\n  \"due_date\": \"2027-07-21\"\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 0,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_a262a824fa8dac9e91a2b460d08e7255",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Atualizar pagamento existente",
      "description": "Atualiza um pagamento existente com base no ID fornecido. **Nota:** É necessário fornecer o ID do pagamento que deseja atualizar.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/atualizar-pagamento-existente)",
      "method": "PUT",
      "url": "{{ _.baseUrl }}/payments/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"method\": \"credit\",\n  \"value\": \"string\",\n  \"fine\": 0,\n  \"interest\": 0,\n  \"custom_data\": {\n    \"rg\": \"21.526.170-7\"\n  },\n  \"customer\": {\n    \"name\": \"Jhon Doe\",\n    \"email\": \"jhon@doe.com\",\n    \"cpf\": \"833.828.600-15\",\n    \"cnpj\": \"95.135.209/0001-79\",\n    \"phone\": \"(11) 11111-1111\",\n    \"cep\": \"01423-910\",\n    \"address\": \"Rua José Maria Lisboa\",\n    \"number\": 42,\n    \"district\": \"Jardim Paulista\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"BR\"\n  },\n  \"items\": [\n    {\n      \"name\": \"Serviço adicional de consultoria\",\n      \"value\": 2000,\n      \"amount\": 2\n    }\n  ],\n  \"fraud_prevention\": {\n    \"session_id\": \"EoXa4RJP3bdGk\",\n    \"ip\": \"163.39.202.130\"\n  },\n  \"card_hash\": \"32_wbFpoccZsXLzRTU8QojcGR5E6Sd\",\n  \"card\": {\n    \"number\": 5520392774513817,\n    \"holder\": \"Jhon Doe\",\n    \"expiration\": \"06/2029\",\n    \"cvv\": 123\n  },\n  \"installments\": 1,\n  \"due_date\": \"2027-07-21\"\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 1,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_104a775682b75526818022dbbf286115",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Obter detalhes do pagamento",
      "description": "Retorna os detalhes de um pagamento específico, com base no ID fornecido. **Nota:** É necessário fornecer o ID do pagamento para obter os detalhes.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/obter-detalhes-do-pagamento)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/payments/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [
        {
          "name": "with[]",
          "value": "",
          "description": "Os dados relacionados a incluir na resposta. Envie o parâmetro uma vez para cada valor. Ex.: `?with[]=customer&with[]=refunds`. Use `refunds` para acompanhar um reembolso.",
          "disabled": true
        }
      ],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 2,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_4393cc8989d5ecf06e337f564f818342",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Cancelar um pagamento",
      "description": "Cancela o pagamento com base no ID fornecido. Um pagamento cancelado não gera mais envio de comunicações ao cliente. Caso seja um pagamento de assinatura, o sistema irá considerar o pagamento como pago a fim de determinar o status da assinatura.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/cancelar-um-pagamento)",
      "method": "DELETE",
      "url": "{{ _.baseUrl }}/payments/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [
        {
          "name": "id",
          "value": "",
          "description": "O id do pagamento a ser cancelado",
          "disabled": false
        }
      ],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 3,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_5e153a1b0c3da871460eb32fd6eba69e",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Dar baixa em pagamento",
      "description": "Marca um pagamento como pago. Utilize esta opção para registrar na NinePay um pagamento que foi feito fora do sistema, como por exemplo, um pagamento em dinheiro ou transferência bancária. Após ser marcado como pago, o cliente não receberá mais cobranças referentes a este pagamento.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/dar-baixa-em-pagamento)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/payment/:id/write-off",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"valueType\": \"normal\"\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 4,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_862dfe914e47dfb60fc8759190dc65ac",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Reembolsar um pagamento",
      "description": "Solicita o reembolso (estorno) integral de um pagamento já pago. O valor é devolvido ao cliente pelo mesmo meio em que ele pagou.\n\nUm pagamento só pode ser reembolsado quando:\n- o `status` é `paid`;\n- o `method` é `credit` ou `pix` (boleto e baixa manual não podem ser reembolsados);\n- o prazo não expirou: até 350 dias após o pagamento para `credit` e até 90 dias para `pix`;\n- não existe outro reembolso deste pagamento em andamento;\n- a sua conta tem saldo suficiente para cobrir o valor do pagamento que já foi liberado.\n\nO campo `can_refund` do pagamento indica se ele atende a essas condições, com exceção do saldo e de um reembolso em andamento. Consulte-o antes de chamar este endpoint.\n\n**Resultado:** uma resposta 200 quer dizer que o reembolso foi solicitado à adquirente, não que ele foi concluído. Confira o `status` do pagamento na resposta:\n- `reversed`: a adquirente concluiu o reembolso na hora.\n- `paid`: o reembolso ficou em processamento ou foi recusado pela adquirente. Para saber qual dos dois, consulte o pagamento no endpoint de obter detalhes do pagamento com `with[]=refunds` e veja o `status` do reembolso mais recente em `refunds`.\n\nReembolsos em processamento são consultados na adquirente a cada 5 minutos. Quando um deles é concluído, o `status` do pagamento passa a ser `reversed` e o evento de pagamento atualizado é disparado. Um reembolso com `status` `failed` não é tentado de novo; você pode solicitar um novo reembolso por este endpoint.\n\n**Atenção:** quando o pagamento não pode ser reembolsado, a API responde com o status HTTP 500 e o código `UNEXPECTED_ERROR`, sem detalhar o motivo em produção. Verifique as condições acima antes de tentar novamente.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/reembolsar-um-pagamento)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/payment/reversal",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"payment\": {\n    \"id\": 42\n  }\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 5,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_34c56443ee594565a7bd55e152c2bb95",
      "_type": "request",
      "parentId": "fld_c2017d7d0dd6d5d6f3504979a297d59c",
      "name": "Obter PDF do boleto",
      "description": "Retorna o PDF do boleto correspondente ao pagamento especificado pelo UUID especificado. **Atenção:** deve ser o UUID do pagamento, não o ID. Apenas para pagamentos que tenham boleto como método habilitado e ainda não estejam pagos.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/obter-pdf-do-boleto)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/payment/:uuid/invoice",
      "pathParameters": [
        {
          "name": "uuid",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/pdf",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {},
      "metaSortKey": 6,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "fld_d82f0e1a600d1f241de261fcdffe3c11",
      "_type": "request_group",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Clientes",
      "description": "Clientes",
      "environment": {},
      "metaSortKey": 1
    },
    {
      "_id": "req_c322e38a0d1f38f9098b229f0961315a",
      "_type": "request",
      "parentId": "fld_d82f0e1a600d1f241de261fcdffe3c11",
      "name": "Criar novo cliente",
      "description": "O cliente é uma figura essencial no fluxo de pagamentos, pois representa quem de fato irá realizar um pagamento. Ao criar um cliente na NinePay, um ID único será retornado. Recomendamos vincular este ID aos dados do usuário em seu sistema para evitar a criação de múltiplas contas na NinePay para o mesmo cliente.\n**Cartão de crédito:** para cobrar um cliente no cartão, o cadastro dele precisa ter CPF ou CNPJ, telefone, CEP e número do endereço. Esses dados são enviados à adquirente como dados do titular, e a cobrança é recusada se algum deles estiver faltando. Recomendamos cadastrar o cliente com o máximo de informações possível, mesmo que hoje você só cobre por boleto ou Pix.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/criar-novo-cliente)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/customers",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"string\",\n  \"email\": \"string\",\n  \"cpf\": \"13690958725\",\n  \"cnpj\": \"32614517000167\",\n  \"phone\": \"(11) 95665-6556\",\n  \"cep\": \"01001-010\",\n  \"address\": \"string\",\n  \"number\": \"string\",\n  \"complement\": \"string\",\n  \"district\": \"string\",\n  \"city\": \"string\",\n  \"state\": \"SP\",\n  \"country\": \"BR\",\n  \"status\": 1\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 0,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_715fb00d0e4872ca8d7c2f6cedbe778d",
      "_type": "request",
      "parentId": "fld_d82f0e1a600d1f241de261fcdffe3c11",
      "name": "Atualizar cliente existente",
      "description": "Atualiza um cliente existente com base no ID fornecido. **Nota:** É necessário fornecer o ID do cliente que deseja atualizar.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/atualizar-cliente-existente)",
      "method": "PUT",
      "url": "{{ _.baseUrl }}/customers",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"string\",\n  \"email\": \"string\",\n  \"cpf\": \"13690958725\",\n  \"cnpj\": \"32614517000167\",\n  \"phone\": \"(11) 95665-6556\",\n  \"cep\": \"01001-010\",\n  \"address\": \"string\",\n  \"number\": \"string\",\n  \"complement\": \"string\",\n  \"district\": \"string\",\n  \"city\": \"string\",\n  \"state\": \"SP\",\n  \"country\": \"BR\",\n  \"status\": 1\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 1,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_b175d1fbc7ad5f26d3b0af7520e565ff",
      "_type": "request",
      "parentId": "fld_d82f0e1a600d1f241de261fcdffe3c11",
      "name": "Obter detalhes do cliente",
      "description": "Retorna os detalhes de um cliente específico, com base no ID fornecido. **Nota:** É necessário fornecer o ID do cliente para obter os detalhes.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/obter-detalhes-do-cliente)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/customers",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 2,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "fld_9c5cee4b406a5bc5718298bc280a56f3",
      "_type": "request_group",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Planos",
      "description": "Planos",
      "environment": {},
      "metaSortKey": 2
    },
    {
      "_id": "req_02b5185422465ed0da5e15d95699258e",
      "_type": "request",
      "parentId": "fld_9c5cee4b406a5bc5718298bc280a56f3",
      "name": "Criar novo plano",
      "description": "Cria um novo plano que será utilizado no fluxo de pagamentos recorrente. O plano define as configurações para as assinaturas que farão parte dele, como valor, periodicidade, métodos aceitos e outras.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/criar-novo-plano)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/plan",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"Plano Recorrente Acme\",\n  \"methods\": [\n    \"credit\"\n  ],\n  \"value\": 2500,\n  \"status\": \"credit\",\n  \"interval\": 1,\n  \"interval_type\": \"months\",\n  \"dunning_id\": 1\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 0,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_ad2f5a4d65529bc0a3a6c58009bc502b",
      "_type": "request",
      "parentId": "fld_9c5cee4b406a5bc5718298bc280a56f3",
      "name": "Atualizar plano existente",
      "description": "Atualiza um plano existente com base no ID fornecido. **Nota:** É necessário fornecer o ID do plano que deseja atualizar.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/atualizar-plano-existente)",
      "method": "PUT",
      "url": "{{ _.baseUrl }}/plan",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"Plano Recorrente Acme\",\n  \"methods\": [\n    \"credit\"\n  ],\n  \"value\": 2500,\n  \"status\": \"credit\",\n  \"interval\": 1,\n  \"interval_type\": \"months\",\n  \"dunning_id\": 1\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 1,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_a2fc28634dd612ae8287d3e5c4b6cffd",
      "_type": "request",
      "parentId": "fld_9c5cee4b406a5bc5718298bc280a56f3",
      "name": "Obter detalhes do plano",
      "description": "Retorna os detalhes de um plano específico, com base no ID fornecido. **Nota:** É necessário fornecer o ID do plano para obter os detalhes.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/obter-detalhes-do-plano)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/plan",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 2,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "_type": "request_group",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Assinaturas",
      "description": "Assinaturas",
      "environment": {},
      "metaSortKey": 3
    },
    {
      "_id": "req_36b9f62298c2cbf96a868a7e1c47de2f",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Criar nova assinatura",
      "description": "Cria uma nova assinatura, que representa uma cobrança recorrente, vinculando um cliente a um plano específico.\n**Cartão de crédito:** se a assinatura for cobrada no cartão, o cadastro do cliente precisa ter CPF ou CNPJ, telefone, CEP e número do endereço. Esses dados são enviados à adquirente como dados do titular, e a cobrança é recusada se algum deles estiver faltando. Recomendamos cadastrar o cliente com o máximo de informações possível, mesmo que hoje você só cobre por boleto ou Pix.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/criar-nova-assinatura)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/subscriptions",
      "pathParameters": [],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"customer\": {\n    \"id\": 0\n  },\n  \"plan\": {\n    \"id\": 0\n  },\n  \"coupon_codes\": [\n    [\n      \"ABC123\",\n      \"DEF456\"\n    ]\n  ],\n  \"products\": [\n    {\n      \"identifier\": \"Membro adicional\",\n      \"value\": 1290,\n      \"name\": \"Membro adicional\"\n    }\n  ]\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 0,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_6e2fe4d4136078ef68e5b763382de4f4",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Atualizar assinatura existente",
      "description": "Atualiza uma assinatura existente com base no ID fornecido. **Nota:** É necessário fornecer o ID da assinatura que deseja atualizar.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/atualizar-assinatura-existente)",
      "method": "PUT",
      "url": "{{ _.baseUrl }}/subscriptions/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"customer\": {\n    \"id\": 0\n  },\n  \"plan\": {\n    \"id\": 0\n  },\n  \"coupon_codes\": [\n    [\n      \"ABC123\",\n      \"DEF456\"\n    ]\n  ]\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 1,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_e33c20fe7be842d5d80344e2843ef1b2",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Obter detalhes da assinatura",
      "description": "Retorna os detalhes de uma assinatura específica, com base no ID fornecido. **Nota:** É necessário fornecer o ID da assinatura para obter os detalhes.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/obter-detalhes-da-assinatura)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/subscriptions/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 2,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_5222e33c653afaafaf849ceebc2fe812",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Cancelar uma assinatura",
      "description": "Cancela uma assinatura. Assinaturas canceladas não enviam mais cobranças aos clientes e não geram pagamentos futuros.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/cancelar-uma-assinatura)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/subscriptions/:id",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"id\": 42\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 3,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_959a902637131b269b4f5dbab601e386",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Listar os produtos da assinatura",
      "description": "Lista os produtos de uma assinatura. Os produtos são cobrados junto do plano, e a soma deles com o valor do plano é o `amount` da assinatura.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/listar-os-produtos-da-assinatura)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/subscriptions/:id/products",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 4,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_39965001aa6f3441eb91ae254edac602",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Anexar produtos à assinatura",
      "description": "Anexa produtos a uma assinatura já criada. Eles passam a ser cobrados junto do plano a partir da cobrança seguinte. Para que os produtos entrem já na primeira cobrança, envie-os no campo `products` na criação da assinatura.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/anexar-produtos-a-assinatura)",
      "method": "POST",
      "url": "{{ _.baseUrl }}/subscriptions/:id/products",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json",
          "disabled": false
        },
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"products\": [\n    {\n      \"identifier\": \"Membro adicional\",\n      \"value\": 1290,\n      \"name\": \"Membro adicional\"\n    }\n  ]\n}"
      },
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 5,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "req_5b49f095e55f06447555126bc639c927",
      "_type": "request",
      "parentId": "fld_7977410073b1e9d4daeb8b422509d0f6",
      "name": "Remover um produto da assinatura",
      "description": "Remove um produto da assinatura, que deixa de ser cobrado a partir da cobrança seguinte. Quando nenhum produto da assinatura tem o `identifier` informado, o produto mais antigo é removido.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/remover-um-produto-da-assinatura)",
      "method": "DELETE",
      "url": "{{ _.baseUrl }}/subscriptions/:id/products/:identifier",
      "pathParameters": [
        {
          "name": "id",
          "value": ""
        },
        {
          "name": "identifier",
          "value": ""
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 6,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    },
    {
      "_id": "fld_3e72fd1fe3946c675d036000a2714762",
      "_type": "request_group",
      "parentId": "wrk_b9476ee121f4a975c4b5d44969026129",
      "name": "Consultas",
      "description": "Consultas",
      "environment": {},
      "metaSortKey": 4
    },
    {
      "_id": "req_f963e39c648ddeb151e2d886b8652e77",
      "_type": "request",
      "parentId": "fld_3e72fd1fe3946c675d036000a2714762",
      "name": "Consultar CNPJ",
      "description": "Retorna os dados cadastrais de uma empresa pelo CNPJ, como razão social, nome fantasia e endereço, para preencher formulários de cadastro e cobrança. O CNPJ pode ser enviado com ou sem pontuação (sem a barra, que quebraria o caminho). **Limite:** 30 consultas por minuto por token.\n\n[Ver na documentação](https://docs.ninepay.com.br/reference/consultar-cnpj)",
      "method": "GET",
      "url": "{{ _.baseUrl }}/cnpj/:cnpj",
      "pathParameters": [
        {
          "name": "cnpj",
          "value": "00000000000191"
        }
      ],
      "parameters": [],
      "headers": [
        {
          "name": "Accept",
          "value": "application/json",
          "disabled": false
        }
      ],
      "body": {},
      "authentication": {
        "type": "bearer",
        "token": "{{ _.token }}",
        "prefix": ""
      },
      "metaSortKey": 0,
      "isPrivate": false,
      "settingEncodeUrl": true,
      "settingSendCookies": true,
      "settingStoreCookies": true,
      "settingRebuildPath": true,
      "settingFollowRedirects": "global"
    }
  ]
}
