Conversions API et catalogue produit
Commanders Act Data API v2.0.0
Faites défiler vers le bas pour voir des exemples de code, des requêtes et 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 en utilisant le format JSON séparé par des sauts de ligne ou ndjson (http://ndjson.org/)
Rate-limits
Vous pouvez envoyer jusqu’à 30 requêtes par seconde
Vous pouvez avoir jusqu’à 30 connexions simultanées
Si vous envoyez beaucoup de conversions/produits/etc. en bulk, la vitesse de chargement 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 seule requête, votre chargement 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"
Errors
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 bulk
Pour les opérations en bulk, vous pouvez avoir simultanément les propriétés "errors" et "data" puisque certains objets peuvent avoir des erreurs tandis que d’autres non. Les erreurs en bulk sont agrégées, ce qui signifie qu’il n’y aura pas une erreur pour chaque occurrence d’erreur, mais une erreur pour chaque 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
code
string
true
Toujours présent et contient le 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 :
Authentication
Authentification HTTP, schéma : bearer Token fourni par notre équipe support/consulting
Par défaut
Upsert conversions
Exemples de code
POST /conversions/bulk
Ce endpoint crée et met à jour les conversions. Votre requête sera traitée de manière asynchrone. Le traitement de la requête et la mise à jour de la base de données peuvent prendre jusqu’à 1 heure.
Paramètre du body
Paramètres
Authorization
header
string
true
Jeton d’autorisation
overwrite
query
booléen
false
Détermine si les conversions doivent être entièrement remplacées (true) ou partiellement mises à jour (false - par défaut).
Comportement du paramètre Overwrite
Le overwrite Le paramètre d’URL détermine comment les conversions sont traitées lorsqu’un existing id est trouvé :
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.
Exemples de réponses
Réponse 202
400 Impossible de parser 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 Authorization 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
400
Impossible de traiter la requête ou une partie de la requête en raison d’une erreur client
None
Schéma de réponse
Upsert products
Exemples de code
POST /products/bulk
Ce endpoint crée et met à jour les produits. Votre requête sera traitée de manière asynchrone. Le traitement de la requête et la mise à jour de la base de données peuvent prendre jusqu’à 24 heures.
Paramètre du body
Paramètres
Authorization
header
string
true
Jeton d’autorisation
Réponses
Schémas
Conversion
Il est recommandé d’utiliser autant de champs que possible afin de pouvoir créer de bons segments avec des conditions avancées
Propriétés
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
Email de l’utilisateur
»user.consent_categories
string
false
none
Catégories de consentement de l’utilisateur, afin d’autoriser le partage des conversions avec les partenaires
type
string(1-250)
true
none
Type de conversion (online, offline, call etc.)
status
string
true
none
Statut de votre conversion (voir la liste des valeurs possibles ci-dessous). Les conversions avec le statut "pending" ne sont pas incluses dans les sommes et compteurs par défaut agrégés sur un utilisateur.
created
string(ISO-8601)
true
none
Moment où la conversion a eu lieu. Voir la section "Formats de date" ci-dessus pour la liste des formats autorisés.
updated
string(ISO-8601)
false
none
Moment où la conversion a été mise à jour. Voir la section "Formats de date" ci-dessus pour la liste des formats autorisés.
acknowledged
booléen
false
none
Définissez sur true si la conversion a été confirmée
currency
string(ISO-4217)
true
none
Currency
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 créer 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 créer 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 créer de bons segments avec des conditions avancées
shipping_provider
string(1-250)
false
none
Transporteur
shipping_tracking_code
string(1-250)
false
none
Code de suivi d’expédition
payment_method
string
false
none
Type de moyen de paiement (voir la liste des valeurs possibles ci-dessous)
payment_provider
string
false
none
Prestataire de paiement utilisé pour cette transaction
original_quantity
float
false
en lecture seule
Somme de tous les articles dans la conversion d’origine (CALCULÉ)
cancelled_quantity
float
false
en lecture seule
Quantité d’articles annulés dans la conversion (CALCULÉ)
returned_quantity
float
false
en lecture seule
Quantité d’articles retournés dans la conversion (CALCULÉ)
exchanged_quantity
float
false
en lecture seule
Quantité d’articles échangés dans la conversion (CALCULÉ)
final_quantity
float
false
en lecture seule
Quantité d’articles dans la transaction finale pour cette conversion (original_quantity - cancelled_quantity - returned_quantity - exchanged_quantity) (CALCULÉ)
original_amount
float
false
écriture unique
Montant d’origine pour cette conversion (prix d’expédition 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 des taxes pour cette conversion
final_amount
float
false
none
Montant final pour cette conversion après retours, échanges, annulations, etc. (prix d’expédition et taxes inclus). Cela représente le montant global de la transaction entre l’acheteur et le vendeur
custom
object
false
none
Objet contenant des propriétés personnalisées
conversion_items
true
none
Liste des produits dans 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
status
annulé
status
livré
status
en_cours
status
partiellement_livré
status
partiellement_retourné
status
partiellement_expedié
status
en_attente_d'expédition
status
retourné
status
expédié
status
en_attente
payment_method
by_bank_transfer_in_advance
payment_method
by_invoice
payment_method
card
payment_method
paiement_à_l'avance
payment_method
contre_remboursement
payment_method
coupon
payment_method
prélèvement_automatique
payment_method
système_de_paiement_en_ligne
payment_method
autre
ConversionItem
Il est recommandé d’utiliser autant de champs que possible afin de pouvoir créer de bons segments avec des conditions avancées
Propriétés
id
string
true
none
ID de cet article dans la conversion. Cet ID est requis. Si vous n’avez pas d’ID d’article 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’article lors des mises à jour.
original_quantity
float
true
none
Quantité d’articles dans la conversion d’origine
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 d’origine 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
booléen
false
none
Indique si cet article était présent dans la conversion d’origine. Cela est automatiquement défini sur false pour tous les articles ajoutés lors des mises à jour de conversion
custom
object
false
none
Objet contenant des propriétés personnalisées
product
true
none
Il existe trois façons d’avoir les informations produit dans vos éléments de conversion. La première consiste à mettre les propriétés produit en ligne pour chaque élément de conversion. La deuxième consiste à synchroniser votre catalogue produit avec notre base de données en utilisant le endpoint "POST /products/bulk" et à n’envoyer que les IDs produit dans les éléments de conversion (notre serveur copiera les propriétés produit depuis le catalogue). La troisième méthode est une combinaison des précédentes et implique d’avoir un catalogue produit et d’envoyer les informations produit en ligne. Si une propriété est présente à la fois dans le produit du catalogue et dans le produit en ligne, les propriétés du produit en ligne remplaceront celles du catalogue. Cette méthode est utile lorsque les informations produit sont incomplètes ou complémentaires dans les produits en ligne. Il est recommandé d’envoyer les produits en ligne, sauf lorsque 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 n’envoyez que 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.
Adresse
Il est recommandé d’utiliser autant de champs que possible afin de pouvoir créer de bons segments avec des conditions avancées
Propriétés
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 au cas où 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 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 la 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 sauts de ligne. Non utilisable en segmentation mais disponible pour les exports
label
string(1-250)
false
none
Étiquette pour cette adresse (home, work etc.)
coordinates
object
false
none
Coordonnées de cette adresse
» latitude
float
false
none
Latitude
» longitude
float
false
none
Longitude
Produit
Il existe trois façons d’avoir les informations produit dans vos éléments de conversion. La première consiste à mettre les propriétés produit en ligne pour chaque élément de conversion. La deuxième consiste à synchroniser votre catalogue produit avec notre base de données en utilisant le endpoint "POST /products/bulk" et à n’envoyer que les IDs produit dans les éléments de conversion (notre serveur copiera les propriétés produit depuis le catalogue). La troisième méthode est une combinaison des précédentes et implique d’avoir un catalogue produit et d’envoyer les informations produit en ligne. Si une propriété est présente à la fois dans le produit du catalogue et dans le produit en ligne, les propriétés du produit en ligne remplaceront celles du catalogue. Cette méthode est utile lorsque les informations produit sont incomplètes ou complémentaires dans les produits en ligne. Il est recommandé d’envoyer les produits en ligne, sauf lorsque 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 n’envoyez que 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
id
string(1-50)
true
none
Identifiant unique pour l’article (essayez d’utiliser l’identifiant le plus spécifique ou le SKU), comme 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 restants comme 'Bikes/Parts/Wheels/Front' ou simplement ignorer les restants comme 'Bikes', selon vos besoins de segmentation.
tags
[string]
false
none
Tableau de tags pour le produit. Les tags peuvent être tout ce qui étiquette le produit : fait main, écologique, résistant à la chaleur, etc.
condition
string
false
none
Statut actuel du matériel 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 maintenir à 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 la 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 la liste des formats autorisés.
price
float
false
none
Prix par défaut de l’article. Dans une conversion, vous pouvez préciser le prix réel auquel l’article a été vendu en cas de soldes, 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 préciser 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
size
string(1-250)
false
none
Taille de l’article lorsque la largeur, la hauteur et la longueur ne sont pas applicables. Vous pouvez utiliser toute 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 au 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 fabricant du matériel
custom
object
false
none
Objet contenant des propriétés personnalisées
Valeurs énumérées
condition
new
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 ?