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

Propriété
Type
Requis
Description

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

Nom
Dans
Type
Requis
Description

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).

body

body

true

Conversions sous forme de chaînes JSON séparées par des sauts de ligne

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

Statut
Signification
Description
Schéma

202

Tous les objets sont acceptés pour traitement

None

400

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

None

401

Impossible d’identifier l’appelant de l’API

None

403

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

None

429

Trop de requêtes

None

500

Erreur interne du serveur

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

Nom
Dans
Type
Requis
Description

Authorization

header

string

true

Jeton d’autorisation

body

body

true

Produits sous forme de chaînes JSON séparées par des sauts de ligne

Réponses

Statut
Signification
Description
Schéma

202

Accepté

None

207

Multi-Statut

None

401

Non autorisé

None

405

Entrée invalide

None

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

Nom
Type
Requis
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

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

Propriété
Valeur

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

Nom
Type
Requis
Restrictions
Description

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

Nom
Type
Requis
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 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

Nom
Type
Requis
Restrictions
Description

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

Propriété
Valeur

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 ?