ERP senior X > Mercado > Gestão de vendas > Integrações > Integração para inclusão de notas via API

Integração para inclusão de notas fiscais via API

A API createAuthorizedInvoice permite que o integrador envie, na mesma requisição da nota fiscal autorizada, os dados cadastrais de cliente, transportadora e endereço de entrega. Com isso, o sistema realiza automaticamente a validação e o cadastro dessas informações quando necessário, eliminando a necessidade de chamadas adicionais para criação prévia de pessoas e endereços.

Durante o processamento, o sistema verifica automaticamente se os cadastros já existem na base de dados. Caso não existam, eles são criados antes da geração da nota fiscal.

Importante

O envio das informações cadastrais é totalmente opcional. Caso os dados não sejam informados, a API mantém o comportamento padrão existente, sem alterações no fluxo de integração.

O processo de integração para inclusão de notas fiscais pode ser resumido em quatro etapas principais: envio da requisição, processamento dos cadastros, validações internas e geração da nota fiscal autorizada.

Ordem de processamento

Os cadastros são processados de forma sequencial, seguindo a ordem abaixo:

  1. Cliente (pessoa do campo customer);
  2. Transportadora (pessoa do campo transportInformation.shippingCompany);
  3. Endereço de entrega (vinculado à pessoa do cliente).

O endereço de entrega depende do cliente já existir ou ser criado durante o processamento, pois o vínculo é realizado diretamente com a pessoa do cliente.

Interrupção do processamento em caso de erro

O processamento dos cadastros ocorre de forma sequencial. Caso seja identificado algum erro durante qualquer etapa da integração, o processo é interrompido imediatamente.

Quando isso acontece, as próximas etapas não são executadas e a nota fiscal não é gerada até que o problema seja corrigido.

Exemplo

Se ocorrer erro no cadastro da transportadora, o sistema não tentará cadastrar o endereço de entrega e a geração da nota fiscal será interrompida.

Cadastro de cliente

O cadastro automático de cliente é realizado quando o campo customer.personInformation é informado na chamada da API.

Durante o processamento, o sistema tenta localizar um cliente existente utilizando a seguinte ordem de prioridade:

Se o cliente for localizado, os dados são atualizados. Caso contrário, um novo cadastro é criado automaticamente.

Importante

O código da pessoa é gerado automaticamente pelo sistema durante a criação do cadastro. Não é necessário informar esse valor.

Cadastro de transportadora

O cadastro automático da transportadora é realizado quando o campo transportInformation.shippingCompany.personInformation é informado na requisição.

A localização da transportadora utiliza os mesmos critérios aplicados ao cliente:

Quando localizada, a transportadora é atualizada. Caso contrário, um novo cadastro é criado automaticamente.

Os campos de personInformation da transportadora são os mesmos campos personInformation do cliente.

Para que a pessoa seja identificada como transportadora, a especialização shippingCompany é de preenchimento obrigatório.

Cadastro de endereço de entrega

O cadastro automático de endereço de entrega é realizado quando o campo transportInformation.deliveryAddress é informado.

O endereço é sempre vinculado à pessoa do cliente e nunca à transportadora. Portanto, é necessário que o cliente já exista no sistema ou que seus dados cadastrais sejamsejam enviadas no momento da inclusão do registro.

Durante o processamento, o sistema verifica se já existe um endereço equivalente para o cliente utilizando os seguintes critérios:

Se o endereço já existir, ele é mantido sem alterações. Caso contrário, um novo endereço é criado e vinculado ao cliente.

Cadastro automático de CEP

Sempre que um CEP (postalCode) for informado nos dados cadastrais de pessoa ou endereço de entrega, o sistema verifica automaticamente se ele já existe na base de localização da plataforma.

Caso o CEP não exista, ele é criado automaticamente antes do processamento do cadastro da pessoa ou endereço.

  1. O CEP é informado;
  2. O sistema consulta a existência;
  3. Se o CEP existir, o processamento continua normalmente;
  4. Se não existir, o CEP é criado automaticamente;
  5. CEPs já consultados na mesma requisição não são processados novamente.
Importante

Esse processo ocorre automaticamente e não requer nenhuma ação adicional do integrador.

Informações de localização

Os campos de localização (country, state, city) podem ser informados tanto nos dados cadastrais da pessoa quanto no endereço de entrega.

O sistema resolve automaticamente os identificadores de país, estado e cidade quando eles não forem enviados.

Especializações de pessoa

As especializações definem os papéis que uma pessoa pode assumir no sistema.

Uma mesma pessoa pode possuir múltiplas especializações simultaneamente.

Campo Descrição
customer Especialização de cliente.
shippingCompany Especialização de transportadora.
provider Especialização de fornecedor.
representative Especialização de representante.
favored Especialização de favorecido.

Dados fiscais

As informações fiscais podem ser enviadas por meio do objeto taxPerson.

Campo Descrição
taxRegimeCode Código do regime tributário.
specialTaxRegime Regime especial de tributação.
taxPayer Indica se é contribuinte de ICMS.
isIndustry Indica se a empresa é indústria.

Preenchimento completo: cliente, transportadora e endereço de entrega

O exemplo abaixo demonstra uma requisição completa para inclusão de nota fiscal autorizada com envio simultâneo dos dados cadastrais do cliente, da transportadora e do endereço de entrega.

Nesse cenário, caso os registros informados ainda não existam na base de dados, o sistema realiza automaticamente os cadastros necessários antes de gerar a nota fiscal.

Também são enviados os dados dos itens da nota fiscal e as informações fiscais necessárias para o processamento da integração.


Tratamento de erros

Quando ocorre falha durante o cadastro das entidades, o sistema registra a integração com status ERROR na tabela externalInvoiceIntegration.

As mensagens seguem o padrão abaixo:

Quando ocorre erro, o evento authorizedInvoiceRegistrationError é publicado contendo:

Após corrigir os dados, é necessário reenviar a nota fiscal para que o processamento da integração seja executado novamente.

Perguntas frequentes

Este artigo ajudou você?

Ainda com dúvidas?

Fale com a SARA!