Recursos · API e encomendas

Vendas em formato JSONLead: especificação

Especificação JSONLead de vendas: campos, três métodos de entrega e tabela de referência completa.

Este formato continua em uso para as integrações existentes. Para integrações novas, o formato recomendado é o esquema versionado ph.order/1.2.

Automatizar o fluxo de vendas e ligá-lo ao teu sistema de gestão ou ERP nunca foi tão fácil. Com o nosso sistema, cada venda realizada no portal é enviada de forma estruturada para que a possas processar automaticamente sem complicações. Aqui explicamos-te como funciona e como podes implementar esta integração.

Formato de envio: JSONLead como standard de mercado

Para garantir compatibilidade e facilidade de integração, utilizamos o formato JSONLead. Este formato é amplamente reconhecido no mercado e facilita o processamento automático das vendas em sistemas de terceiros.

Métodos de envio disponíveis

Tens três opções para receber as vendas. Em qualquer caso, o conteúdo da venda em formato json será o mesmo.

  • Webhook: A opção mais rápida e direta. As vendas são enviadas imediatamente para o URL do teu sistema configurado para as receber (pedido POST). Se por questões de segurança precisares de qualquer tipo de cabeçalho personalizado, podemos adicioná-lo sem problema.
  • SFTP/FTP: Podes utilizar o nosso servidor SFTP ou um próprio (SFTP/FTP) para receber os dados. Será criado um ficheiro json por cada venda.
  • Email: Se preferires, podemos enviar-te as vendas em formato JSONLead como corpo em correios eletrónicos.

Exemplo de JSONLead enviado

{
  "client": {
      "foreign_id": "1df807f0ba96f8be5529308f6667a144",
      "first_name": "John",
      "province": "Haute-Normandie",
      "postal_code": "76119",
      "phone": "600000000",
      "email": "user@mail.com",
      "custom": {
          "address": "4534 route de la mar",
          "city": "76119 - STE MARGUERITE SUR MER",
          "country": "FR"
      }
  },
  "sales_lead": {
      "origin": {
          "source": "portal_hero",
          "medium": "Ebay"
      },
      "related_urls": [
          "https://portal.com/item/1234"
      ],
      "status": "confirmed",
      "custom": {
          "account": "some_email@mail.com",
          "external_id": "1243948",
          "title": "Some pretty product",
          "created_at": "2025-01-17 10:25:22.145432",
          "update_at": "2025-01-17 18:21:11.145432",
          "amount": 1400.0,
          "shipping_amount": 0.0,
          "payment_method": "EBAY",
          "shipping": {
              "delivery_purchase_confirmed": true,
              "delivery_purchase_confirmed_ts": "2025-01-17 10:25:22.145432",
              "shipping_label_url": "https://portal-xxxx.com/tracking.pdf",
              "tracking_code": "XXXXXXXX"
          }
      },
      "foreign_id": "17-12583-30383",
      "inquiry": "[{\"created_at\": \"2022-10-31T20:03:21.360000\",\"text\": \"Te dejo mi numero de telefono 6XXXXXXXXX\"}, {\"created_at\":\"2022-10-31T19:50:55.194000\", \"text\": \"Hola!\"}]"
  },
  "version": "1.0.0"
}

* No caso de portais que permitem múltiplos artigos no mesmo pedido, os elementos do JSON: "sales_lead.custom.external_id", "sales_lead.custom.amount" and "sales_lead.custom.title" serão uma lista em vez de um só elemento. A ordem das listas será respeitada entre eles.

Detalhes dos campos do JSONLead

NomeTipoObrigatórioDescrição
client.foreign_idstringSimIdentificador único do cliente.
client.first_namestringSimNome do cliente. Consoante o portal pode ser um nome de utilizador.
client.provincestringNãoDistrito da morada do cliente.
client.postal_codestringNãoCódigo postal da morada do cliente.
client.phonestringNãoNúmero de telefone do cliente.
client.emailstringNãoEmail do cliente.
client.custom.addressstringNãoMorada postal do cliente.
client.custom.citystringNãoCidade da morada do cliente.
client.custom.countrystringNãoPaís (código ISO do país) da morada do cliente.
sales_lead.origin.sourcestringSimOrigem da venda. Será sempre "portal_hero".
sales_lead.origin.mediumstringNãoNome do portal de onde provém a venda.
sales_lead.related_urlsarrayNãoUrl/s relevantes. Normalmente o url do artigo no portal.
sales_lead.statusstringSimEstado da venda. Atualmente pode ser "confirmed" ou "cancelled".
sales_lead.custom.accountstringNãoEmail ou identificador da conta no portal. Útil quando se gerem múltiplas contas no mesmo portal para poder identificar a conta de origem da venda.
sales_lead.custom.external_idstring/arraystring*SimIdentificador único do artigo. O mesmo que nos enviam no envio de artigos.
sales_lead.custom.titlestring/arraystring*SimTítulo do produto vendido.
sales_lead.custom.created_atdatetimeSimData e hora da criação da venda.
sales_lead.custom.update_atdatetimeNãoData e hora da última atualização da venda.
sales_lead.custom.amountfloat/arrayfloat*SimMontante total da venda.
sales_lead.custom.shipping_amountfloatNãoMontante dos custos de envio.
sales_lead.custom.payment_methodstringNãoMétodo de pagamento.
sales_lead.custom.shipping.delivery_purchase_confirmedbooleanSimBooleano que indica se a venda foi realizada. Virá sempre a true neste caso.
sales_lead.custom.shipping.delivery_purchase_confirmed_tsdatetimeNãoObsoleto: Momento de criação da venda. Mesmo valor que "sales_lead.custom.created_at"
sales_lead.custom.shipping.shipping_label_urlstringNãoUrl da etiqueta de envio. Poderá ser um pdf ou uma imagem consoante a empresa de transporte
sales_lead.custom.shipping.tracking_codestringNãoNúmero de seguimento do pedido na empresa de transporte.
sales_lead.foreign_idstringSimIdentificador único da venda.
sales_lead.inquiryarrayNãoConversa mantida com o utilizador no portal.
versionstringSimVersão do schema de jsonLead. Versão 1.0.0 por agora.

* No caso de portais que permitem múltiplos artigos no mesmo pedido, os elementos do JSON: "sales_lead.custom.external_id", "sales_lead.custom.amount" and "sales_lead.custom.title" serão uma lista em vez de um só elemento. A ordem das listas será respeitada entre eles.

Benefícios desta integração

  • Automatização Completa: Processa automaticamente as vendas no teu sistema de gestão.
  • Padronização: O formato JSONLead assegura compatibilidade com a maioria dos sistemas do mercado.
  • Flexibilidade: Escolhe entre webhook, SFTP ou email consoante o que melhor se adapte às tuas necessidades.

Integra esta solução no teu fluxo de trabalho e otimiza a gestão das tuas vendas com rapidez, precisão e facilidade. Se precisares de mais detalhes ou suporte técnico, contacta-nos! 🚀