Saltar para o conteúdo principal
POST
Cria um pedido no Fire. O PDV, o quiosque e os integradores de agregadores o usam para enviar suas vendas diretamente ao Fire, sem mudar o corpo que já montam hoje: mudam apenas a URL, a credencial e a forma de ler a resposta. Esta é a versão 2: recebe a estrutura de pedidos de PDV e quiosque e a de agregadores. Se o seu sistema já envia os pedidos no formato Fire, use Criar pedido (v1). As duas versões estão vigentes e terminam no mesmo lugar: mesmas validações, mesma resposta. O Fire reconhece o tipo de pedido pelo channel.uid do corpo:
  • Se o canal é de um agregador (iFood, 99Food, Keeta, Rappi), o corpo é o de Injetar pedido (camelCase, com preços e totais).
  • Qualquer outro canal (PDV, quiosque) usa a estrutura de PDV e quiosque descrita abaixo (snake_case, só com o preço unitário: o Fire calcula os totais).
Depois de criado, o pedido segue o mesmo ciclo de qualquer pedido do Fire: impostos, dia de negócio, documento fiscal e eventos.

Autenticação

string
obrigatório
Sua API key do Fire com escopo orders:write. Também é aceito Authorization: Bearer <api_key>. A key deve estar associada a um vendor: a conta do pedido vem desse vendor. Uma key sem vendor é rejeitada com 403. Não é preciso enviar o header account; se chegar, é ignorado.

Identidade do cliente (PDV e quiosque)

Envie exatamente um destes dois headers. Se não enviar nenhum, ou enviar os dois, o pedido é rejeitado com 400 VALIDATION_ERROR. Pedidos de agregadores não os usam.
string
Identificador da sessão anônima do equipamento (PDV ou quiosque). É o caso habitual.
string
Identificador de um cliente registrado.

Corpo — PDV e quiosque

string
obrigatório
Código único do pedido no seu sistema. Se já existir um pedido com esse código para o seu vendor, a resposta é 409.
string
obrigatório
Vendor do pedido (ex.: 11.6.1350).
string
obrigatório
Catálogo do canal de venda.
string
COMPLETED se a venda já está fechada; OPEN se ainda aguarda cobrança. Um pedido que não chega COMPLETED + SUCCEEDED fica pendente de pagamento.
string
SUCCEEDED se já foi cobrado.
object
obrigatório
Canal de venda. O seu uid decide como o corpo é interpretado.
object
obrigatório
Serviço da venda.
object
obrigatório
Loja da venda.
object
obrigatório
Forma de entrega e catálogo.
object
Equipamento que registrou a venda: uid, name, metadata.
object
Caixa ou operador: uid, name, session (uid, start_timestamp, end_timestamp). null no quiosque.
object
Dados do cliente: uid, name, last_name, phone (obrigatórios se você enviar o objeto), email, gov_id_type, gov_id_number.
object
Dados de faturamento: gov_id_type, gov_id_number, business_name.
object
Dados adicionais da venda, ex.: display_code (número para chamar o pedido) e os dados do quiosque ou do PDV.
object[]
obrigatório
Produtos do pedido.
object[]
obrigatório
Pagamentos do pedido.

Corpo — agregadores

O mesmo corpo de Injetar pedido, sem mudanças. O Fire o identifica como pedido de agregador pelo channel.uid e o registra fechado e pago.

Resposta

boolean
true quando o pedido foi criado.
object

Erros

Toda requisição fica registrada no Fire com o corpo e o motivo da rejeição, inclusive as rejeitadas. Se você reenviar um pedido que já foi criado, a resposta é 409 e ele não é duplicado.