Pular para o conteúdo principal

Inserir Pedido de Venda

Visão Geral

Endpoint para criar pedidos de venda com suporte completo para:

  • Geração automática de cobranças
  • Emissão de notas fiscais (NF-e, NFC-e, NFS-e, NFS-e Nacional)
  • Controle de impostos retidos
  • Integração com plataformas de pagamento (Asaas, Cora, C6 Bank)
POST /api/v1/insert_sales_order

Autenticação

ParâmetroTipoObrigatórioDescrição
access_tokenstringToken de autenticação do usuário
unit_tokenstringToken da unidade onde o pedido será criado

Estrutura da Requisição

A requisição é organizada em grupos lógicos para facilitar a manutenção e compreensão:

{
"access_token": "string",
"unit_token": "string",
"pv": { },
"faturamento": { },
"charge": { },
"nf": { }
}

Grupo: pv (Pedido de Venda)

Informações básicas do pedido de venda e notificações.

ParâmetroTipoObrigatórioDefaultDescrição
id_token_contactstring-Token do cliente
id_token_stock_itemstringCondicional*-Token do produto/serviço principal
productsarrayCondicional**nullLista de produtos para NF-e/NFC-e
descriptionstring-Descrição do pedido (utilizado na nota fiscal)
valuenumber-Valor bruto do pedido
quantitynumber1Quantidade do item principal
observation_salesstringnullObservações internas do pedido
notify_email_chargestringnullE-mail para notificações sobre cobrança
notify_email_nfstringnullE-mail para notificações sobre nota fiscal
notify_email_alertstringnullE-mail para alertas gerais

* Obrigatório para serviços (NFS-e)
** Obrigatório para produtos (NF-e/NFC-e)

Estrutura do array products:

"products": [
{
"token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"quantity": 1
}
]

Campos alternativos aceitos:

  • product_id_tokens + product_qtys (formato legado com arrays separados)

Grupo: faturamento

Informações de categorização, previsão de pagamento e automações.

ParâmetroTipoObrigatórioDefaultDescrição
id_token_categorystring-Token da categoria financeira
estimated_payment_datestring-Data estimada de pagamento (formato: YYYY-MM-DD)
id_token_bank_accountstringnullToken da conta bancária de recebimento
id_token_projectstringnullToken do projeto vinculado
recurrencebooleanfalseCriar pedido recorrente (mensalmente)
in_automationbooleanfalseCriar entrada financeira automaticamente ao gerar cobrança
conciliationbooleanfalseHabilitar conciliação bancária automática

Grupo: charge (Cobrança)

Configurações de pagamento e cobrança.

ParâmetroTipoObrigatórioDefaultDescrição
payment_typestring-Token do tipo de pagamento
provider_bankstringnullProvedor de cobrança: asaas, cora, c6
installment_creditnumber1Número de parcelas de crédito
installmentsnumber1Número de parcelas (sinônimo de installment)
charge_pix_keystringnullChave PIX para cobrança
notify_days_chargenumber0Dias antes do vencimento para notificar
bankAccountPaymentstringCondicional***nullToken da conta bancária para transferência
estimated_payment_datestringnullData estimada de pagamento (alternativo)

*** Obrigatório quando payment_type for tipo Transferência

Configuração de Provedores

Você pode configurar o provedor de duas formas:

Forma 1 - Usando provider_bank:

"charge": {
"provider_bank": "asaas"
}

Forma 2 - Usando flags individuais:

"charge": {
"generate_with_asaas": true,
"generate_c6": false,
"generate_cora": false
}

Valores aceitos para provider_bank:

  • asaas - Integração com Asaas
  • cora - Integração com Cora
  • c6 - Integração com C6 Bank
  • null - Sem integração automática

Campos alternativos aceitos:

  • pix_key (sinônimo de charge_pix_key)
  • id_token_bank_account_payment (sinônimo de bankAccountPayment)

Grupo: nf (Nota Fiscal)

Informações fiscais, tributárias e de serviço do pedido.

Configurações Gerais

ParâmetroTipoObrigatórioDefaultDescrição
nf_kindstringnullTipo de nota: nfse, nfsen, nfe, nfce
generateNFWebhookbooleanfalseEmitir NF automaticamente via webhook de pagamento
tipo_documentostringnull0=Entrada, 1=Saída
finalidade_emissaostringnull1=Normal, 2=Complementar, 3=Ajuste, 4=Devolução
presenca_compradorstringnull0=Não se aplica, 1=Presencial, 2=Internet, 3=Teleatendimento, 4=Entrega em domicílio, 9=Outros
consumidor_finalstringnull0=Não, 1=Sim

Serviço

ParâmetroTipoObrigatórioDefaultDescrição
service_assoc_id_tokenstringnullID de associação do serviço
service_id_tokenstringCondicional****nullToken do serviço cadastrado (CNAEs e configurações)
service_codstringnullCódigo do serviço
service_locationstringnullLocal da prestação do serviço

**** Obrigatório quando nf_kind for nfse ou nfsen

Campos alternativos aceitos:

  • service_assoc_id_token (sinônimo de service_assoc_id)
  • service_id_token (sinônimo de service_id)
  • service_code (sinônimo de service_cod)

Impostos e Valores

ParâmetroTipoObrigatórioDefaultDescrição
tax_service_gross_amountnumber0.00Valor bruto do serviço
tax_service_deduction_amountnumber0.00Valor de dedução da base de cálculo
tax_service_uncond_discount_amountnumber0.00Desconto incondicional
tax_service_cond_discount_amountnumber0.00Desconto condicional
tax_service_base_amountnumber0.00Base de cálculo do ISS
tax_iss_rate_percentnumber0.00Alíquota do ISS (%)
tax_iss_amountnumber0.00Valor do ISS
net_receivable_amountnumber0.00Valor líquido a receber

Retenções Federais

ParâmetroTipoObrigatórioDefaultDescrição
ret_pis_rate_percentnumber0.00Alíquota de retenção do PIS (%)
ret_pis_amountnumber0.00Valor retido de PIS
ret_cofins_rate_percentnumber0.00Alíquota de retenção do COFINS (%)
ret_cofins_amountnumber0.00Valor retido de COFINS
ret_csll_rate_percentnumber0.00Alíquota de retenção da CSLL (%)
ret_csll_amountnumber0.00Valor retido de CSLL
ret_ir_rate_percentnumber0.00Alíquota de retenção do IR (%)
ret_ir_amountnumber0.00Valor retido de IR
ret_inss_rate_percentnumber0.00Alíquota de retenção do INSS (%)
ret_inss_amountnumber0.00Valor retido de INSS
ret_other_rate_percentnumber0.00Alíquota de outras retenções (%)
ret_other_amountnumber0.00Valor de outras retenções
ret_total_amountnumber0.00Valor total das retenções

Frete e Transporte

ParâmetroTipoObrigatórioDefaultDescrição
freight_modestring90=Emitente, 1=Destinatário, 2=Terceiros, 9=Sem frete
freight_totalnumber0.00Valor total do frete
local_destinostring11=Operação interna, 2=Interestadual, 3=Exterior

Estrutura Aninhada (Alternativa)

Os campos de impostos e retenções também podem ser enviados em sub-objetos:

"nf": {
"nf_kind": "nfse",
"impostos": {
"tax_service_gross_amount": 3500.00,
"tax_iss_rate_percent": 5.00,
"tax_iss_amount": 175.00
},
"retencoes": {
"ret_pis_rate_percent": 0.65,
"ret_pis_amount": 22.75,
"ret_cofins_rate_percent": 3.00,
"ret_cofins_amount": 105.00
}
}

Exemplos de Requisição

Exemplo 1: Serviço com NFS-e + Asaas

curl -X POST 'https://portal.fipli.pro/api/v1/insert_sales_order' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"unit_token": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff",

"pv": {
"id_token_contact": "5c5545bb-4c1e-4612-bba5-06319320c73e",
"id_token_stock_item": "e4b7d5ff-3367-4ed5-a714-0f50a72a6dd0",
"description": "Serviço de consultoria estratégica",
"value": 3500.00,
"observation_sales": "Cliente preferencial",
"notify_email_charge": "cliente@exemplo.com",
"notify_email_nf": "financeiro@exemplo.com"
},

"faturamento": {
"id_token_category": "a302d0a8-be82-4f68-ad51-1e2005f4ffdf",
"estimated_payment_date": "2026-02-15",
"in_automation": true,
"conciliation": true
},

"charge": {
"payment_type": "15516bea-4523-4a57-aad1-a1b5a4fc57fa",
"provider_bank": "asaas",
"installment_credit": 1
},

"nf": {
"nf_kind": "nfse",
"generateNFWebhook": true,
"service_id": "gggggggg-hhhh-iiii-jjjj-kkkkkkkkkkkk",
"tax_service_gross_amount": 3500.00,
"tax_service_base_amount": 3500.00,
"tax_iss_rate_percent": 5.00,
"tax_iss_amount": 175.00,
"ret_pis_rate_percent": 0.65,
"ret_pis_amount": 22.75,
"ret_cofins_rate_percent": 3.00,
"ret_cofins_amount": 105.00,
"ret_total_amount": 127.75,
"net_receivable_amount": 3372.25
}
}'

Exemplo 2: Produtos com NF-e + Cora

curl -X POST 'https://portal.fipli.pro/api/v1/insert_sales_order' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"unit_token": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff",

"pv": {
"id_token_contact": "5c5545bb-4c1e-4612-bba5-06319320c73e",
"products": [
{
"token": "hhhhhhhh-iiii-jjjj-kkkk-llllllllllll",
"quantity": 2
},
{
"token": "iiiiiiii-jjjj-kkkk-llll-mmmmmmmmmmmm",
"quantity": 5
}
],
"description": "Venda de notebooks e mouses",
"value": 1500.00,
"notify_email_charge": "cliente@exemplo.com",
"notify_email_nf": "cliente@exemplo.com"
},

"faturamento": {
"id_token_category": "a302d0a8-be82-4f68-ad51-1e2005f4ffdf",
"estimated_payment_date": "2026-02-10"
},

"charge": {
"payment_type": "22222222-3333-4444-5555-666666666666",
"provider_bank": "cora",
"charge_pix_key": "contato@empresa.com.br"
},

"nf": {
"nf_kind": "nfe",
"freight_mode": "0",
"freight_total": 50.00,
"local_destino": "1"
}
}'

Exemplo 3: Serviço Recorrente com Parcelamento (C6 Bank)

curl -X POST 'https://portal.fipli.pro/api/v1/insert_sales_order' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"unit_token": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff",

"pv": {
"id_token_contact": "5c5545bb-4c1e-4612-bba5-06319320c73e",
"id_token_stock_item": "e4b7d5ff-3367-4ed5-a714-0f50a72a6dd0",
"description": "Mensalidade de serviço de suporte técnico",
"value": 599.00,
"notify_email_charge": "cliente@exemplo.com",
"notify_email_alert": "alertas@exemplo.com"
},

"faturamento": {
"id_token_category": "a302d0a8-be82-4f68-ad51-1e2005f4ffdf",
"id_token_project": "33333333-4444-5555-6666-777777777777",
"estimated_payment_date": "2026-02-05",
"recurrence": true,
"in_automation": true,
"conciliation": true
},

"charge": {
"payment_type": "15516bea-4523-4a57-aad1-a1b5a4fc57fa",
"provider_bank": "c6",
"installment_credit": 3,
"notify_days_charge": 5
},

"nf": {
"nf_kind": "nfse",
"service_id": "gggggggg-hhhh-iiii-jjjj-kkkkkkkkkkkk",
"tax_service_gross_amount": 599.00,
"tax_service_base_amount": 599.00,
"tax_iss_rate_percent": 5.00,
"tax_iss_amount": 29.95
}
}'

Exemplo 4: Pedido Simples (Sem Cobrança Automática)

curl -X POST 'https://portal.fipli.pro/api/v1/insert_sales_order' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"unit_token": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff",

"pv": {
"id_token_contact": "5c5545bb-4c1e-4612-bba5-06319320c73e",
"id_token_stock_item": "e4b7d5ff-3367-4ed5-a714-0f50a72a6dd0",
"description": "Pedido de venda - exemplo",
"value": 10.99,
"observation_sales": "Observação do pedido"
},

"faturamento": {
"id_token_category": "a302d0a8-be82-4f68-ad51-1e2005f4ffdf",
"estimated_payment_date": "2026-02-10"
},

"charge": {
"payment_type": "15516bea-4523-4a57-aad1-a1b5a4fc57fa"
},

"nf": {
"nf_kind": "nfse",
"service_id": "gggggggg-hhhh-iiii-jjjj-kkkkkkkkkkkk"
}
}'

Respostas

Sucesso (200 OK)

{
"success": true,
"message": "Sales order inserted successfully",
"data": {
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"cod_orders": "PV-2026-0001"
}
}

Erros

StatusMensagemDescrição
400Missing required fieldsCampos obrigatórios não foram enviados
403Invalid dataToken de autenticação inválido
422Invalid parameter formatFormato de parâmetro incorreto
500Erro ao inserir pedidoErro interno no servidor

Exemplo de erro:

{
"success": false,
"error": "Missing required fields",
"details": {
"missing_fields": ["pv.value", "faturamento.estimated_payment_date"],
"group": "pv"
}
}

Notas Importantes

Configuração de Provedores de Pagamento

O campo provider_bank oferece uma forma simplificada de configurar o provedor:

// Forma recomendada
"charge": {
"provider_bank": "asaas"
}

// Equivalente a:
"charge": {
"generate_with_asaas": true,
"generate_c6": false,
"generate_cora": false
}

Cálculo de Impostos

Os valores de retenção devem ser calculados conforme a legislação vigente. O campo net_receivable_amount deve considerar todas as retenções aplicadas:

net_receivable_amount = value - ret_total_amount

Emissão Automática de NF

Para habilitar a emissão automática via webhook:

  1. Configure nf.generateNFWebhook: true
  2. Certifique-se de que todos os dados fiscais estejam completos
  3. A nota será emitida automaticamente após confirmação do pagamento

Pedidos Recorrentes

Quando faturamento.recurrence: true:

  • O sistema cria automaticamente novos pedidos no 1º dia de cada mês
  • Os valores e configurações são mantidos
  • As datas de vencimento são ajustadas automaticamente

Produtos vs Serviços

  • Serviços (NFS-e/NFS-e Nacional): Use pv.id_token_stock_item
  • Produtos (NF-e/NFC-e): Use array pv.products com tokens e quantidades

Integrações de Pagamento

Os provedores disponíveis são:

  • asaas: Integração com Asaas (boleto, PIX, cartão)
  • cora: Integração com Cora (PIX, boleto)
  • c6: Integração com C6 Bank (boleto, PIX)
  • null: Sem integração automática (cobrança manual)

Tipos de Pagamento

O campo charge.payment_type deve conter o token de um tipo de pagamento cadastrado no sistema. Exemplos comuns:

  • Boleto bancário
  • PIX
  • Transferência bancária
  • Cartão de crédito
  • Dinheiro

Validações Importantes

  1. Se provider_bank for definido, é recomendado ter faturamento.id_token_bank_account configurado
  2. Para PIX, o campo charge_pix_key é obrigatório
  3. Para transferência, o campo bankAccountPayment é obrigatório
  4. O número de parcelas (installment_credit) deve ser >= 1
  5. Campos de retenção e impostos devem ter valores numéricos válidos

Retrocompatibilidade

A API mantém compatibilidade com formatos legados:

  • Campos podem ser enviados diretamente no body (fora dos grupos)
  • Arrays de produtos podem usar product_id_tokens + product_qtys
  • Campos têm múltiplos sinônimos aceitos (ex: id_token_contact ou id_token_contact)