RequestOrderNewOrder Este JSON é utilizado para criar um novo pedido, passando informações detalhadas sobre o pedido, como identificação da integração, tipos de pedido, origem do pedido, e eventos associados. Ele é composto pelos seguintes campos: integrationHubServiceId (string, obrigatório) Descrição: Chave de identificação da integração. Este campo é utilizado para identificar de maneira única o serviço de integração responsável pela criação do pedido. Exemplo: "string" data (objeto, obrigatório) Descrição: Objeto contendo os detalhes completos do pedido. Campos dentro de data: id (string, obrigatório) Título: Data.id Descrição: Identificador único do pedido. Este ID é gerado pelo aplicativo de pedidos e deve ser utilizado para identificar o pedido em todo o sistema. Exemplo: "string" type (OrderType, obrigatório) Título: OrderType Descrição: Tipo de pedido, indicando a modalidade de entrega ou consumo do pedido. Valores possíveis: - DELIVERY - Pedidos que serão entregues no endereço do cliente.
- TAKEOUT - Pedidos que serão retirados pelo cliente no estabelecimento.
- INDOOR - Pedidos que serão consumidos dentro do estabelecimento.
- TABLE - Pedidos que serão consumidos em uma mesa no local.
- CARD - Pedidos cuja o consumo será alocado ao cartão do estabelecimento.
- COUNTER - Pedidos que serão preparados para consumo no balcão do estabelecimento.
Exemplo: "DELIVERY"
displayId (string, obrigatório) Título: Data.displayId Descrição: Identificação do pedido que será exibida na interface do Aplicativo de Pedidos para o cliente. Exemplo: "string" sourceAppId (string) Título: Data.sourceAppId Descrição: Este campo deve ser preenchido com o AppId do Aplicativo de Pedidos que originou o pedido. Ele é útil para os aplicativos que atuam como um Hub, intermediando os pedidos entre o Aplicativo de Pedidos e o Serviço de Software. Exemplo: "string" salesChannel (string) Título: Data.salesChannel Descrição: Canal de vendas pelo qual o pedido foi originado, como website, aplicativo, ou outros canais. Exemplo: "string" createdAt (string, obrigatório) Título: Data.createdAt Descrição: Data e hora de criação do pedido, no formato de data e hora UTC, conforme padrão ISO. Exemplo: "2023-08-12T12:34:56Z" lastEvent (OrderLastEvent, opcional) Título: OrderLastEvent Descrição: O último evento válido do pedido, que pode ter sido confirmado, enviado via webhook ou não reconhecido. Valores possíveis: - CREATED
- CONFIRMED
- DISPATCHED
- READY_FOR_PICKUP
- PICKUP_AREA_ASSIGNED
- DELIVERED
- CONCLUDED
- CANCELLATION_REQUESTED
- CANCELLATION_REQUEST_DENIED
- CANCELLED
- ORDER_CANCELLATION_REQUEST
- CANCELLED_DENIED
orderTiming (OrderTiming, obrigatório) Título: OrderTiming Descrição: Tempo de entrega do pedido, indicando se o pedido terá entrega imediata ou agendada. Valores possíveis: - INSTANT - Entrega imediata.
- SCHEDULED - Entrega agendada.
preparationStartDateTime (string, obrigatório) Título: Data.preparationStartDateTime Descrição: Sugestão de horário de início da preparação do pedido após sua criação. O padrão é o mesmo horário da criação do pedido, mas pode ser ajustado para atrasar o início por qualquer motivo. Exemplo: "2023-08-12T13:00:00Z" merchant (objeto, obrigatório) Descrição: Contém as informações do estabelecimento (merchant) relacionado ao pedido. Campos dentro de merchant: id (string, obrigatório) Título: Merchant.id Descrição: Identificador único do estabelecimento nos diferentes sistemas com os quais ele se comunica. Esse ID deve ser gerado pelo Serviço de Software do estabelecimento. Para evitar duplicação entre diferentes estabelecimentos, recomenda-se criar o merchantId usando: Documento do Estabelecimento + UUID. Caso não seja possível, recomenda-se pelo menos usar um UUID. name (string, obrigatório) Título: Merchant.name Descrição: Nome público do estabelecimento. Exemplo: "Loja Exemplo"
items (array de objetos, obrigatório) Descrição: Contém a lista de itens do pedido, detalhando cada produto ou serviço solicitado. Campos dentro de items: id (string, obrigatório) Título: OrderItems.id Descrição: Identificador único de cada item no pedido. Exemplo: "item123" index (string, opcional) Título: OrderItems.index Descrição: Posição do item no pedido, caso o número da posição seja relevante. Exemplo: "1" name (string, obrigatório) Título: OrderItems.name Descrição: Nome do produto ou serviço solicitado no pedido. Exemplo: "Hambúrguer Clássico" externalCode (string, obrigatório) Título: OrderItems.externalCode Descrição: Código externo do produto, utilizado para referência em sistemas de controle de estoque ou catálogos de produtos. Exemplo: "EXT00123" unit (string, obrigatório) Título: Unit Descrição: Unidade de medida do item. Valores possíveis: - UN - Unidade
- KG - Quilograma
- L - Litro
- OZ - Onça
- LB - Libra
- GAL - Galão
Exemplo: "UN"
ean (string, opcional) Título: OrderItems.ean Descrição: O código de barras EAN usado nos itens. Exemplo: "7891234567890" quantity (número, obrigatório) Título: OrderItems.quantity Descrição: Quantidade de itens solicitados. Valores fracionados são permitidos para unidades menores, como gramas ou mililitros. Exemplo: "2" specialInstructions (string, opcional) Título: OrderItems.specialInstructions Descrição: Instruções especiais relacionadas ao item, como pedidos personalizados ou restrições alimentares. Exemplo: "Sem cebola" unitPrice (objeto, obrigatório) Descrição: Preço por unidade do item, considerando o valor pago pelo cliente e utilizado no cálculo dos totais do pedido. Campos dentro de unitPrice: value (número, obrigatório) Título: UnitPrice.value Descrição: Valor unitário do item. São aceitos valores com até 4 casas decimais. Exemplo: "10.50" currency (string, obrigatório) Título: UnitPrice.currency Descrição: Código da moeda, seguindo o padrão ISO 4217 (código de 3 letras). Exemplo: "BRL"
originalPrice (objeto, opcional) Descrição: Preço original do produto, antes de quaisquer descontos ou promoções aplicadas. Utilizado apenas para fins informativos. Campos dentro de originalPrice: value (número, obrigatório) Título: OriginalPrice.value Descrição: Valor original do item. São aceitos valores com até 4 casas decimais. Exemplo: "12.00" currency (string, obrigatório) Título: OriginalPrice.currency Descrição: Código da moeda, conforme o padrão ISO 4217. Exemplo: "BRL"
optionsPrice (objeto, opcional) Descrição: Soma dos preços de todas as opções ou adicionais selecionados para o item. Campos dentro de optionsPrice: value (número, obrigatório) Título: OptionsPrice.value Descrição: Valor das opções adicionais. São aceitos valores com até 4 casas decimais. Exemplo: "1.50" currency (string, obrigatório) Título: OptionsPrice.currency Descrição: Código da moeda, conforme o padrão ISO 4217. Exemplo: "BRL"
totalPrice (objeto, obrigatório) Descrição: Preço total do item, calculado como a quantidade multiplicada pelo preço unitário somado ao valor das opções (se houver). Campos dentro de totalPrice: value (número, obrigatório) Título: TotalPrice.value Descrição: Valor total do item. Exemplo: "21.00" currency (string, obrigatório) Título: TotalPrice.currency Descrição: Código da moeda, conforme o padrão ISO 4217. Exemplo: "BRL"
options (array de objetos, opcional) Descrição: Lista de opções adicionais selecionadas para o item. Campos dentro de options: id (string, obrigatório) Título: OrderItemsOptions.id Descrição: Identificador único da opção adicional selecionada. Exemplo: "option001" name (string, obrigatório) Título: OrderItemsOptions.name Descrição: Nome da opção adicional. Exemplo: "Adicional de Queijo" quantity (número, obrigatório) Título: OrderItemsOptions.quantity Descrição: Quantidade da opção selecionada. Exemplo: "1" unitPrice (objeto, obrigatório) Descrição: Preço unitário da opção adicional. Campos dentro de unitPrice: value (número, obrigatório) Título: UnitPrice.value Descrição: Valor unitário da opção. Exemplo: "2.00" currency (string, obrigatório) Título: UnitPrice.currency Descrição: Código da moeda. Exemplo: "BRL"
specialInstructions (string, opcional) Título: OrderItemsOptions.specialInstructions Descrição: Instruções especiais relacionadas à opção selecionada. Exemplo: "Queijo extra derretido"
productionPoint (string, obrigatório) Título: OrderItems.productionPoint Descrição: Ponto de produção do item dentro do estabelecimento. Exemplo: "Cozinha"
otherFees (array de objetos, opcional) Descrição: Outras taxas que podem ser aplicadas ao pedido, como taxa de entrega, taxa de serviço, ou gorjeta. Campos dentro de otherFees: name (string, obrigatório) Título: OtherFees.name Descrição: Nome relacionado à taxa aplicada. Exemplo: "Taxa de Entrega" type (string, obrigatório) Título: OrderFeesType Descrição: Tipo da taxa aplicada. Pode ser uma taxa de entrega, serviço, ou gorjeta. Valores possíveis: - DELIVERY_FEE - Taxa de entrega
- SERVICE_FEE - Taxa de serviço
- TIP - Gorjeta
Exemplo: "DELIVERY_FEE"
receivedBy (string, obrigatório) Título: OrderReceivedBy Descrição: Define quem recebe a taxa aplicada, podendo ser o marketplace, o próprio estabelecimento ou um serviço de logística. Valores possíveis: - MARKETPLACE - Marketplace recebe
- MERCHANT - Estabelecimento recebe
- LOGISTIC_SERVICES - Serviços de logística recebem
Exemplo: "MARKETPLACE"
receiverDocument (string, opcional) Título: OtherFees.receiverDocument Descrição: Documento do recebedor da taxa. Obrigatório em casos de marketplace. Exemplo: "123.456.789-00" price (objeto, obrigatório) Descrição: Preço da taxa aplicada. Campos dentro de price: value (número, obrigatório) Título: OtherFeesPrice.value Descrição: Valor da taxa. São aceitos valores com até 4 casas decimais. Exemplo: "5.00" currency (string, obrigatório) Título: OtherFeesPrice.currency Descrição: Código da moeda, conforme padrão ISO 4217 (código de 3 letras). Exemplo: "BRL"
observation (string, opcional) Título: OtherFees.observation Descrição: Comentários ou observações adicionais sobre a taxa. Exemplo: "Taxa adicional por área remota" payments (objeto, obrigatório) Descrição: Todos os detalhes sobre o pagamento, como métodos, pré-pagamentos, troco, etc. Campos dentro de payments: prepaid (número, obrigatório) Título: OrderPayments.prepaid Descrição: Quantidade paga antecipadamente. Exemplo: "50.00" pending (número, obrigatório) Título: OrderPayments.pending Descrição: Quantidade que ainda precisa ser paga. Exemplo: "105.00" methods (array de objetos, obrigatório) Descrição: Métodos de pagamento usados. Se foi pago online, na entrega, por cartão de crédito, voucher, dinheiro, etc. Campos dentro de methods: value (número, obrigatório) Título: OrderPaymentsMethods.value Descrição: Valor do pagamento. São aceitos valores com até 4 casas decimais. Exemplo: "105.00" currency (string, obrigatório) Título: OrderPaymentsMethods.currency Descrição: Código da moeda, conforme padrão ISO 4217 (código de 3 letras). Exemplo: "BRL" type (string, obrigatório) Título: PaymentMethodType Descrição: Indica se o pagamento foi feito online ou offline. Valores possíveis: - ONLINE
- OFFLINE
Exemplo: "ONLINE"
method (string, obrigatório) Título: Method Descrição: Método de pagamento escolhido. Valores possíveis: - CREDIT - Crédito
- DEBIT - Débito
- MEAL_VOUCHER - Vale-refeição
- FOOD_VOUCHER - Vale-alimentação
- DIGITAL_WALLET - Carteira digital
- PIX - PIX
- CASH - Dinheiro
- CREDIT_DEBIT - Cartão de crédito/débito
- COUPON - Cupom
- REDEEM - Resgate
- PREPAID_REDEEM - Resgate pré-pago
- OTHER - Outro
Exemplo: "CREDIT"
brand (string, opcional) Título: Brand Descrição: Indica a bandeira do cartão escolhido no campo method. Este campo deve ser preenchido somente se method for CREDIT, DEBIT, CREDIT_DEBIT, MEAL_VOUCHER, ou FOOD_VOUCHER. Valores possíveis: - VISA
- MASTERCARD
- DINERS
- AMEX
- HIPERCARD
- ELO
- OUTRAS
Exemplo: "VISA"
methodInfo (string, opcional) Título: OrderPaymentsMethods.methodInfo Descrição: Informações adicionais sobre o método de pagamento. Pode ser usado para indicar algo útil, como o nome da carteira digital ou número de autorização. Este campo é recomendado quando o método escolhido for OTHER. Exemplo: "Autorização 123456" changeFor (número, opcional) Título: OrderPaymentsMethods.changeFor Descrição: Indica o total que será pago em dinheiro pelo cliente e que deve ser considerado para o cálculo do troco (ex: cliente pagará um pedido de R$ 43 com uma nota de R$ 50). Este campo é obrigatório quando o método for CASH. Exemplo: "50.00" schedule (objeto, obrigatório se o orderTiming for SCHEDULED) Descrição: Informações para pedidos agendados. Campos dentro de schedule: scheduledDateTimeStart (string, obrigatório) Título: Schedule.scheduledDateTimeStart Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido. scheduledDateTimeEnd (string, obrigatório) Título: Schedule.scheduledDateTimeEnd Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido.customer (objeto, obrigatório se o tipo escolhido for DELIVERY)
delivery (objeto, obrigatório se o tipo escolhido for DELIVERY) Descrição: Informações para pedidos de entrega. Campos dentro de delivery: deliveredBy (string, obrigatório) Título: OrderDeliveryBy Descrição: Quem é responsável pela entrega do pedido. Valores possíveis: deliveryAddress (objeto, obrigatório) Descrição: O endereço para o qual o pedido será entregue. Campos dentro de deliveryAddress: country (string, obrigatório) Título: OrderTypeDeliveryAddress.country Descrição: Código de dois dígitos do país, conforme a norma ISO 3166-1 alpha-2. state (string, obrigatório) Título: OrderTypeDeliveryAddress.state Descrição: Estado ou subdivisão do país. Recomenda-se (mas não é obrigatório) usar a representação ISO 3166-2. city (string, obrigatório) Título: OrderTypeDeliveryAddress.city Descrição: Nome da cidade. district (string, obrigatório) Título: OrderTypeDeliveryAddress.district Descrição: Bairro ou distrito. street (string, obrigatório) Título: OrderTypeDeliveryAddress.street Descrição: Nome da rua. number (string, obrigatório) Título: OrderTypeDeliveryAddress.number Descrição: Número da rua. complement (string, opcional) Título: OrderTypeDeliveryAddress.complement Descrição: Complemento do endereço. reference (string, opcional) Título: OrderTypeDeliveryAddress.reference Descrição: Referência do endereço. formattedAddress (string, obrigatório) Título: OrderTypeDeliveryAddress.formattedAddress Descrição: Endereço completo formatado. postalCode (string, obrigatório) Título: OrderTypeDeliveryAddress.postalCode Descrição: Código postal. coordinates (objeto, obrigatório) Descrição: Coordenadas do endereço de entrega. Campos dentro de coordinates: latitude (número, obrigatório) Título: OrderTypeDeliveryAddressCoordinates.latitude Descrição: Latitude em graus, com valores limitados à faixa [-90, 90]. longitude (número, obrigatório) Título: OrderTypeDeliveryAddressCoordinates.longitude Descrição: Longitude em graus, com valores limitados à faixa [-180, 180].
estimatedDeliveryDateTime (string, obrigatório) Título: OrderTypeDelivery.estimatedDeliveryDateTime Descrição: Data e hora estimadas de entrega. A mesma data exibida ao cliente na interface do Aplicativo de Pedido. deliveryDateTime (string, opcional) Título: OrderTypeDelivery.deliveryDateTime Descrição: Data de entrega. A data e hora em que a entrega realmente ocorreu. - sendTracking (booleano)
Título: Data.sendTracking Descrição: Este campo indica se é necessário que o serviço de software faça uma requisição ao endpoint para informar o Aplicativo de Pedido sobre atualizações de entrega.- true: O Aplicativo de Pedido está aguardando uma requisição.
- false ou não informado: Não é necessário fazer a requisição.sendDelivered (booleano)
- Título: Data.sendDelivered
Descrição: Este campo indica se é necessário que o serviço de software faça uma requisição ao endpoint para indicar ao Aplicativo de Pedido que o pedido foi entregue ao cliente.- true: O Aplicativo de Pedido está aguardando uma requisição.
- false ou não informado: Não é necessário fazer a requisição.card (objeto, obrigatório se o tipo escolhido for CARD)
- extraInfo (string, opcional)
Título: Data.extraInfo Descrição: Informações adicionais, se necessário.
|