Kestraa Logo

POST Webhooks - EDD

Process for updating EDD date for ERP items.

Method: POST

Target URL: E.g. https://example.client.com/edd (Mandatory)

Required Fields

Name Description
Authorization Bearer Token for authentication.
Content-Type Request content type (application/json).

Request Body

{
  "destinationUrl": "https://example.com",
  "corporationId": 123456,
  "poReference": "5500000825",
  "items": [
    {
      "deliveryDate": "29.09.2024",
      "erpCode": "10"
    },
    {
      "deliveryDate": "29.09.2024",
      "erpCode": "20"
    }
  ]
}

Field Explanation

Field Mandatory Type Description
destinationUrl No String Target URL when using middleware.
corporationId No Long Company number in Kestraa.
poReference Yes Long Document number in ERP.
items Yes Array Items to be updated with delivery date.
deliveryDate Yes String Delivery date. Format: DD.MM.YYYY (e.g. 29.09.2024).
erpCode Yes String Item code in ERP.

HTTP Status Codes

Code Description
200OK
201Created
400Bad Request
401Unauthorized
404Not Found
500Internal Server Error

POST Webhooks - MMGOODS

Process for updating the delivery of ERP items.

Method: POST

Target URL: E.g. https://example.client.com/edd (Mandatory)

Minimum Recurrence: 5 minutes (Mandatory)

Required Fields

Name Description
Authorization Bearer Token for authentication.
Content-Type Request content type (application/json).

Request Body

{
  "destinationUrl": "https://example.com",
  "beginDate": "2024-08-16",
  "beginHour": "00:00:00",
  "endDate": "2024-08-17"
}

Result Body

[
  {
    "type": "item.delivery",
    "eventDate": "2024-01-19T20:24:01+03:00",
    "data": {
      "quantity": 1.000
    },
    "poId": "5000000906",
    "poItemId": "0001",
    "year": 2024,
    "documentErpId": "5500000291",
    "documentItemErpId": 10
  },
  {
    "type": "item.delivery",
    "eventDate": "2024-01-20T20:24:01+03:00",
    "data": {
      "quantity": 2.000
    },
    "poId": "5000000906",
    "poItemId": "0002",
    "year": 2024,
    "documentErpId": "5500000291",
    "documentItemErpId": 20
  }
]

Field Explanation

Field Mandatory Type Description
destinationUrl No String Target URL when using middleware.
beginDate Yes String Start date for recovery of items in delivered status (format: YYYY-MM-DD).
beginHour Yes String Start time for retrieving items in delivered status (format: HH:MM:SS).
endDate Yes String End date for recovery of items in delivered status (format: YYYY-MM-DD).
type Yes String Always "item.delivery".
eventDate Yes String Event datetime in ISO 8601 format (e.g. 2024-01-19T20:24:01+03:00).
data Yes Array Object containing quantity information.
quantity Yes Numeric Delivered quantity information.
poId Yes String Purchase order document number in ERP.
poItemId Yes String Item number of the purchase order in ERP.
year Yes Integer Year the delivery occurred.
documentErpId Yes String Purchase order ID in ERP.
documentItemErpId Yes Long Item ID of the purchase order in ERP.

HTTP Status Codes

Code Description
200OK
201Created
400Bad Request
401Unauthorized
404Not Found
500Internal Server Error

POST Webhooks - Invoice

Purpose: Process for updating and transmitting the details of a fiscal invoice (NF) for accurate recording and tax compliance.

This webhook is used for:

Method: POST

Target URL: E.g. https://example.client.com/nota_fiscal (Mandatory)

Minimum Recurrence: 5 minutes (Mandatory)

Required Fields

Name Description
Authorization Bearer Token for authentication.
Content-Type Request content type (application/json).

Request Body

{
  "destinationUrl": "https://example.com",
  "beginDate": "2024-08-16",
  "beginHour": "00:00:00",
  "endDate": "2024-08-17"
}

Result Body

{
  "issuer": {
    "taxId": "12345678000199",
    "operationNature": "Venda de mercadoria",
    "companyName": "Empresa Emitente LTDA",
    "stateRegistration": "1234567890",
    "phone": "+55 11 98765-4321",
    "postalCode": "01001000",
    "address": "Rua das Flores",
    "addressNumber": "123",
    "district": "Centro",
    "city": "São Paulo",
    "state": "SP",
    "id": "ISS001"
  },
  "exporter": {
    "id": "EXP001",
    "taxId": "99887766000155",
    "companyName": "Exportadora Global SA",
    "state": "SP",
    "address": "Av. Paulista",
    "city": "São Paulo",
    "phone": "+55 11 2222-3333",
    "postalCode": "01311000",
    "addressNumber": "1500",
    "district": "Bela Vista",
    "corporationId": "CORP123",
    "stateRegistration": "5566778899"
  },
  "carrier": {
    "taxId": "44556677000188",
    "freightMode": "Rodoviário",
    "companyName": "Transportes Brasil LTDA",
    "anttCode": "ANTT12345",
    "vehiclePlate": "ABC1234",
    "vehicleState": "SP",
    "trailerPlate": "XYZ9876",
    "trailerState": "RJ",
    "stateRegistration": "8877665544",
    "address": "Rodovia BR-116",
    "city": "Guarulhos",
    "state": "SP",
    "volume": 10,
    "packageType": "Caixa",
    "brand": "MarcaTeste",
    "numbering": "12345",
    "grossWeight": 1500.50,
    "netWeight": 1200.30
  },
  "items": [
    {
      "cstIPI": "50",
      "cstPIS": "01",
      "cstCOFINS": "01",
      "cstICMS": "00",
      "fcpAmount": 15.55,
      "fcpRate": 2.0,
      "fcpBaseAmount": 777.50,
      "icmsOriginalAmount": 120.00,
      "icmsDeferredBaseAmount": 30.00,
      "icmsDeferredAmount": 6.00,
      "icmsDeferredRate": 20,
      "icmsReducedRate": 10,
      "sendStatisticalTaxFlag": true,
      "otherAdditionalExpensesAmount": 50.00,
      "afrmm": 22.50,
      "depositCode": "DP001",
      "id": 58306715,
      "materialCodeSap": "000000000010232022",
      "materialDescription": "EVRYSDI 0.75MG/1ML 80POSO BR",
      "goodsGroup": "62000",
      "codeCfop": "310101",
      "codeNcm": "30049069",
      "materialOrigin": "1",
      "materialUtilization": "0",
      "quantity": 522.0,
      "quantityMeasurementUnit": "EA",
      "netPrice": 19748.9,
      "netValue": 10308925.8,
      "codeSituationFiscalCofins": "73",
      "codeSituationFiscalPis": "73",
      "poNumber": "4500553011",
      "additionNumber": "001",
      "itemInAdditionNumber": "01",
      "diTagCodigoRelacaoCompradorVendedor": 1,
      "diTagFabricanteNome": "EXAMPLE MANUFACTURER LTD.",
      "baseValueIi": 10308925.8,
      "baseValueIpi": 11051168.45,
      "baseValuePis": 10308925.8,
      "baseValueCofins": 10308925.8,
      "baseValueIcms": 13523546.34,
      "baseValueIcmsSt": 0,
      "taxRateIi": 7.2,
      "taxRateIpi": 0,
      "taxRatePis": 2.76,
      "taxRateConfins": 13.03,
      "taxRateIcms": 18,
      "taxRateIcmsSt": 0,
      "taxValIi": 742242.65,
      "taxValIpi": 0,
      "taxValPis": 0,
      "taxValConfins": 0,
      "taxValIcms": 2434238.34,
      "taxValIcmsSt": 0,
      "otherExpenses": 38139.55,
      "positionErp": "10",
      "lots": null
    }
  ],
  "taxes": {
    "icmsBaseAmount": 1500.00,
    "icmsAmount": 180.00,
    "icmsStBaseAmount": 0,
    "icmsStAmount": 0,
    "importTaxAmount": 250.00,
    "pisAmount": 35.00,
    "productsTotalAmount": 5000.00,
    "freightTotalAmount": 300.00,
    "insuranceTotalAmount": 50.00,
    "afrmmTotalAmount": 40.00,
    "otherExpensesTotalAmount": 100.00,
    "ipiTotalAmount": 60.00,
    "cofinsTotalAmount": 161.00,
    "invoiceTotalAmount": 5700.00,
    "siscomexFeeAmount": 185.00,
    "fcpAmount": 20.50,
    "fcpTotalAmount": 25.00,
    "otherAdditionalExpensesTotalAmount": 90.00,
    "icmsBaseCalculo": 0,
    "icmsValor": 2434238.34,
    "icmsStBaseCalculo": 0,
    "icmsStValor": 0,
    "impValor": 742242.65,
    "pisValor": 0,
    "produtosValorTotal": 10308925.8,
    "freteValorTotal": 0,
    "seguroValorTotal": 0,
    "afrmmValorTotal": 0,
    "outrasDespesasValorTotal": 38139.55,
    "ipiValorTotal": 0,
    "cofinsValorTotal": 0,
    "nfValorTotal": 13523546.34,
    "taxaSiscomex": 154.23
  },
  "declarationType": "DI",
  "declarationNumber": "2024112233",
  "importDeclarationNumber": "51/2126868-6",
  "diIssueDate": "2024-10-01",
  "customsStorageName": "AEROPORTO INTERNACIONAL DO RIO DE JANEIRO/GALEãO",
  "customClearanceCodeDI": 7911101,
  "customClearanceDate": "2024-10-01",
  "ufDesemb": "RJ",
  "volume": {
    "quantity": 1,
    "type": "caixas",
    "brand": "",
    "number": "",
    "netWeight": 98.136,
    "grossWeight": 0
  },
  "invoiceData": {
    "number": "000024776",
    "series": "6",
    "chaveAcesso": null,
    "dataEmissao": null
  },
  "operation": {
    "typeNationalInvoice": "0002",
    "company": "2619",
    "localBusinessCompany": "0006",
    "codePartner": "0000120107",
    "incotermsOne": "CIP",
    "incotermsTwo": "AEROPORTO INTERNACIONAL GALEÃO",
    "importerCorporation": 365528,
    "mainCorporationId": 365527,
    "coverageExchangeCode": 1,
    "operationCodeTypeDI": "1"
  },
  "additionalData": "Número do embarque: 4500553011 Número da DI: 51/2126868-6 Data de registro da DI: 2024-10-01 ...",
  "useTransportedVolumeSpeciesListForNf": true,
  "lots": [
    {
      "id": 58306715,
      "erpCode": "10",
      "partNumber": "000000000010232022",
      "lotes": [
        {
          "id": "adbad2aa-787f-4631-9478-b1a01cf166ab",
          "loteName": "8910",
          "quantity": 12,
          "manufacturingDate": [2024, 10, 25],
          "expirationDate": [2024, 10, 25]
        }
      ]
    }
  ]
}

Field Explanation

Field Mandatory Type Description
issuer.taxIdYesChar(14)Identificador de inscrição estadual da empresa emitente.
issuer.operationNatureYesString (max 50)Natureza da operação da nota fiscal (ex: Venda de mercadoria).
issuer.companyNameYesString (max 100)Razão social da empresa emitente.
issuer.stateRegistrationYesChar(14)Inscrição estadual da empresa emitente.
issuer.phoneYesChar(15)Telefone de contato da empresa emitente.
issuer.postalCodeYesChar(8)Código postal (CEP) da empresa emitente.
issuer.addressYesString (max 100)Endereço da empresa emitente.
issuer.addressNumberYesChar(10)Número do endereço da empresa emitente.
issuer.districtYesString (max 50)Bairro da empresa emitente.
issuer.cityYesString (max 50)Cidade da empresa emitente.
issuer.stateYesChar(2)Estado da empresa emitente.
issuer.idYesString (max 10)ID da empresa emitente no sistema.
exporter.idYesString (max 10)ID do exportador.
exporter.taxIdYesChar(14)Identificador de inscrição estadual do exportador.
exporter.companyNameYesString (max 100)Razão social do exportador.
exporter.stateYesChar(2)Estado onde o exportador está localizado.
exporter.addressYesString (max 100)Endereço do exportador.
exporter.cityYesString (max 50)Cidade do exportador.
exporter.phoneYesChar(15)Telefone de contato do exportador.
exporter.postalCodeYesChar(8)Código postal (CEP) do exportador.
exporter.addressNumberYesChar(10)Número do endereço do exportador.
exporter.districtYesString (max 50)Bairro do exportador.
exporter.corporationIdYesString (max 20)ID da corporação do exportador.
exporter.stateRegistrationYesChar(14)Inscrição estadual do exportador.
carrier.taxIdYesChar(14)Identificador de inscrição estadual do transportador.
carrier.freightModeYesString (max 50)Modo de frete utilizado pelo transportador (ex: Rodoviário).
carrier.companyNameYesString (max 100)Razão social do transportador.
carrier.anttCodeYesString (max 20)Código ANTT do transportador.
carrier.vehiclePlateYesString (max 7)Placa do veículo utilizado no transporte.
carrier.vehicleStateYesChar(2)Estado onde o veículo do transportador está registrado.
carrier.trailerPlateYesString (max 7)Placa do reboque utilizado no transporte.
carrier.trailerStateYesChar(2)Estado onde o reboque do transportador está registrado.
carrier.stateRegistrationYesChar(14)Inscrição estadual do transportador.
carrier.addressYesString (max 100)Endereço do transportador.
carrier.cityYesString (max 50)Cidade do transportador.
carrier.stateYesChar(2)Estado do transportador.
carrier.volumeYesDecimal(10,2)Quantidade de volumes no transporte.
carrier.packageTypeYesString (max 50)Tipo de embalagem do transporte (ex: Caixa).
carrier.brandYesString (max 50)Marca da embalagem do transporte.
carrier.numberingYesString (max 20)Numeração da embalagem do transporte.
carrier.grossWeightYesDecimal(10,2)Peso bruto do transporte.
carrier.netWeightYesDecimal(10,2)Peso líquido do transporte.
carrier.cnpjTransporterYesChar(14)CNPJ do transportador.
carrier.transportTypeYesString (max 4)Tipo de transporte (ex: 0001).
carrier.transportModeYesString (max 2)Modo de transporte (ex: 01).
items[n].cstIPIYesChar(2)Código de Situação Tributária do IPI.
items[n].cstPISYesChar(2)Código de Situação Tributária do PIS.
items[n].cstCOFINSYesChar(2)Código de Situação Tributária do COFINS.
items[n].cstICMSYesChar(2)Código de Situação Tributária do ICMS.
items[n].fcpAmountYesDecimal(10,2)Valor do FCP (Fundo de Combate à Pobreza).
items[n].fcpRateYesDecimal(5,2)Taxa do FCP.
items[n].fcpBaseAmountYesDecimal(10,2)Base de cálculo do FCP.
items[n].icmsOriginalAmountYesDecimal(10,2)Valor original do ICMS.
items[n].icmsDeferredBaseAmountYesDecimal(10,2)Base de cálculo do ICMS diferido.
items[n].icmsDeferredAmountYesDecimal(10,2)Valor do ICMS diferido.
items[n].icmsDeferredRateYesDecimal(5,2)Taxa do ICMS diferido.
items[n].icmsReducedRateYesDecimal(5,2)Taxa do ICMS reduzido.
items[n].sendStatisticalTaxFlagYesBooleanIndicador de envio de flag de imposto estatístico.
items[n].otherAdditionalExpensesAmountYesDecimal(10,2)Valor de despesas adicionais.
items[n].afrmmYesDecimal(10,2)Valor do AFRMM (Adicional ao Frete para Renovação da Marinha Mercante).
items[n].depositCodeYesString (max 10)Código do depósito.
items[n].idYesIntegerID do item.
items[n].materialCodeSapYesString (max 20)Código SAP do material.
items[n].materialDescriptionYesString (max 255)Descrição do material.
items[n].goodsGroupYesString (max 10)Grupo de mercadoria.
items[n].codeCfopYesChar(8)Código CFOP (Código Fiscal de Operações e Prestações).
items[n].codeNcmYesChar(8)Código NCM (Nomenclatura Comum do Mercosul).
items[n].materialOriginYesChar(1)Origem do material.
items[n].materialUtilizationYesChar(1)Utilização do material.
items[n].quantityYesDecimal(10,2)Quantidade do material.
items[n].quantityMeasurementUnitYesString (max 10)Unidade de medida da quantidade.
items[n].netPriceYesDecimal(15,2)Preço líquido do item.
items[n].netValueYesDecimal(15,2)Valor líquido do item.
items[n].codeSituationFiscalCofinsYesChar(2)Código da situação fiscal do COFINS.
items[n].codeSituationFiscalPisYesChar(2)Código da situação fiscal do PIS.
items[n].poNumberYesString (max 20)Número da ordem de compra.
items[n].additionNumberYesString (max 10)Número do adicional.
items[n].itemInAdditionNumberYesString (max 10)Número do item no adicional.
items[n].diTagCodigoRelacaoCompradorVendedorYesIntegerCódigo da relação comprador-vendedor.
items[n].diTagFabricanteNomeYesString (max 100)Nome do fabricante.
items[n].baseValueIiYesDecimal(15,2)Base de cálculo do II (Imposto de Importação).
items[n].baseValueIpiYesDecimal(15,2)Base de cálculo do IPI (Imposto sobre Produtos Industrializados).
items[n].baseValuePisYesDecimal(15,2)Base de cálculo do PIS.
items[n].baseValueCofinsYesDecimal(15,2)Base de cálculo do COFINS.
items[n].baseValueIcmsYesDecimal(15,2)Base de cálculo do ICMS.
items[n].baseValueIcmsStYesDecimal(15,2)Base de cálculo do ICMS substituição tributária.
items[n].taxRateIiYesDecimal(5,2)Taxa do II (Imposto de Importação).
items[n].taxRateIpiYesDecimal(5,2)Taxa do IPI (Imposto sobre Produtos Industrializados).
items[n].taxRatePisYesDecimal(5,2)Taxa do PIS.
items[n].taxRateConfinsYesDecimal(5,2)Taxa do COFINS.
items[n].taxRateIcmsYesDecimal(5,2)Taxa do ICMS.
items[n].taxRateIcmsStYesDecimal(5,2)Taxa do ICMS substituição tributária.
items[n].taxValIiYesDecimal(15,2)Valor do II (Imposto de Importação).
items[n].taxValIpiYesDecimal(15,2)Valor do IPI (Imposto sobre Produtos Industrializados).
items[n].taxValPisYesDecimal(15,2)Valor do PIS.
items[n].taxValConfinsYesDecimal(15,2)Valor do COFINS.
items[n].taxValIcmsYesDecimal(15,2)Valor do ICMS.
items[n].taxValIcmsStYesDecimal(15,2)Valor do ICMS substituição tributária.
items[n].otherExpensesYesDecimal(15,2)Outras despesas.
items[n].positionErpYesString (max 10)Posição do item no ERP.
items[n].lotsNoString (max 50)Informações sobre os lotes do item, caso aplicável.
taxes.icmsBaseAmountYesDecimal(15,2)Base de cálculo do ICMS.
taxes.icmsAmountYesDecimal(15,2)Valor do ICMS.
taxes.icmsStBaseAmountYesDecimal(15,2)Base de cálculo do ICMS Substituição Tributária.
taxes.icmsStAmountYesDecimal(15,2)Valor do ICMS Substituição Tributária.
taxes.importTaxAmountYesDecimal(15,2)Valor do imposto de importação.
taxes.pisAmountYesDecimal(15,2)Valor do PIS.
taxes.productsTotalAmountYesDecimal(15,2)Total dos produtos.
taxes.freightTotalAmountYesDecimal(15,2)Total do frete.
taxes.insuranceTotalAmountYesDecimal(15,2)Total do seguro.
taxes.afrmmTotalAmountYesDecimal(15,2)Total do AFRMM (Adicional ao Frete para Renovação da Marinha Mercante).
taxes.otherExpensesTotalAmountYesDecimal(15,2)Total de outras despesas.
taxes.ipiTotalAmountYesDecimal(15,2)Total do IPI.
taxes.cofinsTotalAmountYesDecimal(15,2)Total do COFINS.
taxes.invoiceTotalAmountYesDecimal(15,2)Total da fatura.
taxes.siscomexFeeAmountYesDecimal(15,2)Valor da taxa Siscomex.
taxes.fcpAmountYesDecimal(15,2)Valor do FCP (Fundo de Combate à Pobreza).
taxes.fcpTotalAmountYesDecimal(15,2)Total do FCP.
taxes.otherAdditionalExpensesTotalAmountYesDecimal(15,2)Total de outras despesas adicionais.
taxes.icmsBaseCalculoYesDecimal(15,2)Base de cálculo do ICMS.
taxes.icmsValorYesDecimal(15,2)Valor do ICMS.
taxes.icmsStBaseCalculoYesDecimal(15,2)Base de cálculo do ICMS Substituição Tributária.
taxes.icmsStValorYesDecimal(15,2)Valor do ICMS Substituição Tributária.
taxes.impValorYesDecimal(15,2)Valor do imposto de importação.
taxes.pisValorYesDecimal(15,2)Valor do PIS.
taxes.produtosValorTotalYesDecimal(15,2)Valor total dos produtos.
taxes.freteValorTotalYesDecimal(15,2)Valor total do frete.
taxes.seguroValorTotalYesDecimal(15,2)Valor total do seguro.
taxes.afrmmValorTotalYesDecimal(15,2)Valor total do AFRMM.
taxes.outrasDespesasValorTotalYesDecimal(15,2)Valor total de outras despesas.
taxes.ipiValorTotalYesDecimal(15,2)Valor total do IPI.
taxes.cofinsValorTotalYesDecimal(15,2)Valor total do COFINS.
taxes.nfValorTotalYesDecimal(15,2)Valor total da nota fiscal.
taxes.taxaSiscomexYesDecimal(15,2)Taxa do Siscomex.
declarationTypeYesString (max 2)Tipo de declaração (ex: DI).
declarationNumberYesString (max 20)Número da declaração.
importDeclarationNumberYesString (max 20)Número da declaração de importação.
diIssueDateYesDateData de emissão da declaração de importação.
customsStorageNameYesString (max 100)Nome do local de armazenamento aduaneiro.
customClearanceCodeDIYesIntegerCódigo de desembaraço aduaneiro da DI.
customClearanceDateYesDateData de desembaraço aduaneiro.
ufDesembYesChar(2)UF (Unidade Federativa) de desembaraço aduaneiro.
volume.quantityYesDecimal(10,2)Quantidade de volumes.
volume.typeYesString (max 50)Tipo de volume (ex: caixas).
volume.brandNoString (max 50)Marca do volume, se aplicável.
volume.numberNoString (max 50)Número do volume, se aplicável.
volume.netWeightYesDecimal(15,2)Peso líquido do volume.
volume.grossWeightYesDecimal(15,2)Peso bruto do volume.
invoiceData.numberYesString (max 20)Número da fatura.
invoiceData.seriesYesString (max 5)Série da fatura.
invoiceData.chaveAcessoNoString (max 44)Chave de acesso da nota fiscal eletrônica, se aplicável.
invoiceData.dataEmissaoNoDateData de emissão da nota fiscal, se aplicável.
operation.typeNationalInvoiceYesString (max 4)Tipo de nota fiscal nacional.
operation.companyYesString (max 4)Código da empresa.
operation.localBusinessCompanyYesString (max 4)Código da empresa local.
operation.codePartnerYesString (max 10)Código do parceiro.
operation.incotermsOneYesString (max 3)Primeiro Incoterm (ex: CIP).
operation.incotermsTwoYesString (max 100)Segundo Incoterm (ex: AEROPORTO INTERNACIONAL GALEÃO).
operation.importerCorporationYesIntegerID da corporação importadora.
operation.mainCorporationIdYesIntegerID da corporação principal.
operation.coverageExchangeCodeYesIntegerCódigo de cobertura cambial.
operation.operationCodeTypeDIYesString (max 2)Código de tipo de operação DI.
additionalDataYesString (max 1000)Dados adicionais sobre o embarque, DI, taxas e outros detalhes.
useTransportedVolumeSpeciesListForNfYesBooleanIndica se será utilizado a lista de espécies de volumes transportados para a nota fiscal.
lots[n].idYesIntegerID do lote.
lots[n].erpCodeYesString (max 10)Código do lote no sistema ERP.
lots[n].partNumberYesString (max 20)Número da peça do lote.
lots[n].lotes[n].idYesString (max 36)ID do lote interno.
lots[n].lotes[n].loteNameYesString (max 20)Nome do lote interno.
lots[n].lotes[n].quantityYesDecimal(10,2)Quantidade do lote.
lots[n].lotes[n].manufacturingDateYesDateData de fabricação do lote.
lots[n].lotes[n].expirationDateYesDateData de validade do lote.

HTTP Status Codes

Code Description
200OK
201Created
400Bad Request
401Unauthorized
404Not Found
500Internal Server Error