Documentação da API
Guia técnico completo para integração com a plataforma Rebots e o sistema Receita Saúde da Receita Federal.
1. Introdução
Esta documentação descreve a API utilizada para automatizar a geração e gerenciamento de recibos eletrônicos de serviços de saúde, em conformidade com as normativas do sistema Receita Saúde da Receita Federal do Brasil.
A API foi desenvolvida pela Rebots para facilitar a integração entre os sistemas de gestão de prestadores de serviços de saúde e a plataforma oficial, permitindo a emissão, cancelamento e consulta de recibos de forma eficiente e segura.
O sistema Receita Saúde é uma iniciativa da Receita Federal que visa modernizar e simplificar a declaração de despesas médicas no Imposto de Renda, tanto para contribuintes quanto para prestadores de serviço.
Este manual técnico detalha todos os aspectos necessários para a correta utilização da API, incluindo processos de autenticação, endpoints disponíveis, operações suportadas, tratamento de erros e exemplos práticos de integração.
2. Visão Geral
A API Rebots para o Receita Saúde oferece uma interface programática robusta e simplificada, permitindo que sistemas de terceiros — como softwares de gestão de clínicas e consultórios — interajam de forma automatizada com o sistema de emissão de recibos da Receita Federal.
Emissão de Recibos
Geração de novos recibos eletrônicos com comunicação direta ao Receita Saúde.
Cancelamento de Recibos
Cancele recibos emitidos por erro ou solicitação do paciente/pagador.
Gerenciamento de Emissor
Ative, desative ou atualize informações do emissor vinculado.
Gerenciamento de Certificado
Upload e vinculação de certificado digital PFX para comunicação com a Receita Federal.
Sistema de Callback
Receba notificações assíncronas com status e PDF do recibo diretamente no seu sistema.
A API opera sobre o protocolo HTTPS, utiliza autenticação baseada em token JWT e todas as respostas são no formato JSON.
3. Autenticação
A API utiliza JWT (JSON Web Tokens) para garantir segurança e controle de acesso. Todas as requisições — com exceção da rota de obtenção do token — devem incluir um token de acesso válido no cabeçalho HTTP.
3.1 Obtenção do Token de Acesso
Para interagir com a API, o sistema cliente deve primeiro obter um token de acesso via requisição POST para o endpoint /token. O corpo deve conter a master_key fornecida no momento da contratação.
/receita-saude/v2/auth/tokenCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"master_key": "SUA_MASTER_KEY_FORNECIDA"
}Resposta de Sucesso (HTTP 200)
{
"access_token": "SEU_TOKEN_JWT_GERADO",
"token_type": "Bearer",
"client_name": "Nome do Cliente"
}access_token é único e exclusivo. Ao gerar um novo token, o anterior é automaticamente revogado e deve ser atualizado em todas as chamadas. Guarde a master_key com segurança — nunca a exponha em código front-end ou repositórios de versionamento.3.2 Utilização do Token de Acesso
O access_token deve ser incluído em todas as requisições no cabeçalho Authorization com o esquema Bearer.
Authorization: Bearer SEU_TOKEN_JWT_GERADO3.3 Segurança e Boas Práticas
- 01
Armazenamento Seguro da master_key
Mantenha a master_key em um local seguro no servidor, protegida contra acessos não autorizados.
- 02
Comunicação via HTTPS
Todas as comunicações devem ser feitas exclusivamente sobre HTTPS para garantir criptografia dos dados em trânsito.
- 03
Monitoramento e Logs
Monitore as requisições e mantenha logs das respostas, especialmente em casos de falha na autenticação.
master_key, entre em contato com o suporte técnico da Rebots imediatamente.3.4 Caminhos (Rotas) da API
Todas as funcionalidades são acessadas por caminhos específicos anexados à URL base fornecida no momento da configuração do serviço.
/receita-saude/v2/auth/tokenObtenção do token de acesso/receita-saude/v2/endpointRegistro da URL de callback/receita-saude/v2/issuersGerenciamento do emissor/receita-saude/v2/receiptsEmissão e cancelamento de recibos/receita-saude/v2/client/certificateUpload do certificado digital4. Operações
A API suporta diversas operações para o gerenciamento completo do ciclo de vida dos recibos eletrônicos e da configuração do emissor. Todas as operações são realizadas via requisições HTTP POST com corpo e respostas em JSON.
4.1.1 Ativar / Atualizar Emissor
Cria, atualiza ou ativa um emissor vinculado ao cliente.
/receita-saude/v2/issuersCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"cpf": "CPF_DO_PROFISSIONAL",
"action": "enable",
"occupation_code": "CODIGO_DA_OCUPACAO",
"registration": "REGISTRO_PROFISSIONAL"
}| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| identificador | string | Obrigatório | Código de identificação do Cliente. |
| action | string | Obrigatório | Deve ser "enable". |
| issuer_code | string | Obrigatório | Código identificador do emissor. |
| cpf | string | Obrigatório | CPF do titular do certificado digital (11 dígitos). Obrigatório para novo emissor. |
| occupation_code | string | Obrigatório | Código de ocupação do emitente. |
| registration | string | Opcional | Registro profissional do emitente. Obrigatório apenas se possuir dois registros. |
Resposta de Sucesso (HTTP 200)
{
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"message": "Issuer created and enabled successfully."
}4.1.2 Desativar Emissor
Desativa um emissor, impedindo novas emissões de recibo.
/receita-saude/v2/issuersCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"action": "disable"
}Resposta de Sucesso (HTTP 200)
{
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"message": "Issuer disabled successfully."
}4.2.1 Emissão de Recibo
/receita-saude/v2/receiptsCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"action": "issue",
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"receipt_id": 12345,
"payer": "CPF_PAGADOR",
"beneficiary": "CPF_BENEFICIARIO",
"amount": 2345.78,
"date": "2026-03-12T00:00:00",
"description": "Consulta médica",
"test": false
}| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| identificador | string | Obrigatório | Código de identificação do Cliente. |
| action | string | Obrigatório | Deve ser "issue". |
| receipt_id | integer | Obrigatório | Identificador único do recibo no sistema do Cliente. Usado para rastreamento e evitar duplicidade. |
| issuer_code | string | Obrigatório | Código do emissor cadastrado na plataforma Rebots. |
| payer | string | Obrigatório | CPF do pagador (somente números, 11 dígitos). |
| beneficiary | string | Opcional | CPF do beneficiário (11 dígitos). Se omitido, o pagador é considerado beneficiário. |
| amount | double | Obrigatório | Valor total do serviço (ex: 2345.78). |
| date | date | Obrigatório | Data do serviço no formato aaaa-mm-ddT00:00:00. |
| description | string | Obrigatório | Descrição do serviço prestado. Pode ser string vazia, mas deve estar presente. |
| test | boolean | Opcional | Se true, simula a emissão sem validade fiscal. Padrão: false. |
Resposta de Sucesso (HTTP 200)
{
"receipt_id": 12345,
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"success": true,
"message": "Issue request registered successfully"
}4.2.2 Cancelamento de Recibo
/receita-saude/v2/receiptsCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"action": "cancel",
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"receipt_id": 12345,
"reason": "Erro no valor informado",
"test": false
}| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| identificador | string | Obrigatório | Código de identificação do Cliente. |
| action | string | Obrigatório | Deve ser "cancel". |
| receipt_id | integer | Obrigatório | O mesmo receipt_id usado na emissão. |
| issuer_code | string | Obrigatório | Código identificador do emissor. |
| reason | string | Obrigatório | Motivo do cancelamento. |
| test | boolean | Opcional | Indica se o recibo original foi de teste. Padrão: false. |
Resposta de Sucesso (HTTP 200)
{
"receipt_id": 12345,
"issuer_code": "SEU_CODIGO_DE_EMISSOR",
"success": true,
"message": "Cancel request registered successfully"
}4.3.1 Upload de Certificado PFX
Realiza o upload do certificado digital utilizado para assinar as requisições junto à Receita Federal.
/receita-saude/v2/client/certificateCorpo da Requisição (multipart/form-data)
| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| identificador | string | Obrigatório | Código de identificação do Cliente. |
| certificate | file (.pfx) | Obrigatório | Arquivo do certificado digital no formato .pfx. |
| password | string | Obrigatório | Senha do certificado PFX. |
5. Sistema de Callback
Para informar o resultado final das operações assíncronas de emissão e cancelamento, a API utiliza um sistema de callback. O cliente deve registrar uma URL para a qual a API enviará uma requisição HTTP POST com os detalhes do resultado.
5.1 Registro de Endpoint de Callback
/receita-saude/v2/endpointCorpo da Requisição
{
"identificador": "CODIGO_DO_CLIENTE",
"url": "https://sua-api.com/callback",
"token": "SEU_TOKEN_DE_SEGURANCA"
}| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| identificador | string | Obrigatório | Código de identificação do Cliente. |
| url | string | Obrigatório | URL pública do endpoint que receberá as notificações POST. |
| token | string | Obrigatório | Token de autenticação que a Rebots incluirá no header das requisições de callback. |
Formato do Callback Recebido
{
"data": {
"receipt_id": 12345,
"issuer_code": "CODIGO_DO_EMISSOR",
"success": true,
"key": "IDENTIFICADOR_UNICO_NA_API",
"file_url": "https://url-expiravel-para-pdf",
"status_message": "Operation carried out successfully",
"original_action": "issue"
}
}| Parâmetro | Tipo | Req. | Descrição |
|---|---|---|---|
| receipt_id | integer | Obrigatório | Identificador único enviado originalmente pelo cliente. |
| issuer_code | string | Obrigatório | Código do emissor no sistema. |
| success | boolean | Obrigatório | Indica se a operação foi concluída com sucesso no Receita Saúde. |
| key | string | Opcional | Chave única do recibo gerada pela API. Presente em emissão bem-sucedida. |
| file_url | string | Opcional | URL expirável para download do PDF do recibo ou comprovante de cancelamento. |
| status_message | string | Obrigatório | Mensagem informativa sobre o resultado. Em caso de erro, descreve o problema. |
| original_action | string | Obrigatório | "issue" para emissão ou "cancel" para cancelamento. |
Requisitos do Endpoint de Callback
- A URL deve estar acessível publicamente na internet.
- Deve aceitar requisições HTTP POST com corpo JSON.
- Deve retornar HTTP 200 OK para confirmar o recebimento.
- Deve validar o token enviado no header Authorization.
6. Tratamento de Erros
A API utiliza códigos de status HTTP padrão para indicar sucesso ou falha. Em caso de erro, o corpo da resposta conterá um objeto JSON com error_code e error_message detalhando o problema.
{
"error_code": "CODIGO_DO_ERRO_ESPECIFICO",
"error_message": "Descrição detalhada do erro ocorrido."
}200OKRequisição bem-sucedida.400Bad RequestParâmetros inválidos ou ausentes no corpo da requisição.401UnauthorizedToken ausente, inválido, expirado ou revogado.403ForbiddenAcesso negado ao recurso solicitado.404Not FoundRecurso não encontrado.500Internal Server ErrorErro interno no servidor. Entre em contato com o suporte.Documentação da API Rebots · Versão 2.1
Última atualização: 12 de março de 2026