For the complete documentation index, see llms.txt. This page is also available as Markdown.

API Conversions et catalogue de produits

Commanders Act Data API v2.0.0

Faites défiler vers le bas pour les exemples de code, les requêtes et les réponses d’exemple. Sélectionnez une langue pour les exemples de code dans les onglets ci-dessus ou dans le menu de navigation mobile.

Il est fortement recommandé d’envoyer plusieurs objets dans une seule requête HTTP. Cette API permet le streaming au format JSON séparé par des retours à la ligne ou ndjson (http://ndjson.org/)

Limites de débit

  • Vous pouvez envoyer jusqu’à 30 requêtes par seconde

  • Vous pouvez avoir jusqu’à 30 connexions simultanées

  • Si vous envoyez en masse de nombreuses conversions/produits/etc., la vitesse d’envoi sera limitée à 30 conversions/produits/etc. par seconde

Exemples de limitation de débit

  • Si vous envoyez 1 conversion par requête, vous serez limité à 30 requêtes par seconde

  • Si vous envoyez 90 conversions dans une requête, votre envoi sera terminé en environ 3 secondes

  • Si vous envoyez 40 requêtes, chacune avec une conversion dans la même seconde, 30 d’entre elles seront traitées et 10 seront rejetées

  • Si vous envoyez 3 requêtes, chacune avec 100 conversions, elles seront terminées en 10 secondes

Limitations

  • Vous pouvez envoyer jusqu’à 150 éléments de conversion

Formats de date

Utilisez le format long avec fuseau horaire pour transmettre des dates ISO-8601. Les formats suivants sont acceptés :

  • "2019-04-29T13:47:47.315Z"

  • "2019-04-29T13:47:47Z"

  • "2019-04-29T13:47:47.315+02:00"

  • "2019-04-29T13:47:47+02:00"

Erreurs

Les erreurs sont toujours renvoyées sous forme de tableau d’objets dans la propriété de niveau supérieur "errors".

Erreurs dans les opérations en lot

Pour les opérations en lot, les propriétés "errors" et "data" peuvent être présentes en même temps, puisque certains objets peuvent contenir des erreurs tandis que d’autres non. Les erreurs en lot sont agrégées, ce qui signifie qu’il n’y aura pas une erreur pour chaque occurrence d’une erreur, mais une erreur par type d’erreur avec le nombre d’occurrences et quelques exemples de numéros de ligne ou d’ID.

Objet d’erreur

Les objets d’erreur ont les propriétés suivantes

Propriété
Type
Obligatoire
Description

code

string

true

Toujours présent et contient un code d’erreur qui peut être vérifié de manière programmatique

detail

string

true

Message lisible par l’humain qui explique le problème. Vous ne devez pas vérifier la valeur de cette propriété de manière programmatique, car elle peut changer

meta

object

false

Objet spécifique à l’erreur qui contient des détails sur ce qui a généré l’erreur

URL de base :

Authentification

  • Authentification HTTP, schéma : bearer. Le token sera fourni par notre équipe support/conseil

Par défaut

Upsert conversions

Exemples de code

POST /conversions/bulk

Cette route crée et met à jour des conversions. Votre requête sera traitée de manière asynchrone. Elle peut prendre jusqu’à 1 heure avant que la requête soit traitée et que les mises à jour soient appliquées dans la base de données.

Paramètre du corps

Paramètres

Nom
Dans
Type
Obligatoire
Description

Authorization

header

string

true

Authorization token

overwrite

query

boolean

false

Détermine si les conversions doivent être entièrement remplacées (true) ou partiellement mises à jour (false - valeur par défaut).

body

body

true

Conversions sous forme de chaînes JSON délimitées par des retours à la ligne

Comportement du paramètre overwrite

Le overwrite Le paramètre d’URL détermine comment les conversions sont traitées lorsqu’une conversion existante id est trouvée :

  • false (par défaut):

    • Seuls les champs spécifiés seront mis à jour.

    • Les champs non spécifiés conserveront leurs valeurs existantes.

  • true:

    • La conversion existante sera entièrement remplacée par les nouvelles données fournies.

Si vous devez remplacer entièrement une conversion, définissez overwrite=true.

Réponses d’exemple

Réponse 202

400 Impossible d’analyser la ligne nd-json

400 Propriété requise manquante

400 Type de propriété invalide

400 Format de propriété invalide

401 L’en-tête d’autorisation est manquant

401 Le type de jeton est manquant

401 Le type de jeton est invalide

401 Le jeton fourni est inconnu

Réponse 403

Trop de requêtes

Réponse 500

Réponses

Statut
Signification
Description
Schéma

202

Tous les objets sont acceptés pour traitement

Aucun

400

Impossible de traiter la requête ou une partie de la requête en raison d’une erreur côté client

Aucun

401

Impossible d’identifier l’appelant de l’API

Aucun

403

L’appelant de l’API n’a pas accès à cette ressource

Aucun

429

Trop de requêtes

Aucun

500

Erreur interne du serveur

Aucun

Schéma de réponse

Upsert products

Exemples de code

POST /products/bulk

Cette route crée et met à jour des produits. Votre requête sera traitée de manière asynchrone. Elle peut prendre jusqu’à 24 heures avant que la requête soit traitée et que les mises à jour soient appliquées dans la base de données.

Paramètre du corps

Paramètres

Nom
Dans
Type
Obligatoire
Description

Authorization

header

string

true

Authorization token

body

body

true

Produits sous forme de chaînes JSON délimitées par des retours à la ligne

Réponses

Statut
Signification
Description
Schéma

202

Accepté

Aucun

207

Multi-statut

Aucun

401

Non autorisé

Aucun

405

Entrée invalide

Aucun

Schémas

Conversion

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

Propriétés

Nom
Type
Obligatoire
Restrictions
Description

id

string(1-50)

true

none

ID de conversion. Utilisé comme clé pour les mises à jour

user

object

true

none

Toutes les propriétés que vous ajoutez ici seront utilisées comme conditions pour faire correspondre les utilisateurs dans notre base de données. Vous devez vous assurer que les valeurs utilisées dans ces propriétés sont uniques. Utilisez les mêmes noms de propriétés que ceux définis dans l’interface des variables pour l’utilisateur.

» user.email

string(1-250)

false

none

E-mail de l’utilisateur

»user.consent_categories

string

false

none

Catégories de consentement de l’utilisateur, afin d’être autorisé à partager les conversions avec des partenaires

type

string(1-250)

true

none

Type de conversion (en ligne, hors ligne, appel, etc.)

status

string

true

none

Statut de votre conversion (voir la liste des valeurs possibles ci-dessous). Les conversions dont le statut est "pending" ne sont pas incluses dans les sommes et comptes par défaut agrégés sur un utilisateur.

created

string(ISO-8601)

true

none

Moment où la conversion a eu lieu. Consultez la section "Formats de date" ci-dessus pour obtenir la liste des formats autorisés.

updated

string(ISO-8601)

false

none

Moment où la conversion a été mise à jour. Consultez la section "Formats de date" ci-dessus pour obtenir la liste des formats autorisés.

acknowledged

boolean

false

none

Définissez sur true si la conversion a été prise en compte

currency

string(ISO-4217)

true

none

Devise

comment

string(1-250)

false

none

Commentaire de l’acheteur

billing_address

false

none

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

contact_address

false

none

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

shipping_address

false

none

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

shipping_provider

string(1-250)

false

none

Shipping provider

shipping_tracking_code

string(1-250)

false

none

Code de suivi d’expédition

payment_method

string

false

none

Type de méthode de paiement (voir la liste des valeurs possibles ci-dessous)

payment_provider

string

false

none

Fournisseur de paiement utilisé pour cette transaction

original_quantity

float

false

read-only

Somme de tous les articles dans la conversion initiale (CALCULÉ)

cancelled_quantity

float

false

read-only

Quantité d’articles annulés dans la conversion (CALCULÉ)

returned_quantity

float

false

read-only

Quantité d’articles retournés dans la conversion (CALCULÉ)

exchanged_quantity

float

false

read-only

Quantité d’articles échangés dans la conversion (CALCULÉ)

final_quantity

float

false

read-only

Quantité d’articles dans la transaction finale pour cette conversion (original_quantity - cancelled_quantity - returned_quantity - exchanged_quantity) (CALCULÉ)

original_amount

float

false

write-once

Montant initial pour cette conversion (frais de livraison et taxes inclus)

cancelled_amount

float

false

none

Montant annulé pour cette conversion

returned_amount

float

false

none

Montant retourné pour cette conversion

exchanged_amount

float

false

none

Montant échangé pour cette conversion

shipping_amount

float

false

none

Montant d’expédition pour cette conversion

discount_amount

float

false

none

Montant de la remise pour cette conversion

tax_amount

float

false

none

Montant de taxe pour cette conversion

final_amount

float

false

none

Montant final pour cette conversion après retours, échanges, annulations, etc. (frais de livraison et taxes inclus). Il représente le montant total de la transaction entre l’acheteur et le vendeur

personnalisé

object

false

none

Objet contenant des propriétés personnalisées

conversion_items

true

none

Liste des produits de la conversion + leurs propres attributs. Vous ne pouvez pas avoir deux fois le même produit dans une conversion, sauf si vous fournissez un ID d’élément de conversion

Valeurs énumérées

Propriété
Valeur

status

canceled

status

delivered

status

in_progress

status

partially_delivered

status

partially_returned

status

partially_shipped

status

pending_shipment

status

returned

status

shipped

status

pending

payment_method

by_bank_transfer_in_advance

payment_method

by_invoice

payment_method

card

payment_method

check_in_advance

payment_method

cod

payment_method

coupon

payment_method

direct_debit

payment_method

online_payment_system

payment_method

other

ConversionItem

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

Propriétés

Nom
Type
Obligatoire
Restrictions
Description

id

string

true

none

ID de cet élément dans la conversion. Cet ID est requis. Si vous n’avez pas d’ID d’élément dans votre base de données et que le même ID de produit ne peut pas se répéter dans une conversion, vous pouvez utiliser l’ID du produit comme valeur. Ce champ est utilisé pour identifier l’élément dans les mises à jour.

original_quantity

float

true

none

Quantité d’articles dans la conversion initiale

cancelled_quantity

float

false

none

Quantité d’articles annulés

returned_quantity

float

false

none

Quantité d’articles retournés

exchanged_quantity

float

false

none

Quantité d’articles échangés

final_quantity

float

false

none

Quantité d’articles dans la transaction finale (original_quantity - cancelled_quantity - returned_quantity - exchanged_quantity)

original_amount

float

false

none

Montant initial pour cet article

cancelled_amount

float

false

none

Montant annulé pour cet article

returned_amount

float

false

none

Montant retourné pour cet article

exchanged_amount

float

false

none

Montant échangé pour cet article

final_amount

float

false

none

Montant final pour cet article (original_amount - cancelled_amount - returned_amount - exchanged_amount)

price

float

false

none

Prix de l’article (en utilisant la même devise que pour la conversion)

original_item

boolean

false

none

Si cet élément était présent dans la conversion d'origine. Ceci est automatiquement défini sur false pour tous les éléments ajoutés lors des mises à jour de conversion

personnalisé

object

false

none

Objet contenant des propriétés personnalisées

product

true

none

Il existe trois façons d'avoir des informations produit dans vos éléments de conversion. La première méthode consiste à mettre les propriétés du produit inline pour chaque élément de conversion. La deuxième méthode consiste à synchroniser votre catalogue produits avec notre base de données à l'aide de l'endpoint « POST /products/bulk » et à n'envoyer que les IDs produit dans les éléments de conversion (notre serveur copiera les propriétés du produit depuis le catalogue). La troisième méthode est une combinaison des précédentes et implique d'avoir un catalogue produits et d'envoyer les informations produit inline. Si une propriété est présente à la fois dans le produit du catalogue et dans le produit inline, les propriétés du produit inline écraseront celles du catalogue. Cette méthode est utile lorsque les informations produit sont incomplètes ou complémentaires dans les produits inline. Il est recommandé d'envoyer les produits inline, sauf si vous ne disposez pas de toutes les informations produit. Dans la plupart des cas, vous n'avez pas besoin d'utiliser le catalogue. Il est recommandé d'utiliser autant de champs que possible afin de pouvoir créer de bons segments avec des conditions avancées. Lorsque vous envoyez uniquement l'ID du produit dans un élément de conversion, vous devez vous assurer que votre catalogue contient déjà le produit, sinon les propriétés du produit ne seront pas ajoutées à votre élément de conversion.

Address

Il est recommandé d’utiliser autant de champs que possible afin de pouvoir construire de bons segments avec des conditions avancées

Propriétés

Nom
Type
Obligatoire
Restrictions
Description

country

string(1-250)

false

none

Nom du pays lisible

iso_country_code

string(ISO-3166)

false

none

Code pays ISO-3166

country_code

string

false

none

Utilisez ce champ si vous utilisez des codes pays autres que ISO-3166

region

string(1-250)

false

none

Région administrative

locality

string(1-250)

false

none

Nom de la ville, du bourg, du village, etc.

postal_code

string(1-250)

false

none

Code postal

recipient

string(1-250)

false

none

Nom du destinataire

street_address

string(1-250)

false

none

Nom de rue, numéro de rue, numéro de bâtiment, etc.

full_address

string(1-250)

false

none

Adresse complète sous forme de chaîne pouvant contenir des retours à la ligne. Non utilisable pour la segmentation mais disponible pour les exports

label

string(1-250)

false

none

Libellé pour cette adresse (domicile, travail, etc.)

coordinates

object

false

none

Coordonnées pour cette adresse

» latitude

float

false

none

Latitude

» longitude

float

false

none

Longitude

Produit

Il existe trois façons d'avoir des informations produit dans vos éléments de conversion. La première méthode consiste à mettre les propriétés du produit inline pour chaque élément de conversion. La deuxième méthode consiste à synchroniser votre catalogue produits avec notre base de données à l'aide de l'endpoint « POST /products/bulk » et à n'envoyer que les IDs produit dans les éléments de conversion (notre serveur copiera les propriétés du produit depuis le catalogue). La troisième méthode est une combinaison des précédentes et implique d'avoir un catalogue produits et d'envoyer les informations produit inline. Si une propriété est présente à la fois dans le produit du catalogue et dans le produit inline, les propriétés du produit inline écraseront celles du catalogue. Cette méthode est utile lorsque les informations produit sont incomplètes ou complémentaires dans les produits inline. Il est recommandé d'envoyer les produits inline, sauf si vous ne disposez pas de toutes les informations produit. Dans la plupart des cas, vous n'avez pas besoin d'utiliser le catalogue. Il est recommandé d'utiliser autant de champs que possible afin de pouvoir créer de bons segments avec des conditions avancées. Lorsque vous envoyez uniquement l'ID du produit dans un élément de conversion, vous devez vous assurer que votre catalogue contient déjà le produit, sinon les propriétés du produit ne seront pas ajoutées à votre élément de conversion.

Propriétés

Nom
Type
Obligatoire
Restrictions
Description

id

string(1-50)

true

none

Identifiant unique pour l'article (essayez d'utiliser l'identifiant le plus précis ou le SKU), par exemple une référence. S'il existe plusieurs occurrences pour le même identifiant, seule la dernière sera enregistrée

name

string(1-500)

false

none

Nom de l'article

description

string(max 5000 chars)

false

none

Description de l'article

category_1

string(1-250)

false

none

Catégorie principale de l'article

category_2

string(1-250)

false

none

Deuxième sous-catégorie de l'article

category_3

string(1-250)

false

none

Troisième sous-catégorie de l'article

category_4

string(1-250)

false

none

Quatrième sous-catégorie de l'article

category_5

string(1-250)

false

none

Cinquième sous-catégorie de l'article. Si vous avez plus de cinq niveaux de catégorie, vous pouvez choisir de concaténer les niveaux restants comme 'Bikes/Parts/Wheels/Front' ou simplement ignorer les niveaux restants comme 'Bikes', selon vos besoins de segmentation.

tags

[string]

false

none

Tableau de tags pour le produit. Les tags peuvent être n'importe quels éléments qui décrivent le produit : hand-made, eco-friendly, heat-resistant, etc.

condition

string

false

none

État actuel du matériau dans votre boutique (voir la liste des valeurs possibles ci-dessous)

availability

string

false

none

Disponibilité actuelle de l'article dans votre boutique. Assurez-vous d'indiquer la disponibilité de l'article sur la page de votre boutique et de la tenir à jour (voir la liste des valeurs possibles ci-dessous)

availability_date

string(ISO-8601)

false

none

Date à laquelle le produit est devenu ou deviendra disponible. Voir la section « Formats de date » ci-dessus pour une liste des formats autorisés.

expiration_date

string(ISO-8601)

false

none

Date à laquelle le produit est devenu ou deviendra indisponible. Voir la section « Formats de date » ci-dessus pour une liste des formats autorisés.

price

float

false

none

Prix par défaut de l'article. Dans une conversion, vous pouvez spécifier le prix réel auquel l'article a été vendu en cas de soldes, de remises, etc.

sale_price

float

false

none

Prix par défaut de l'article pendant les périodes de soldes. Dans une conversion, vous pouvez spécifier le prix réel auquel l'article a été vendu en cas de remises

currency

string(ISO-4217)

false

none

Devise utilisée pour les prix indiqués. Notez que vous devez utiliser la même devise pour les produits et les conversions

image_link

string(url)

false

none

URL de l'image du produit

link

string(url)

false

none

URL du site web où vous pouvez acheter l'article

brand

string(1-250)

false

none

Marque de l'article

width

float

false

none

Largeur de l'article en centimètres (cm)

length

float

false

none

Longueur de l'article en centimètres (cm)

height

float

false

none

Hauteur de l'article en centimètres (cm)

weight

float

false

none

Poids de l'article en grammes (g)

size

string(1-250)

false

none

Taille de l'article lorsque la largeur, la hauteur et la longueur ne s'appliquent pas. Vous pouvez utiliser n'importe quelle valeur décrivant la taille. Exemples : S, XL, large

colors

[string]

false

none

Couleurs du produit

gender

string(1-250)

false

none

Genre pour les produits spécifiques à un genre (male, female, unisex)

gtin

string(1-250)

false

none

Numéro international d'identification commerciale de l'article. Numéros pris en charge : UPC (Amérique du Nord, 12 chiffres), EAN (Europe, 13 chiffres), JAN (Japon, 8 à 13 chiffres), ISBN (livres, 13 chiffres)

mpn

string(1-250)

false

none

Numéro de pièce du fabricant du matériau

personnalisé

object

false

none

Objet contenant des propriétés personnalisées

Valeurs énumérées

Propriété
Valeur

condition

nouveau

condition

refurbished

condition

used

availability

in_stock

availability

available

availability

pre_order

availability

out_of_stock

gender

male

gender

female

gender

unisex

Mis à jour

Ce contenu vous a-t-il été utile ?