Passer au contenu principal
POST
/
endpoint
Importer des commandes
curl --request POST \
  --url https://api.example.com/endpoint
Cet endpoint vous permet d’importer une liste de commandes de transaction dans votre compte Kameleoon. Vous pouvez également utiliser cet endpoint pour mettre à jour les commandes et leurs propriétés si elles existent déjà dans notre base de données. Les données doivent être envoyées sous forme de chaîne JSON dans le corps de la requête.

Requête HTTP

POST https://api.products.kameleoon.com/sync/orders

Liste des paramètres de requête

ParamètreTypeRequisDescription
shop_idStringTrueVotre Store Key. Vous pouvez la trouver dans Recommendations > Settings > Store settings dans l’application Kameleoon. Vous pouvez également contacter votre Customer Success Manager pour obtenir la clé.
shop_secretStringTrueVotre Secret Key. Vous pouvez la trouver dans Recommendations > Settings > Store settings dans l’application Kameleoon. Vous pouvez également contacter votre Customer Success Manager pour obtenir la clé.
ordersArrayTrueListe des commandes. Trouvez dans ce tableau les paramètres requis pour orders.

Liste des paramètres pour l’objet orders

ParamètreTypeRequisDescription
idStringTrueID de la commande
external_idStringTrueC’est un identifiant unique associé à un utilisateur dans votre système ou CRM. (Pour assurer une correspondance précise avec le VisitorCode Kameleoon, l’ID doit d’abord être stocké en tant que Kameleoon Custom Data. Lors de la configuration de ce custom data, assurez-vous d’activer l’option Use this custom data as a unique identifier for cross-device matching pour garantir que l’ID est utilisé pour relier les activités utilisateur entre les deux systèmes.)
statusStringTrueStatut de la commande (par exemple, Processing, Out for delivery, Delivered)
channelStringTrueMoyen utilisé pour la commande (par exemple, Website, App, In-store)
dateIntegerTrueTimestamp Unix en secondes du moment où la commande a été passée ou mise à jour
offlineBooleanFalseMarque les commandes comme hors ligne. Défini sur false par défaut
location_idStringTrueID de l’emplacement (ville) de l’utilisateur
promocodeStringFalseCode promo utilisé dans la commande
delivery_typeStringFalseType de livraison (par exemple, Courier, Pickup in-store)
delivery_addressStringFalseAdresse de destination pour le CRM
delivery_dateDateFalseDate de livraison prévue. Format : “YYYY-MM-DD”
delivery_timeTimeFalseHeure de livraison prévue. Format : “HH:MM”
payment_typeStringFalseType de paiement (par exemple, Cash, Card, Wire)
tax_freeBooleanFalseIndique si l’article est exonéré de taxes
bank_issuerStringFalseÉmetteur bancaire
bank_pos_processorStringFalseIndique quel système/terminal de point de vente (POS) a été utilisé au moment du paiement
bank_loyalty_programStringFalseProgramme de fidélité bancaire
bank_total_installmentIntegerFalseNombre total de versements à payer par l’intermédiaire de la banque
payment_card_providerStringFalseFournisseur de la carte de paiement
gift_packageBooleanFalseIndique si l’article sera dans un emballage cadeau
valueObjectTrueTotal général de la commande. Trouvez le paramètre requis pour value dans ce tableau.
payment_structureObjectTrueUne ventilation du paiement (par exemple, paiements en espèces, remises, frais de livraison). Trouvez les paramètres requis pour payment_structure dans ce tableau.
itemsObjectTrueTout ce qui est inclus dans la commande. Trouvez les paramètres requis pour items dans ce tableau.

Liste des paramètres pour l’objet value

ParamètreTypeRequisDescription
TotalNumericTrueTotal de la commande

Liste des paramètres pour l’objet payment_structure

ParamètreTypeRequisDescription
cashNumericFalseIndique quelle partie du total de la commande a été payée en espèces
bonusesNumericFalseIndique quelle partie du total de la commande a été payée avec des bonus
deliveryNumericFalseIndique le coût de la livraison de la commande
discountNumericFalseIndique la valeur de la remise de la commande
Veuillez vous assurer que value.total == payment_structure.cash + payment_structure.bonuses + payment_structure.delivery - payment_structure.discount

Liste des paramètres pour l’objet items

ParamètreTypeRequisDescription
idStringTrueID du produit acheté
priceNumericTruePrix d’une seule unité du produit
quantityIntegerTrueQuantité totale du ou des produits choisis
statusStringTrueStatut de l’article ; ne peut être que : created, invoiced, shipped, delivered, cancelled, refunded
original_priceNumericFalsePrix d’origine du produit
discount_productNumericFalsePrix remisé du produit
discount_bonusesNumericFalseBonus remisés du produit
delivery_companyStringFalseService postal qui a livré l’article
barcodeStringFalseCode-barres du produit
line_idStringFalseID unique pour la position de ce produit (ligne) dans le système de commande de votre magasin.
cancel_reasonStringFalseRaison de l’annulation
L’objet items est requis lorsque vous créez une commande. Vous pouvez l’envoyer sous forme de tableau vide lors de la mise à jour du statut d’une commande.

Exemple de requête JSON


{
  "shop_id": "DvLWN2ZTMZ",
  "shop_secret": "EIxTuot8sj",
  "orders": [
    {
      "id": "yKsvZbWpCL",
      "external_id":"jhfakfkadak",
      "status": "Processing",
      "channel": "In-store",
      "date": 1602338740,
      "offline": false,
      "location_id": "7701123",
      "promocode": "vxawxSi9Uy",
      "delivery_type": "courier",
      "delivery_address": "111 Peter Street, Toronto, ON, M5V 2H1",
      "delivery_date": "2021-12-21",
      "delivery_time": "15:00",
      "tax_free": false,
      "bank_issuer": "Scotiabank",
      "bank_pos_processor": "Clover",
      "bank_loyalty_program": "PC Optimum",
      "bank_total_installment": 0,
      "payment_card_provider": "Visa"
      "gift_package":true,
      "value": {
        "total": 200.13,
      },
      "payment_structure": {
        "cash": 190,
        "bonuses": 15,
        "delivery": 20,
        "discount": 24.87
      },
      "items": [
        {
          "id": "ITEM-ID-1",
          "price": 205,
          "quantity": 1,
          "status": "created",
          "original_price": 230,
          "discount_product": 30,
          "discount_bonuses": 20,
          "delivery_company": "Canada Post",
          "barcode_id": "195204003541",
          "line_id": "195204003541-22323443-123434",
          "cancel_reason": "none",
        },
}
        ...
      ]
    },
    ...
  ]
}

Annulation d’une commande

Étant donné que l’endpoint Import orders est utilisé à la fois pour créer et mettre à jour des commandes, vous pouvez l’utiliser pour enregistrer une commande annulée. Pour enregistrer une commande annulée, fournissez les éléments suivants :

Paramètres de requête

ParamètreTypeRequisDescription
shop_idStringTrueVotre Store Key. Vous pouvez la trouver dans Recommendations > Settings > Store settings dans l’application Kameleoon. Vous pouvez également contacter votre Customer Success Manager pour obtenir la clé.
shop_secretStringTrueVotre Secret Key. Vous pouvez la trouver dans Recommendations > Settings > Store settings dans l’application Kameleoon. Vous pouvez également contacter votre Customer Success Manager pour obtenir la clé.
ordersArrayTrueListe des commandes. Fournissez les commandes que vous souhaitez enregistrer comme annulées.

Paramètres de l’objet orders

ParamètreTypeRequisDescription
idStringTrueID de la commande
statusStringTrueStatut de la commande (défini sur cancelled)

Exemple de requête JSON d’annulation

{
  "shop_id": "DvLWN2ZTMZ",
  "shop_secret": "EIxTuot8sj",
  "orders": [
    {
      "id": "yKsvZbWpCL",
      "status": "Cancelled"
    },
    ...
  ]
}