Montar carrinho para o consumidor confirmar
create_cartMonta um carrinho numa loja e devolve confirmUrl, o link que o CONSUMIDOR abre para revisar e confirmar (nome, WhatsApp e, na entrega, endereço). Mostre o link ao consumidor: a compra só acontece quando ele confirma, e o pagamento é combinado com a loja (WhatsApp, Pix, na retirada). Nunca diga que a compra foi feita. Um carrinho é de uma loja só: para comprar em duas lojas, monte dois. Use os productId de search_products e a storeId de get_offers. fulfillment: produto 'pickup' (retirar na loja), 'delivery' (entrega da própria loja; informe o CEP do consumidor) ou 'shipping' (envio pelo país com frete e rastreio, quando get_offers traz shipping; informe o CEP; veja preço e prazo antes em quote_delivery); serviço 'in_store' (na loja) ou 'at_customer' (a domicílio, com o CEP), sempre com scheduledFor (veja os horários livres em check_availability); reserva 'booking', com checkIn, checkOut (preço por noite) e guests (preço por pessoa); produto digital 'digital' (chega por e-mail); imóvel 'visit' (visita com scheduledFor, um imóvel e quantity 1: a plataforma não vende nem aluga, só marca a visita; a imobiliária confirma e o endereço vai para o consumidor depois da confirmação); veículo 'visit' (visita na loja para ver o carro ou fazer test drive, com scheduledFor, um veículo e quantity 1: a plataforma não vende nem financia; a loja confirma). Use o que a oferta aceita (fulfillment em get_offers). Preço 'a partir de' (priceType FROM) deixa o total estimado: a loja confirma. Produtos com receita não entram. Se algum item não puder entrar, nada é criado e a resposta diz o motivo de cada um. O link vale 24 horas e aparece só nesta resposta. Item com adicionais (options em get_offers: tamanho, sabores, borda...): mande os ids das opções escolhidas em options; grupo com minSelect 1 é obrigatório. Para o mesmo produto com escolhas diferentes, repita o item. couponCode aplica um cupom da loja (discount e couponCode voltam no carrinho; o total já desconta). Pré-venda e encomenda entram normalmente: expectedOn diz quando o pedido fica pronto para sair. Item com preço sob consulta (ON_REQUEST) não entra: use request_quote. Aluguel (kind RENTAL): fulfillment 'pickup' ou 'delivery', com startDate e endDate (veja as unidades livres por dia em check_availability); o caução (attributes.deposit), se houver, é combinado com a loja. Telefone: a página de confirmação pede o celular (WhatsApp) do consumidor, obrigatório, mesmo para quem já tem conta só com e-mail; não peça o telefone no chat. Em visita e atendimento com horário, avise que lá ele também pode marcar para receber a confirmação e os lembretes pelo WhatsApp, com botões para confirmar presença, remarcar ou cancelar.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"storeId": "<storeId>",
"items": "<items>",
"fulfillment": "<fulfillment>"
},
"name": "create_cart"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Observação para a loja (preferências, substituições aceitas) | |
| items | Yes | Itens: lista de {productId, quantity, options}. quantity é inteiro, exceto produto vendido por peso (soldByWeight), em kg (ex.: 1.5). options: ids das opções dos adicionais (de get_offers), quando o item tem | |
| guests | No | Reserva: quantas pessoas; obrigatório com preço por pessoa | |
| checkIn | No | Reserva: data de entrada (AAAA-MM-DD) | |
| endDate | No | Aluguel: dia da devolução (AAAA-MM-DD); o preço por dia conta os dias entre a retirada e a devolução (mínimo 1) | |
| storeId | Yes | storeId da loja (de get_offers) | |
| checkOut | No | Reserva: data de saída (AAAA-MM-DD); obrigatória com preço por noite | |
| startDate | No | Aluguel (kind RENTAL): dia da retirada (AAAA-MM-DD) | |
| couponCode | No | Cupom de desconto da loja: o code de get_promotions ou o que o consumidor tem. Se não valer, a resposta diz o motivo (vencido, esgotado, compra mínima) | |
| postalCode | No | Código postal do consumidor (CEP no Brasil; obrigatório na entrega e no serviço a domicílio) | |
| fulfillment | Yes | 'pickup', 'delivery', 'shipping', 'in_store', 'at_customer', 'booking' ou 'digital' | |
| scheduledFor | No | Serviço: data e hora pedidas, com fuso (ex.: 2026-11-05T14:00-03:00); use um start de check_availability | |
| externalReference | No | Seu id para este carrinho (conversa ou usuário no seu sistema), até 100 caracteres; volta em get_cart e nos webhooks do desenvolvedor |