Ler a vitrine de um produto
Devolve o que o comprador precisa ver antes de pagar: nome, descrição, preço em centavos, os métodos aceitos e a personalização do checkout.
GEThttps://api.navenaut.com/checkout/{productRef}
Autenticação
Rota pública: não exige credencial. A ausência é declarada, não omissão.
Esta rota não exige autenticação. Ela é chamada pelo comprador, que não tem sessão: a identidade do vendedor vem da referência do produto, nunca do chamador.
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
productRefobrigatório | texto | A referência pública do produto. É a única coisa que liga a cobrança ao vendedor. |
Respostas
200 · sucesso
{
"appearance": {
"accentColor": "#12b914",
"background": "light",
"bannerDesktopUrl": "https://assets.exemplo.com.br/checkout/produto/imagem",
"bannerEnabled": true,
"bannerMobileUrl": "https://assets.exemplo.com.br/checkout/produto/imagem",
"bannerType": "image",
"bannerVideoSource": "youtube",
"bannerVideoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"barColor": "#12b914",
"buttonText": "Finalizar compra",
"keepGreenButton": true,
"showSecuritySeal": true,
"showTestimonials": true,
"testimonials": [
{
"avatarUrl": "https://assets.exemplo.com.br/checkout/produto/imagem",
"name": "Loja Exemplo",
"stars": 1,
"text": "exemplo"
}
],
"theme": "verde",
"urgencyBackgroundColor": "#12b914",
"urgencyEnabled": true,
"urgencyMarquee": true,
"urgencyMinutes": 1,
"urgencySpots": 1,
"urgencyText": "exemplo",
"urgencyTextColor": "#12b914",
"urgencyType": "text",
"whatsappEnabled": true,
"whatsappMessage": "exemplo",
"whatsappNumber": "5511900000000"
},
"billingType": "one_time",
"currency": "BRL",
"description": "exemplo",
"imageUrl": "https://assets.exemplo.com.br/checkout/produto/imagem",
"installments": [
{
"count": 2,
"installmentCents": 129900
}
],
"methods": [
"pix"
],
"name": "Loja Exemplo",
"offers": [
{
"interval": {
"count": 1,
"unit": "week"
},
"name": "Loja Exemplo",
"priceCents": 129900,
"principal": true,
"publicId": "7K3M9X",
"ref": "referencia-de-exemplo"
}
],
"orderBumps": [
{
"compareAtCents": 129900,
"ctaLabel": "exemplo",
"description": "exemplo",
"headline": "exemplo",
"imageUrl": "https://loja.exemplo.com.br/webhooks",
"priceCents": 129900,
"productName": "exemplo",
"ref": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06"
}
],
"pixels": [
{
"label": "Loja Exemplo",
"pixelId": "1234567890123456",
"provider": "facebook"
}
],
"popup": {
"backgroundColor": "exemplo",
"buttonColor": "exemplo",
"buttonText": "exemplo",
"buttonTextColor": "exemplo",
"delaySeconds": 0,
"discount": {
"installments": [
{
"count": 2,
"installmentCents": 129900
}
],
"percent": 1,
"priceCents": 129900
},
"discountColor": "exemplo",
"imageUrl": "https://loja.exemplo.com.br/webhooks",
"message": "exemplo",
"messageColor": "exemplo",
"title": "exemplo",
"titleColor": "exemplo"
},
"priceCents": 129900,
"publicId": "7K3M9X",
"ref": "referencia-de-exemplo",
"showAllOffers": true,
"tradeName": "exemplo"
}A vitrine do produto. appearance traz a personalização que o vendedor gravou, com cada imagem como URL absoluta, ou null quando ele não personalizou este produto. A personalização não altera preço, moeda nem métodos.
404 · não encontrado
O produto não existe, ou não está publicado.
Erros desta rota
| Status | Código | Quando | O que fazer |
|---|---|---|---|
| 404 | CHECKOUT_PRODUCT_UNAVAILABLE | A productRef não resolve a uma vitrine pública: o produto não existe, nunca foi publicado, ou saiu de publicação depois que o link foi compartilhado. | Confira a referência com quem gerou o link. Repetir não muda o resultado enquanto o produto não voltar a ser publicado. |
Os códigos são estáveis e fazem parte do contrato. A lista completa, com todos os vocabulários, está na tabela de erros.