Ressources · API et commandes

Ventes au format JSONLead : spécification

Spécification JSONLead des ventes : champs, trois méthodes de livraison et tableau de référence complet.

Ce format reste utilisé pour les intégrations existantes. Pour les nouvelles intégrations, le format recommandé est le schéma versionné ph.order/1.2.

Automatiser le flux de ventes et le connecter à votre système de gestion ou ERP n'a jamais été aussi facile. Avec notre système, chaque vente réalisée sur le portail est envoyée de manière structurée pour que vous puissiez la traiter automatiquement sans complications. Nous vous expliquons ici comment cela fonctionne et comment vous pouvez mettre en œuvre cette intégration.

Format d'envoi : JSONLead comme standard du marché

Pour garantir la compatibilité et la facilité d'intégration, nous utilisons le format JSONLead. Ce format est largement reconnu sur le marché et facilite le traitement automatique des ventes dans les systèmes tiers.

Méthodes d'envoi disponibles

Vous avez trois options pour recevoir les ventes. Dans tous les cas, le contenu de la vente au format json sera le même.

  • Webhook : L'option la plus rapide et la plus directe. Les ventes sont envoyées immédiatement à l'URL de votre système configurée pour les recevoir (requête POST). Si, pour des raisons de sécurité, vous avez besoin de n'importe quel type d'en-tête personnalisé, nous pouvons l'ajouter sans problème.
  • SFTP/FTP : Vous pouvez utiliser notre serveur SFTP ou le vôtre (SFTP/FTP) pour recevoir les données. Un fichier json sera créé pour chaque vente.
  • Email : Si vous préférez, nous pouvons vous envoyer les ventes au format JSONLead comme corps d'e-mails.

Exemple de JSONLead envoyé

{
  "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"
}

* Dans le cas des portails qui autorisent plusieurs articles dans la même commande, les éléments du JSON : "sales_lead.custom.external_id", "sales_lead.custom.amount" and "sales_lead.custom.title" seront une liste au lieu d'un seul élément. L'ordre des listes sera respecté entre elles.

Détails des champs du JSONLead

NomTypeObligatoireDescription
client.foreign_idstringOuiIdentifiant unique du client.
client.first_namestringOuiNom du client. Selon le portail, il peut s'agir d'un nom d'utilisateur.
client.provincestringNonProvince de l'adresse du client.
client.postal_codestringNonCode postal de l'adresse du client.
client.phonestringNonNuméro de téléphone du client.
client.emailstringNonEmail du client.
client.custom.addressstringNonAdresse postale du client.
client.custom.citystringNonVille de l'adresse du client.
client.custom.countrystringNonPays (code ISO du pays) de l'adresse du client.
sales_lead.origin.sourcestringOuiOrigine de la vente. Ce sera toujours "portal_hero".
sales_lead.origin.mediumstringNonNom du portail d'où provient la vente.
sales_lead.related_urlsarrayNonURL(s) pertinente(s). Normalement l'URL de l'article sur le portail.
sales_lead.statusstringOuiÉtat de la vente. Actuellement, il peut être "confirmed" ou "cancelled".
sales_lead.custom.accountstringNonEmail ou identifiant du compte sur le portail. Utile lorsque plusieurs comptes sont gérés sur le même portail pour pouvoir identifier le compte d'origine de la vente.
sales_lead.custom.external_idstring/arraystring*OuiIdentifiant unique de l'article. Le même que celui que vous nous envoyez lors de l'envoi des articles.
sales_lead.custom.titlestring/arraystring*OuiTitre du produit vendu.
sales_lead.custom.created_atdatetimeOuiDate et heure de la création de la vente.
sales_lead.custom.update_atdatetimeNonDate et heure de la dernière mise à jour de la vente.
sales_lead.custom.amountfloat/arrayfloat*OuiMontant total de la vente.
sales_lead.custom.shipping_amountfloatNonMontant des frais d'expédition.
sales_lead.custom.payment_methodstringNonMéthode de paiement.
sales_lead.custom.shipping.delivery_purchase_confirmedbooleanOuiBooléen indiquant si la vente a été réalisée. Sera toujours à true dans ce cas.
sales_lead.custom.shipping.delivery_purchase_confirmed_tsdatetimeNonObsolète : Moment de création de la vente. Même valeur que "sales_lead.custom.created_at"
sales_lead.custom.shipping.shipping_label_urlstringNonURL de l'étiquette d'expédition. Peut être un pdf ou une image selon le transporteur
sales_lead.custom.shipping.tracking_codestringNonNuméro de suivi de la commande chez le transporteur.
sales_lead.foreign_idstringOuiIdentifiant unique de la vente.
sales_lead.inquiryarrayNonConversation tenue avec l'utilisateur sur le portail.
versionstringOuiVersion du schéma de jsonLead. Version 1.0.0 pour le moment.

* Dans le cas des portails qui autorisent plusieurs articles dans la même commande, les éléments du JSON : "sales_lead.custom.external_id", "sales_lead.custom.amount" and "sales_lead.custom.title" seront une liste au lieu d'un seul élément. L'ordre des listes sera respecté entre elles.

Avantages de cette intégration

  • Automatisation complète : Traitez automatiquement les ventes dans votre système de gestion.
  • Standardisation : Le format JSONLead assure la compatibilité avec la plupart des systèmes du marché.
  • Flexibilité : Choisissez entre webhook, SFTP ou email selon ce qui correspond le mieux à vos besoins.

Intégrez cette solution dans votre flux de travail et optimisez la gestion de vos ventes avec rapidité, précision et facilité. Si vous avez besoin de plus de détails ou d'un support technique, contactez-nous ! 🚀