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
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
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).
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
400
Impossible de traiter la requête ou une partie de la requête en raison d’une erreur côté client
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
Authorization
header
string
true
Authorization token
Réponses
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
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
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
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
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
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
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 ?