Códigos de erro - Amplia Reg
Quando uma chamada à API do Amplia Reg falha por causa da forma como foi feita, por exemplo por falta de um campo ou porque
o pedido está no status errado, a API responde com o código HTTP 422 (Unprocessable Entity) e um ErrorModel no corpo. Em .NET, a client
lib lança uma AmpliaRegException. Nos dois casos, o código de erro identifica o problema. Veja
Códigos de resposta HTTP para o formato.
{
"code": "OrderNotFound",
"message": "Order not found"
}
Use o campo code para decidir o que fazer. O campo message ajuda a diagnosticar o problema e deve ser registrado em log, e não
mostrado ao usuário: ele está sempre em inglês e o texto pode mudar.
As tabelas abaixo listam os códigos que você tem mais chance de receber ao chamar as APIs descritas neste Guia de Integração, agrupados por assunto.
Autoridade de registro
| Código | Quando acontece |
|---|---|
RegistrationAuthorityRequired | A requisição de criação de pedido não indicou em qual autoridade de registro criar o pedido: envie registrationAuthority no corpo |
RegistrationAuthorityNotFound | A autoridade de registro informada na requisição não existe |
SubscriptionRequired | A requisição precisa de uma autoridade de registro no header X-Subscription, como na criação de pedidos pré-aprovados, e nenhuma foi enviada |
NormalSubscriptionRequired | O header X-Subscription indicou a assinatura raiz em vez de uma autoridade de registro |
CertificationAuthorityMismatch | O tipo de certificado pertence a uma autoridade certificadora diferente da autoridade de registro |
Tipo de certificado e tipo de titular
| Código | Quando acontece |
|---|---|
CertificateTypeNotFound | Não existe tipo de certificado com o code ou o id informado na autoridade certificadora |
BadCertificateTypeReference | certificateType não tem code nem id |
CertificateTypeDisabled | O tipo de certificado está desabilitado |
CertificateFormatMismatch | O tipo de certificado é de um formato diferente da rota chamada, por exemplo um tipo de certificado SSL em /api/brazil/orders |
HolderTypeNotFound | Não existe tipo de titular com o code ou o id informado |
BadHolderTypeReference | holderType não tem code nem id |
HolderTypeDisabled | O tipo de titular está desabilitado |
HolderTypeNotAllowed | O tipo de certificado não aceita o tipo de titular informado, ou não aceita tipos de titular |
HolderTypeIsRequired | O tipo de certificado aceita mais de um tipo de titular e holderType não foi informado |
InvalidValidityOption | O tipo de certificado não oferece a validade informada |
ValidityIsRequired | O tipo de certificado tem mais de uma opção de validade e validity não foi informada |
Dados do pedido
| Código | Quando acontece |
|---|---|
InvalidParams | Falta um campo obrigatório do titular. Em um certificado de pessoa jurídica do padrão ICP-Brasil (e-CNPJ): organizationName ou cnpj |
CustomNumberNotAllowed | number foi enviado, mas a instância não permite números de pedido personalizados |
OrderNumberAlreadyExists | Outro pedido já tem o number informado |
SaleNumberNotAllowed | saleNumber foi enviado, mas a instância não usa número de venda |
SaleNumberIsRequired | A instância exige saleNumber e ele não foi enviado |
PrimaryEmailInUseForAnotherPerson, AlternativeEmailInUseForAnotherPerson, BothEmailsInUseForAnotherPerson | A instância permite só uma pessoa por endereço de e-mail, e um e-mail de contact já pertence a outro titular |
SelfOperationDenied | A instância não permite que agentes atuem nos próprios pedidos, e o titular é o usuário que fez a chamada |
OrderCreationDisabled | A instância não permite que usuários criem pedidos. Aplicações não são afetadas |
InvalidCsr | Não foi possível decodificar a CSR enviada |
Tipo de emissão
| Código | Quando acontece |
|---|---|
InvalidIssueType | issueType é PreApproved. Pedidos pré-aprovados têm API própria: veja Criação de pedidos pré-aprovados |
CertificateTypeDoesNotAllowVideoConference | issueType é VideoConference, mas o tipo de certificado não permite videoconferência |
CertificateTypeDoesNotAllowVideoIdentification | issueType é VideoIdentification, mas o tipo de certificado não permite vídeo identificação |
VideoConferenceDisabled | A videoconferência ou a vídeo identificação não está configurada na instância |
IssueTypeDoesNotAllowStartValidation | startValidation foi pedido para um tipo de emissão que não permite isso |
Verificações da ICP-Brasil
| Código | Quando acontece |
|---|---|
RfbQueryNotApproved | A instância faz a consulta prévia RFB na criação do pedido, e a consulta não aprovou os dados do titular. A mensagem traz o motivo devolvido pela consulta |
RfbQueryNameMismatch | O nome no pedido é diferente do nome devolvido pela consulta RFB. Use o nome devolvido pela consulta |
RfbQueryOrganizationNameMismatch | A razão social no pedido é diferente da devolvida pela consulta RFB. Use a razão social devolvida pela consulta |
RfbQueryIsDisabled | A API de consulta prévia RFB foi chamada, mas a consulta RFB não está configurada na instância |
PSBioDisabled | A consulta de cadastro biométrico foi chamada, mas a integração biométrica não está configurada na instância |
Documentos do titular
| Código | Quando acontece |
|---|---|
HolderFilesRequired, MissingRequiredHolderFileType | Falta um documento exigido pelo tipo de titular, ou a foto, quando o tipo de certificado tem a etapa de biometria habilitada. A mensagem lista os tipos que faltam |
InvalidHolderFileType | Um tipo de documento não existe. Tipos de documento personalizados levam o prefixo @ |
HolderFileTypeCannotBeAdded | O tipo de titular não aceita algum dos tipos de documento enviados |
CertificateTypeDoesNotAllowDocuments | Foram enviados documentos para um tipo de certificado com a etapa de documentos desabilitada |
UnexpectedHolderFileSubtype | O tipo de documento não aceita subtipos, ou não aceita o subtipo informado |
MissingRequiredDocumentPart | subtype foi informado sem documentPart |
UnexpectedDocumentPart | O documentPart não é permitido para o subtype |
Pedidos existentes
| Código | Quando acontece |
|---|---|
OrderNotFound | Não existe pedido com o número informado |
CannotCancelOrder | O pedido não pode ser cancelado porque já foi emitido, revogado ou cancelado |
OrderCannotUpdate | Os dados do pedido não podem mais ser alterados por causa do status, por exemplo a partir de Aguardando emissão |
InvalidOrderStatus | A operação não é permitida no status atual do pedido |
InvalidIssueType | Uma operação de pedido pré-aprovado foi chamada para um pedido que não é pré-aprovado |
IssueKey1Disabled | A chave de emissão 1 foi solicitada, mas a instância usa uma única chave de emissão |
Os códigos acima são os mais retornados pelas APIs deste guia. A lista não é completa: existem outros códigos, e novos códigos podem ser
adicionados a qualquer momento, sem aviso prévio. Trate códigos desconhecidos como uma falha genérica e registre a message em log.