1. Regras e Limites de Requisição de Numerações
Notificações de Receita
NRA · NRB · NRB2 · NRR · NRTUtilizadas para medicamentos sob controle especial restrito (talidomida, retinoides, entorpecentes e psicotrópicos).
- •Mínimo e Máximo por Requisição:
O sistema exige a solicitação em lotes de no mínimo 10 e no máximo 50 numerações por chamada.
- •Limite Diário por Prescritor:
Existe um teto rígido de 50 numerações por dia para cada tipo de notificação, vinculado ao CPF do prescritor.
- •Dependência de Saldo (VISA Local):
A API só entrega os números se a Vigilância Sanitária (VISA) local já tiver aprovado e atribuído previamente essa cota ao CPF do médico no SNCR.
- •Saldo Inferior ao Pedido:
Se o saldo autorizado na VISA for inferior ao pedido (ex.: o médico pediu 50 mas restam 25), a API entregará apenas a quantidade restante disponível com mensagem informativa.
Controle Especial & Retenção
RCE · RETPara medicamentos da Lista C1/C5 da Portaria 344 e Antimicrobianos / agonistas GLP-1 da RDC 471.
- •Tamanho Fixo do Bloco (1.000 numerações):
Diferente das notificações, aqui não há escolha de quantidade fracionada; cada requisição gera um bloco fixo continuado de exatamente 1.000 numerações.
- •Limite Mensal de Solicitações:
Cada prescritor pode realizar no máximo 3 solicitações por mês para RCE e 3 solicitações por mês para RET, totalizando o teto mensal de 3.000 numerações/mês por tipo.
- •Atribuição Direta e Instantânea:
Não exige autorização prévia da VISA local — a atribuição da faixa numérica é feita de forma automática e instantânea pelo SNCR durante a chamada.
- •CNPJ da Empresa de Software:
Exige obrigatoriamente o envio do CNPJ válido da empresa desenvolvedora no payload para registro e rastreabilidade.
2. Referência de Erros e Diagnósticos da API SNCR
Utilize esta tabela para identificar a causa exata das respostas com código HTTP 400 ou 404 retornadas pelo backend da Anvisa:
| HTTP | Mensagem Retornada pela Anvisa | Causa Provável | Ação Recomendada |
|---|---|---|---|
| 400 | A quantidade mínima permitida é 10 | Quantidade informada < 10 em Notificação de Receita. | Solicitar no mínimo 10 numerações no campo de quantidade. |
| 400 | A quantidade máxima permitida é 50 | Quantidade informada > 50 em Notificação de Receita. | Ajustar o pedido para no máximo 50 numerações por requisição. |
| 400 | Limite diário de 50 receitas atingido | O médico já consumiu o teto diário de 50 números para este tipo de receita hoje. | Aguardar o próximo dia útil ou solicitar outro tipo de receituário. |
| 400 | Prescritor não possui saldo disponível | Não há saldo prévio autorizado e liberado pela VISA local no SNCR para este médico. | O prescritor deve solicitar liberação de cota junto à Vigilância Sanitária municipal/estadual. |
| 400 | Usuário atingiu o limite máximo de receita para o tipo no mês atual | O médico atingiu o teto de 3 solicitações (3.000 numerações) de RCE ou RET no mês. | Aguardar a virada do mês civil para novas requisições de RCE/RET. |
| 400 | CNPJ inválido | O CNPJ informado no payload possui formato incorreto ou falhou no dígito verificador. | Verificar o número do CNPJ da empresa desenvolvedora de software. |
| 404 | Inscrição fornecida é diferente da autenticada | O CPF do médico autenticado no Gov.br não corresponde ao CRM/UF informados. | Garantir que a pessoa física conectada no Gov.br seja a mesma titular do registro profissional. |
| 404 | O usuário informado não possui vínculo ativo no conselho | Registro do médico está inativo, cancelado ou divergente na base do CFM/CRMV/CRO. | Consultar a situação cadastral do profissional junto ao conselho regional. |
3. Arquitetura OAuth Gov.br e Requisitos de Domínio
A API do SNCR não utiliza chaves estáticas de API (*API Keys*). A autenticação é dinâmica por sessão:
1. Redirecionamento
GET auth/login?client_url=...
O navegador vai para o portal do Gov.br com state/nonce.
2. Callback session_id
?session_id=TOKEN
O Gov.br devolve o usuário com o token temporário de 30 segundos.
3. Troca por Bearer
GET auth/token?session_id=...
A aplicação troca o session_id pelo access_token Bearer.
client_url deve obrigatoriamente pertencer a um domínio brasileiro registrado sob o sufixo .br (em ambiente de desenvolvimento, localhost e 127.0.0.1 em qualquer porta são permitidos).