Endpoint
Parâmetros
| Parâmetro | Tipo | Ocorrência | Descrição |
|---|---|---|---|
| token | string | obrigatório | Chave gerada para identificar sua empresa |
| formato | string | obrigatório | Formato do retorno (json) |
| nota | xml/json | obrigatório | Dados da nota fiscal em formato XML ou JSON |
Estrutura de Campos
Dados Gerais da Nota Fiscal
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| nota_fiscal | object | - | obrigatório | Elemento raiz da nota fiscal |
| tipo | string | 1 | opcional | Tipo da nota: E (Entrada), S (Saída); padrão “S” |
| id_natureza_operacao | int | - | opcional | ID da natureza de operação (pré-cadastrada) |
| natureza_operacao | string | 50 | opcional | Descrição da natureza de operação |
| data_emissao | string | 10 | opcional | Data de emissão (formato dd/mm/aaaa) |
| hora_emissao | string | 8 | opcional | Hora de emissão (formato hh:mm:ss) |
| data_entrada_saida | string | 10 | opcional | Data de entrada/saída |
| hora_entrada_saida | string | 8 | opcional | Hora de entrada/saída |
| finalidade | int | - | opcional | Código da finalidade da nota fiscal |
| refNFe | string | 44 | opcional | Chave de acesso da NF-e referenciada |
| obs | string | 100 | opcional | Observação da nota fiscal |
| ecommerce | string | 50 | opcional | Plataforma que enviou a nota |
Cliente
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| cliente | object | - | obrigatório | Elemento do cliente |
| cliente.codigo | string | 30 | opcional | Código do cliente |
| cliente.nome | string | 50 | obrigatório | Nome do cliente |
| cliente.tipo_pessoa | string | 1 | opcional | Tipo de pessoa: F (Física), J (Jurídica), E (Estrangeiro) |
| cliente.cpf_cnpj | string | 18 | opcional | CPF ou CNPJ |
| cliente.ie | string | 18 | opcional | Inscrição estadual |
| cliente.rg | string | 10 | opcional | Documento de identidade |
| cliente.endereco | string | 50 | opcional | Endereço |
| cliente.numero | string | 10 | opcional | Número do endereço |
| cliente.complemento | string | 50 | opcional | Complemento do endereço |
| cliente.bairro | string | 30 | opcional | Bairro |
| cliente.cep | string | 10 | opcional | CEP |
| cliente.cidade | string | 30 | opcional | Cidade (conforme tabela de municípios) |
| cliente.uf | string | 2 | opcional | Estado |
| cliente.pais | string | 50 | opcional | País (conforme tabela de países) |
| cliente.fone | string | 40 | opcional | Telefone |
| cliente.email | string | 50 | opcional | |
| cliente.atualizar_cliente | string | 1 | opcional | Atualizar cadastro do cliente: S/N; padrão “S” |
Endereço de Entrega (Opcional, se diferente do cliente)
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| endereco_entrega | object | - | opcional | Elemento do endereço de entrega |
| endereco_entrega.tipo_pessoa | string | 1 | opcional | Tipo de pessoa |
| endereco_entrega.cpf_cnpj | string | 18 | opcional | CPF/CNPJ da entrega |
| endereco_entrega.endereco | string | 50 | opcional | Endereço de entrega |
| endereco_entrega.numero | string | 10 | opcional | Número da entrega |
| endereco_entrega.complemento | string | 50 | opcional | Complemento da entrega |
| endereco_entrega.bairro | string | 30 | opcional | Bairro da entrega |
| endereco_entrega.cep | string | 10 | opcional | CEP da entrega |
| endereco_entrega.cidade | string | 30 | opcional | Cidade da entrega |
| endereco_entrega.uf | string | 30 | opcional | Estado da entrega |
| endereco_entrega.fone | string | 40 | opcional | Telefone da entrega |
| endereco_entrega.nome_destinatario | string | 60 | opcional | Nome do destinatário |
| endereco_entrega.ie | string | 18 | opcional | Inscrição estadual da entrega |
Itens da Nota Fiscal
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| itens[] | list | - | obrigatório | Lista de itens |
| itens[].item | object | - | obrigatório | Elemento do item |
| item.id_produto | int | - | opcional | ID do produto no sistema |
| item.codigo | string | 60 | opcional | Código do produto |
| item.descricao | string | 120 | obrigatório | Descrição do produto |
| item.unidade | string | 2 | obrigatório | Unidade (UN, KG, etc.) |
| item.quantidade | decimal | - | obrigatório | Quantidade (separador ponto) |
| item.valor_unitario | decimal | - | obrigatório | Valor unitário (separador ponto) |
| item.tipo | string | 1 | obrigatório | Tipo: P (Produto), S (Serviço) |
| item.origem | string | 1 | opcional | Código de origem (conforme tabela) |
| item.numero_fci | string | 36 | opcional | Número da FCI (Ficha de Conteúdo de Importação) |
| item.ncm | string | 10 | opcional | Código NCM |
| item.peso_bruto | decimal | - | opcional | Peso bruto |
| item.peso_liquido | decimal | - | opcional | Peso líquido |
| item.gtin_ean | string | 14 | opcional | GTIN/EAN |
| item.gtin_ean_embalagem | string | 14 | opcional | GTIN/EAN da embalagem |
| item.codigo_lista_servicos | string | 5 | opcional | Código da lista de serviços (apenas serviços) |
| item.aliquota_comissao | decimal | - | opcional | Alíquota de comissão |
| item.cest | string | 10 | opcional | Código CEST |
| item.numero_pedido_compra | string | 15 | opcional | Número do pedido de compra |
| item.numero_item_pedido_compra | int | - | opcional | Número do item no pedido de compra |
| item.descricao_complementar | string | 100 | opcional | Informações adicionais |
| item.codigo_anvisa | string | 13 | condicional | Código ANVISA (obrigatório para medicamentos) |
| item.valor_max | decimal | - | opcional | Preço máximo ao consumidor |
| item.motivo_isencao | string | 255 | opcional | Motivo de isenção ANVISA |
Marcadores
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| marcadores[] | list | - | opcional | Lista de marcadores |
| marcadores[].marcador | object | - | opcional | Elemento do marcador |
| marcador.descricao | string | 50 | opcional | Descrição do marcador |
Informações de Pagamento
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| forma_pagamento | string | 30 | opcional | Código da forma de pagamento (conforme tabela) |
| meio_pagamento | string | 100 | opcional | Descrição do meio de pagamento |
Parcelas
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| parcelas[] | list | - | opcional | Lista de parcelas |
| parcelas[].parcela | object | - | opcional | Elemento da parcela |
| parcela.dias | int | 20 | opcional | Dias para vencimento |
| parcela.data | string | 10 | opcional | Data de vencimento (dd/mm/aaaa) |
| parcela.valor | decimal | - | opcional | Valor da parcela |
| parcela.obs | string | 100 | opcional | Observação da parcela |
| parcela.destino | string | 50 | opcional | Destino (ex: Caixa, Contas a Receber) |
| parcela.forma_pagamento | string | 30 | opcional | Código da forma de pagamento |
| parcela.meio_pagamento | string | 100 | opcional | Meio de pagamento |
| parcela.meio_pagamento_nfe | int | - | condicional | Código de pagamento NFe (obrigatório para notas de entrada) |
Transportadora
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| transportador | object | - | opcional | Elemento da transportadora |
| transportador.codigo | string | 30 | opcional | Código da transportadora |
| transportador.nome | string | 30 | opcional | Nome da transportadora |
| transportador.tipo_pessoa | string | 1 | opcional | Tipo de pessoa |
| transportador.cpf_cnpj | string | 18 | opcional | CPF/CNPJ da transportadora |
| transportador.ie | string | 18 | opcional | Inscrição estadual |
| transportador.endereco | string | 50 | opcional | Endereço da transportadora |
| transportador.cidade | string | 30 | opcional | Cidade da transportadora |
| transportador.uf | string | 2 | opcional | Estado da transportadora |
Envio e Frete
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| forma_envio | string | 30 | opcional | Forma de envio (conforme tabela) |
| forma_frete | string | 30 | opcional | Forma de frete (conforme opções cadastradas) |
| frete_por_conta | string | 1 | obrigatório | Frete por conta de: R (Remetente), D (Destinatário) |
| placa_veiculo | string | 1 | opcional | Placa do veículo |
| uf_veiculo | string | 1 | opcional | Estado da placa |
| quantidade_volumes | int | - | opcional | Quantidade de volumes |
| especie_volumes | string | 20 | opcional | Espécie dos volumes (ex: Caixas) |
| marca_volumes | string | 20 | opcional | Marca dos volumes |
| numero_volumes | string | 20 | opcional | Numeração dos volumes |
Valores Fiscais
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| valor_desconto | decimal | - | opcional | Valor de desconto |
| valor_frete | decimal | - | opcional | Valor do frete |
| valor_seguro | decimal | - | opcional | Valor do seguro |
| valor_despesas | decimal | - | opcional | Valor de outras despesas |
Referência de Produtor Rural (Opcional)
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| nf_produtor_rural | object | - | opcional | Referência de nota fiscal de produtor rural |
| nf_produtor_rural.serie | string | 3 | opcional | Série |
| nf_produtor_rural.numero | string | 10 | opcional | Número |
| nf_produtor_rural.ano_mes_emissao | string | 4 | opcional | Formato AAMM |
Informações do Vendedor
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| id_vendedor | int | - | opcional | ID do vendedor (pré-cadastrado) |
| nome_vendedor | string | 50 | opcional | Nome do vendedor |
| numero_pedido_ecommerce | string | 50 | opcional | Número do pedido do e-commerce |
Intermediador (Opcional)
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| intermediador | object | - | opcional | Elemento do intermediador |
| intermediador.nome | string | 60 | condicional | Nome do intermediador (obrigatório se intermediador presente) |
| intermediador.cnpj | string | 18 | condicional | CNPJ do intermediador (obrigatório se intermediador presente) |
| intermediador.cnpjPagamento | string | 18 | opcional | CNPJ da instituição de pagamento |
Pagamentos Integrados (Opcional)
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|---|---|---|---|
| pagamentos_integrados[] | list | - | opcional | Lista de pagamentos integrados |
| pagamentos_integrados[].pagamento_integrado | object | - | condicional | Elemento do pagamento |
| pagamento_integrado.tipo_pagamento | int | - | obrigatório | Código do tipo de pagamento (conforme tabela NFe) |
| pagamento_integrado.valor | decimal | - | obrigatório | Valor do pagamento |
| pagamento_integrado.cnpj_intermediador | string | 14 | obrigatório | CNPJ do intermediador |
| pagamento_integrado.codigo_autorizacao | string | - | obrigatório | Código de autorização da transação |
| pagamento_integrado.codigo_bandeira | int | - | obrigatório | Código da bandeira da operadora |
Retorno
| Campo | Tipo | Ocorrência | Descrição |
|---|---|---|---|
| retorno | object | obrigatório | Elemento raiz do retorno |
| retorno.status_processamento | int | obrigatório | Conforme tabela “Status de Processamento” |
| retorno.status | string | obrigatório | ”OK” ou “Erro” |
| retorno.codigo_erro | int | condicional | Código do erro (quando status = “Erro”) |
| retorno.erros[] | list | condicional | Lista de erros [0..n] |
| retorno.erros[].erro | string | condicional | Descrição do erro |
| retorno.registros[] | list | condicional | Lista de resultados [0..n] |
| retorno.registros[].registro.sequencia | int | condicional | Identificador sequencial de cada nota |
| retorno.registros[].registro.status | string | condicional | Status do registro: “OK” ou “Erro” |
| retorno.registros[].registro.codigo_erro | int | condicional | Código do erro (conforme tabela) |
| retorno.registros[].registro.erros[] | list | condicional | Lista de erros do registro [0..n] |
| retorno.registros[].registro.erros[].erro | string | condicional | Descrição do erro do registro |
| retorno.registros[].registro.id | int | condicional | ID da nota fiscal no Olist ERP |
| retorno.registros[].registro.serie | string | condicional | Série da nota fiscal (3 caracteres) |
| retorno.registros[].registro.numero | int | condicional | Número da nota fiscal |
Exemplo de Parâmetro XML Simplificado
Exemplo de Parâmetro JSON Simplificado
Exemplo de Parâmetro XML Completo
Exemplo de Parâmetro JSON Completo
Exemplo de Chamada com XML
Exemplo de Chamada REST com JSON
Exemplos de Retorno
Sucesso
Erro - Validação (campo obrigatório faltando)
Erro - Autenticação
Erro - Produto não encontrado
Erro - Registro duplicado
Notas Importantes
- Separador decimal: Use ponto (.) para valores decimais, por exemplo “5.25”
- Formato de data: dd/mm/aaaa, por exemplo “20/10/2024”
- Formato de hora: hh:mm:ss, por exemplo “15:30:00”
- Comportamento de busca: Campos de código buscam registros existentes; registros encontrados carregam dados adicionais do banco
- Valores padrão: Natureza de operação é atribuída automaticamente se omitida; pagamento padrão para “contas a receber”
- Validação de vendedor: Vendedores não existentes geram erro
- Tratamento de intermediador: Nome + CNPJ são buscados juntos; novos intermediadores são criados automaticamente se não encontrados
