Endpoint que deve ser disponibilizado pelo parceiro para que o restaurante possa enviar uma solicitação de delivery.
https://abrasel-nacional.github.io/docs/#tag/logisticOrder/operation/logisticsNewDelivery
O schema utilizado pela Saipos segue todas as especificações da documentação do Open Delivery, com a adição de um campo para metadados considerados necessários para o funcionamento das integrações. Esses dados podem ou não ser utilizados pelos parceiros e são tratados como opcionais no momento do envio, não garantindo que sempre estarão disponíveis no payload da solicitação.
Campo metadata
Conforme mencionado, além dos dados presentes no modelo do Open Delivery, utilizamos o campo metadata para adicionar dados que sejam necessários para operações do parceiros e que não estejam presentes na documentação oficial.
O campo metadata encontra-se na raiz do payload enviado ao parceiro com a seguinte estrutura:
{
metadata: {
customer?: {
phone: {
number: STRING,
extension?: STRING
}
},
partnerData?: {
orderDisplayId?: STRING | NULL,
orderPartnerId?: STRING | NULL,
orderPartnerName?: STRING | NULL,
phoneNumber?: STRING | NULL,
},
pickUpCode?: STRING
}
}
*Campos com o sinal de "?" ao lado são campos que podem não existir no objeto
Timeout
O retorno do parceiro deverá respeitar o timeout estabelecido pela Saipos (máximo: 10 segundos).
Caso a resposta da requisição atinja esse timeout, a conexão será abortada e o parceiro deve ignorar a solicitação (não dando sequência ao processamento).
Se o parceiro acabar processando o pedido mesmo após o timeout, irá receber erros 400 no tracking informando que o pedido não foi localizado na Saipos. Nesse caso deverá tratar a solicitação como ignorada e não realizar novos envios de tracking para a Saipos.