Este hook é ativado após o pedido ter sido conferido. Seu propósito é enviar de forma automática informações de um pedido pra que este seja faturado
Uma vez que os dados foram enviados para o sistema que fatura o pedido, esperamos que o retorno seja um código único que deve ser utilizado para resgatar o pedido e então, faturá-lo.
Método
POST
Headers
Qualquer header com valor fixo pode ser configurado
Corpo
Campo | Tipo | Descrição |
---|---|---|
orderNumber | string | Identificador do pedido. |
deliveryDate | string | Data de entrega do pedido. |
orderCreatedOn | string | Data de venda do pedido. |
consumerDocument | string | Documento do comprador. |
consumerName | string | Nome do consumidor |
consumerEmail | string | E-mail do consumidor |
shippingPostalCode | string | Cep do consumidor |
shippingAddressLine | string | Endereço de entrega |
shippingNumber | string | Número do endereço de entrega |
shippingNeighborhood | string | Bairro do endereço de entrega |
shippingComplement | string | Complemento do endereço de entrega |
shippingCity | string | Cidade do endereço de entrega |
shippingState | string | Estado do endereço de entrega |
shippingPhone | string | Telefone do consumidor |
storeTrackingCode | string | Identificador da loja |
storeFederalId | string | CNPJ da loja |
extras | object | Informações customizadas do pedido |
items | object (see below) | Lista de itens do pedido. |
payments | object (see below) | Lista de pagamentos do pedido. |
shippingCompanies | object (see below) | Lista de transportadoras do pedido |
packages | object (see below) | Lista de pacotes do pedido |
Items
Campo | Tipo | Descrição |
---|---|---|
id | int | Identificador do item |
sku | string | Identificador único do produto |
quantity | decimal | Quantidade conferida |
unitValue | decimal | Valor por unidade do item |
grossValue | decimal | Valor total do item no pedido |
netValue | decimal | Valor total liquido do item |
discount | decimal | Valor total de desconto do item |
weight | decimal | Peso real em gramas do item caso seja um item pesável |
scannedCode | string | Código lido no processo de conferência |
extras | object | Informações customizadas do item |
ShippingCompanies
Campo | Tipo | Descrição |
---|---|---|
orderItemId | int | Identificador do item |
uniqueId | string | Identificador único |
name | string | Nome da transportadora |
externalCode | string | Código único do da transportadora para o parceiro |
employerNumber | string | CNPJ da transportadora |
federalId | string | CNPJ utilizado no contrato (Correios) |
contractNumber | string | Número do contrato (Correios) |
servicdeIdentifier | string | Código do serviço (Correios) |
postalCardNumber | string | Código do cartão postal (Correios) |
extras | object | Detalhes retornados pelo gateway de pagamento |
Packages
Campo | Tipo | Descrição |
---|---|---|
id | int | Identificador númerico do pacote |
code | string | Identificador único do pacote |
count | int | Quantidade de itens no pacote |
packageItems | object (see below) | Itens do pacote |
PackageItems
Campo | Tipo | Descrição |
---|---|---|
orderItemId | int | Identificador númerico do item |
packageId | int | Identificador númerico do pacote |
quantity | decimal | Quantidade total ou parcial do item |
Payments
Campo | Tipo | Descrição |
---|---|---|
paymentId | string | Informações referente ao pagamento |
installmentCount | int | Quantidade de parcelas do método de pagamento |
value | decimal | Valor total deste pagamento |
transactionId | string | Identificador da transação tid |
extras | object | Detalhes retornados pelo gateway de pagamento |
Exemplo de corpo enviado para api de faturamento de pedido.
{
"customerKey":"1d7SlUJeA6LmywvBx7poLZ1hDMd",
"orderNumber":"00000000001",
"deliveryDate":"2021-06-10T19:14:00.773Z",
"orderCreatedOn":"2021-06-07T19:13:48.847Z",
"consumerDocument":"01234567890",
"consumerName":"John Due",
"consumerEmail":"[email protected]",
"shippingPostalCode":"00000-000",
"shippingAddressLine":"Av Angélica",
"shippingNumber":"2529",
"shippingNeighborhood":"Bela Vista",
"shippingComplement":"",
"shippingCity":"São Paulo",
"shippingState":"SP",
"shippingLat":-23.5293064117432,
"shippingLon":-46.4828834533691,
"shippingPhone":"+5511999999999",
"totalFreight":1.25,
"extras":{
"sequence":"00000000",
"warehouseId":"0"
},
"items":[
{
"sku":"1566",
"ean":"1567",
"key":"1566",
"quantity":4,
"unitValue":3.19,
"freightValue":1.25,
"grossValue":12.76,
"netValue":12.76,
"weight": 100
}
],
"payments":[
{
"paymentId":"201",
"installmentCount":1,
"value":14.01,
"transactionId":"9EE98153BDC543489255656EBED8A708",
"extras": {
"returnCode": "00",
"message": "Transacao autorizada",
"authId": "000000",
"nsu": "000000"
}
}
],
"value":14.01
}
Exemplo de corpo esperado como retorno para api de faturado de pedido.
{
"pdvId": "12345676543"
}
Consultar faturamento
Este hook é responsável por consultar informações referentes ao faturamento de um pedido. Como o processo de faturamento é assíncrono, nosso sistema envia requests GET para uma api do cliente para buscar as informações do cupom fiscal.
Os parâmetros abaixo são enviados via querystring para essa api que retorna os dados do faturamento.
Para indicar que o faturamento não está disponível a api deve retornar um http status de erro preferencialmente 404 NotFound (https://httpstatuses.com/404) ou retornar sucesso, mas com os dados em branco, essas estratégias são suficientes pra que nosso sistema continue tentando buscar os dados do faturamento.
Field | Type | Description |
---|---|---|
orderNumber | string | Número do pedido |
store | string | Código da loja |
warehouse | string | Código do depósito |
pointSaleId | string | Número do pedido no pdv (pdvId retornado na geração do pré-pedido) |
Este é o corpo esperado como retorno para esta requisição
{
"key": "35183497238194038675340857432108579342103487",
"number": "123441",
"serialNumber": "001",
"fiscalCode": "6130",
"totalValue": 120.00,
"totalProductsValue": 110.00,
"issuedAt": "2020-01-01T00:00:00Z",
"authorizationProtocol": "12365478998778945623123123132",
"issueMethod": "Normal" //Contingency
}