POST /checkout/order-from-product

Chame o host da API Zenofy a partir de um backend ou automação de confiança. A encomenda fica associada à sua conta via chave de API; só pode encomendar produtos seus.

URL base: a origem HTTPS onde a API Zenofy está publicada (por exemplo https://api.zenofy.io). O caminho deste endpoint é <code>/checkout/order-from-product</code> (POST, routing em minúsculas).

Gere uma chave de API de checkout na app de comerciante: Definições → Chave de API de checkout. Envie-a em todos os pedidos no cabeçalho HTTP Api-Key (texto simples, não Bearer). Revogue ou rode a chave no mesmo ecrã se for exposta.

O corpo JSON usa nomes de propriedade em camelCase. O produto tem de pertencer ao mesmo comerciante que a chave, estar activo e passar as validações da plataforma (por exemplo conta activa). Os ids de bump também têm de ser seus e bumps válidos para o produto principal.

Autenticação

Cabeçalho Api-Key: a chave secreta completa (o valor só é mostrado uma vez ao gerar). Chave em falta ou inválida devolve HTTP 401 com JSON.

Pedido HTTP

POST · Content-Type: application/json · Api-Key

Exemplo de pedido (ilustrativo)

POST /checkout/order-from-product HTTP/1.1
Host: api.zenofy.io
Api-Key: YOUR_CHECKOUT_API_KEY
Content-Type: application/json

{ ... }

Corpo JSON (campos)

CampoTipoNotas
productIdstringObrigatório. Id do produto (o mesmo do painel).
customerNamestringObrigatório. Nome completo (pelo menos duas palavras), regras de tamanho e caracteres aplicadas no servidor.
emailstringObrigatório. Endereço válido com TLD no domínio.
phoneNumberstringObrigatório. Formato internacional com + e indicativo do país (ex.: +258821234567): 7 a 15 dígitos após +, comprimento alinhado a E.164. Espaços e pontuação são removidos.
bumpProductIdsarray de stringsOpcional. Ids dos produtos bump; descontos conforme a configuração de bump.
currencystringOpcional. Código ISO de 3 letras (ex.: MZN, USD). Se omitido ou inválido, usa a moeda principal do produto.
couponCodestringOpcional. Validado como no checkout; cupão inválido devolve erro em JSON.
languagestringOpcional. Guardado na encomenda (ex.: en, pt) quando suportado.

Exemplo de corpo JSON

{
  "productId": "507f1f77bcf86cd799439011",
  "customerName": "João Silva",
  "email": "buyer@example.com",
  "phoneNumber": "+258840000000",
  "bumpProductIds": ["507f191e810c19729de860ea"],
  "currency": "MZN",
  "couponCode": null,
  "language": "pt"
}

Resposta em caso de sucesso

HTTP 200 com Content-Type: application/json. Em sucesso: success true, orderId, paymentPath (só o caminho, ex. /o/ID_DO_PEDIDO) e paymentUrl (URL HTTPS absoluto para o passo de pagamento no host pay). Em erros de validação ou negócio pode receber HTTP 200 com success: false e message — trate o código de estado e o corpo.

HTTP 200 — success

{
  "success": true,
  "orderId": "673f92b2c3d94a0012abcd01",
  "paymentPath": "/o/673f92b2c3d94a0012abcd01",
  "paymentUrl": "https://pay.zenofy.io/o/673f92b2c3d94a0012abcd01"
}
Todos os tutoriais