Référence API · FuturWeb

Référence de l'API Futurlog

API REST / JSON pour connecter vos systèmes à la logistique Futurlog : commandes, produits, stock, réceptions et retours. Vos programmes appellent nos web services pour piloter vos flux en continu.

Introduction

Les Web Services Futurlog (FuturWeb) permettent d'échanger des informations entre vos systèmes et ceux de Futurlog. Le principe : ce sont vos programmes qui appellent nos services pour transmettre (descente) vos catalogues et commandes, et pour récupérer (remontée) le stock, les statuts et le tracking. L'API est REST et échange du JSON.

Authentification

Les services FuturWeb acceptent deux modes d'authentification. Ils fonctionnent en parallèle et sans limite de date : vous pouvez conserver le mode historique ou passer au mode par en-têtes.

Mode 1 - Login et clé dans l'URL (historique)

Les appels sont formatés de la manière suivante :

https://jws.futurlog.com/{Application}/{Action}/{MerchantCode}/{Login}/{Key}/{Parameter}

C'est le mode d'origine, toujours pleinement supporté. Si vos échanges fonctionnent aujourd'hui, vous n'avez rien à modifier.

Mode 2 - Login et clé dans les en-têtes HTTP (recommandé)

L'URL prend le préfixe v2 et perd les segments Login et Key :

https://jws.futurlog.com/v2/{Application}/{Action}/{MerchantCode}/{Parameter}

Les deux en-têtes à ajouter :

  • X-FuturLog-Login : votre Login
  • X-FuturLog-Key : votre Key

L'authentification HTTP Basic est également acceptée sur ce préfixe : en-tête Authorization portant le couple Login / Key. Utile si votre client HTTP la gère nativement.

Intérêt de ce mode : la clé n'apparaît plus dans l'URL, donc plus dans les journaux des serveurs, des proxies et des équipements réseau traversés. C'est pourquoi nous le recommandons pour toute nouvelle intégration.

Ces composantes sont communes aux deux modes. Seul l'emplacement du Login et de la Key change.

ChampDescription
MerchantCodeMerchantCode est votre code marchand. Il est composé de 3 caractères alphanumériques et vous est fourni par FuturLog.
LoginLogin détermine le compte avec lequel vous effectuerez les actions sur le Web Service. Le Login vous est fourni par FuturLog. En environnement de test, ce Login doit être suivi de -test.
KeyKey est la clé permettant de vous identifier auprès de nos services. La clé vous est fournie par FuturLog. Elle est différente en environnement de test et en environnement de production. Elle est composée de 64 caractères [a-Z0-9].
ParameterParameter est un paramètre facultatif selon la méthode que vous souhaitez appeler. Il sera détaillé plus bas.

Enveloppe de réponse

Toutes les méthodes répondent en HTTP 200, y compris en cas d'erreur métier. C'est le contenu du corps qui distingue le succès de l'échec.

Réponse en succès :

{
  "Data": {},
  "LogId": 0
}

Réponse en erreur :

{
  "Error": {
    "Message": "",
    "Code": "",
    "Data": [
      { "Key": "", "Value": "" }
    ]
  },
  "LogId": 0
}
ChampTypeDescription
Datadépend de la méthodeRésultat de l'appel. Sans signification quand Error est présent : absent pour un objet ou une liste, mais rendu à sa valeur par défaut pour un bool (false) ou un int (0), qui n'est alors ni un résultat ni un identifiant.
Error.MessagestringMessage d'erreur en clair.
Error.CodestringCode d'erreur, de la forme E_....
Error.Dataliste de couples clé/valeurContexte de l'erreur : numéro de commande, code produit...
LogIdintIdentifiant du journal FuturLog. À communiquer au support pour tracer un appel.

Trois règles de sérialisation à connaître :

  • Le succès se lit sur l'absence de Error, jamais sur la présence ou la valeur de Data.
  • Les propriétés nulles sont omises de la réponse, elles n'apparaissent pas avec la valeur null. Un bool ou un int non nullable n'est jamais nul : il est toujours rendu.
  • Les dates sont sérialisées au format yyyy-MM-dd en réponse. En requête, le format attendu est précisé sur chaque paramètre concerné.

Commandes

POST

Déclarer une nouvelle commande

Mode 1/Order/CreateNewOrder/{merchantCode}/{login}/{key}
Mode 2/v2/Order/CreateNewOrder/{merchantCode}
Corps
Objet Order
Réponse
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_ORDERE_NO_ORDER_LINEE_NO_ORDER_NUMBERE_ALREADY_EXISTING_ORDERE_PRODUCT_CONTAINERS_PER_UNIT_REQUIREDE_UNKNOWN_ERROR
GET

Obtenir l'état d'avancement d'une commande

Mode 1/Order/GetShipments/{merchantCode}/{login}/{key}/{dateFromUtc}
Mode 2/v2/Order/GetShipments/{merchantCode}/{dateFromUtc}
Paramètres
dateFromUtc = Toutes les commandes dont un changement d'état a eu lieu après cette date (décalage UTC/GMT +0)
Formats acceptés : "yyyy-MM-dd" ou "yyyy-MM-ddTHH:mm:ss"
Exemple : "2019-12-17" ou "2019-12-17T13:45:31"
Réponse
Liste de ShipmentReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtenir la liste des états

Mode 1/Order/GetStates/{merchantCode}/{login}/{key}
Mode 2/v2/Order/GetStates/{merchantCode}
Réponse
Liste de StateReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtenir ma liste de transporteurs

Mode 1/Order/GetCarriers/{merchantCode}/{login}/{key}
Mode 2/v2/Order/GetCarriers/{merchantCode}
Réponse
Liste de CarrierReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
GET

Obtenir la liste des commandes en erreur

Mode 1/Order/GetOrderErrors/{merchantCode}/{login}/{key}
Mode 2/v2/Order/GetOrderErrors/{merchantCode}
Réponse
Liste de OrderErrorReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Rejeter une commande en erreur

Mode 1/Order/RejectOrderError/{merchantCode}/{login}/{key}
Mode 2/v2/Order/RejectOrderError/{merchantCode}
Corps
Objet OrderReference
Réponse
bool · HTTP 200
  • Rejette la commande en attente d'intégration (ou en erreur) la plus récente portant ce numéro : elle ne sera jamais intégrée, comme le bouton « Rejeter » de l'onglet Commandes en erreur de MyFuturLog
  • Une commande déjà intégrée ou déjà rejetée est refusée avec le code correspondant, rien n'est modifié
  • Si une commande intégrée porte déjà ce numéro et attendait cette correction, elle reste « En modification »
  • Pour corriger la commande au lieu de la rejeter, renvoyer CreateNewOrder avec le même numéro
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Annuler une commande

Mode 1/Order/CancelOrder/{merchantCode}/{login}/{key}
Mode 2/v2/Order/CancelOrder/{merchantCode}
Corps
Objet OrderReference
Réponse
bool · HTTP 200
  • Annule une commande non encore expédiée et libère le stock réservé
  • Mêmes états, rôle et entrepôts autorisés que le bouton « Annuler » de MyFuturLog : une commande déjà annulée ou déjà en préparation est refusée avec le code correspondant, rien n'est modifié
  • Sur un entrepôt MPO ou MPM, une commande déjà transmise ne peut être annulée que par FuturLog
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNABLE_TO_CANCEL_ORDERE_UNKNOWN_ERROR
POST

Débloquer une commande

Mode 1/Order/UnblockOrder/{merchantCode}/{login}/{key}
Mode 2/v2/Order/UnblockOrder/{merchantCode}
Corps
Objet OrderReference
Réponse
bool · HTTP 200
  • Débloque une commande à l'état « Bloquée » : elle reprend son cycle (complétude puis transmission à l'entrepôt)
  • Mêmes conditions que le bouton « Débloquer » de MyFuturLog : une commande qui n'est pas bloquée est refusée avec le code correspondant, rien n'est modifié
  • Une grosse commande à vérifier ne se débloque que par FuturLog
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNABLE_TO_UNBLOCK_ORDERE_UNKNOWN_ERROR
POST

Forcer la transmission d'une commande

Mode 1/Order/ForceCompleteOrder/{merchantCode}/{login}/{key}
Mode 2/v2/Order/ForceCompleteOrder/{merchantCode}
Corps
Objet OrderReference
Réponse
bool · HTTP 200
  • Force la transmission à l'entrepôt d'une commande à l'état « Incomplète » (stock insuffisant), en reprenant si besoin les réservations d'autres commandes du marchand non encore transmises, qui redeviennent alors incomplètes
  • Même condition que le bouton « Forcer la transmission » de MyFuturLog : toute autre commande est refusée avec le code correspondant
  • Si le stock ne suffit toujours pas, la commande reste incomplète et la méthode rend E_UNABLE_TO_COMPLETE_ORDER
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNABLE_TO_COMPLETE_ORDERE_UNKNOWN_ERROR
POST

Anonymiser une commande

Mode 1/Order/AnonymizeOrder/{merchantCode}/{login}/{key}
Mode 2/v2/Order/AnonymizeOrder/{merchantCode}
Corps
Objet OrderReference
Réponse
bool · HTTP 200
  • Remplace les données personnelles du destinataire (nom, adresse, téléphones, e-mail, adresse de facturation) d'une commande annulée ou déjà expédiée, au titre du RGPD
  • Irréversible
  • Même condition que le bouton « Anonymiser » de MyFuturLog : une commande en cours de traitement est refusée avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Retours

POST

Créer un nouvel attendu de retour

Mode 1/Order/CreateNewExpectedReturn/{merchantCode}/{login}/{key}
Mode 2/v2/Order/CreateNewExpectedReturn/{merchantCode}
Corps
Objet ExpectedParcelReturn
Réponse
bool · HTTP 200
  • Déclare un retour client attendu sur une commande expédiée : la commande et le retour passent en Retour annoncé
  • Un numéro de suivi déjà porté par un retour de la même commande est refusé ; sans numéro de suivi, chaque appel crée un retour
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERRORE_NO_ORDERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_UNKNOWN_CARRIERE_ALREADY_EXISTING_PARCEL_RETURNE_UNKNOWN_PRODUCT_CODEE_NO_RETURN_LINE_QUANTITYE_UNKNOWN_BRAND
GET

Obtenir la liste des commandes retournées

Mode 1/Order/GetReturns/{merchantCode}/{login}/{key}/{dateFromUtc}
Mode 2/v2/Order/GetReturns/{merchantCode}/{dateFromUtc}
Réponse
Liste de OrderReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Changer l'état de remboursement d'un retour

Mode 1/Order/SetParcelReturnRefundState/{merchantCode}/{login}/{key}
Mode 2/v2/Order/SetParcelReturnRefundState/{merchantCode}
Corps
Objet ParcelReturnRefundState
Réponse
bool · HTTP 200
  • Change l'état de remboursement d'un retour client : 0 vide, 1 en attente de remboursement, 2 échange créé, 3 remboursé (avoir), 4 remboursé (moyen de paiement)
  • Le retour se désigne par son identifiant FuturLog (prioritaire), par son numéro de suivi, ou par le numéro de la commande quand elle ne porte qu'un seul retour ; une commande à plusieurs retours est refusée avec E_AMBIGUOUS_PARCEL_RETURN, le détail listant les retours avec leur identifiant
  • Une valeur hors de 0 à 4, ou déjà en place, est refusée, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PARCEL_RETURNE_AMBIGUOUS_PARCEL_RETURNE_INVALID_REFUND_STATEE_NOTHING_TO_UPDATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Produits & stock

POST

Déclarer un nouvel article

Mode 1/Product/CreateNewProduct/{merchantCode}/{login}/{key}
Mode 2/v2/Product/CreateNewProduct/{merchantCode}
Corps
Objet Product
Réponse
bool · HTTP 200
  • Si le produit existe déjà, il est mis à jour
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Mettre à jour un article existant

Mode 1/Product/UpdateProduct/{merchantCode}/{login}/{key}
Mode 2/v2/Product/UpdateProduct/{merchantCode}
Corps
Objet Product
Réponse
bool · HTTP 200
  • Si le produit n'existe pas, il est créé
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Déclarer des articles en masse

Mode 1/Product/CreateNewProducts/{merchantCode}/{login}/{key}
Mode 2/v2/Product/CreateNewProducts/{merchantCode}
Corps
Liste de Product
Réponse
bool · HTTP 200
  • Si un produit existe déjà, il est mis à jour
  • Nb: En cas d'erreur sur un produit, aucun produit n'est enregistré
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Mettre à jour des articles existants en masse

Mode 1/Product/UpdateProducts/{merchantCode}/{login}/{key}
Mode 2/v2/Product/UpdateProducts/{merchantCode}
Corps
Liste de Product
Réponse
bool · HTTP 200
  • Si un produit n'existe pas, il est créé
  • Nb: En cas d'erreur sur un produit, aucune modification de produit n'est enregistrée
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_TYPE_CODEE_UNKNOWN_ALCOHOL_TYPE_CODEE_UNKNOWN_CONTAINER_TYPE_CODEE_UNKNOWN_ERROR
POST

Suppression d'un article

Mode 1/Product/DeleteProduct/{merchantCode}/{login}/{key}/{productCode}
Mode 2/v2/Product/DeleteProduct/{merchantCode}/{productCode}
Paramètres
productCode = Code du produit à supprimer
Réponse
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_ERROR
POST

Réactiver un article

Mode 1/Product/EnableProduct/{merchantCode}/{login}/{key}
Mode 2/v2/Product/EnableProduct/{merchantCode}
Corps
Objet ProductReference
Réponse
bool · HTTP 200
  • Réactive un article désactivé (supprimé par DeleteProduct ou depuis MyFuturLog) : sa fiche est revalidée comme à la création, puis réintégrée et renvoyée à l'entrepôt
  • Un article déjà actif est refusé avec le code correspondant, rien n'est modifié
  • Si la fiche ne peut pas être réintégrée (code barres déjà porté par un autre article actif, par exemple), le code de l'erreur d'intégration est rendu et l'article reste désactivé
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PRODUCT_CODEE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ALREADY_EXISTING_BAR_CODEE_UNKNOWN_ERROR
GET

Obtenir les informations d'un produit

Mode 1/Product/GetProductInfo/{merchantCode}/{login}/{key}/{productCode}
Mode 2/v2/Product/GetProductInfo/{merchantCode}/{productCode}
Paramètres
productCode = Code du produit
Réponse
ProductInfoReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_ERROR
GET

Obtenir la liste des produits en erreur

Mode 1/Product/GetProductErrors/{merchantCode}/{login}/{key}
Mode 2/v2/Product/GetProductErrors/{merchantCode}
Réponse
Liste de ProductErrorReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR
POST

Rejeter un article en erreur

Mode 1/Product/RejectProductError/{merchantCode}/{login}/{key}
Mode 2/v2/Product/RejectProductError/{merchantCode}
Corps
Objet ProductReference
Réponse
bool · HTTP 200
  • Rejette l'article en attente d'intégration (ou en erreur) le plus récent portant ce code : il ne sera jamais intégré, comme le bouton « Rejeter » de l'onglet Articles en erreur de MyFuturLog
  • Un article déjà intégré ou déjà rejeté est refusé avec le code correspondant, rien n'est modifié
  • Pour corriger l'article au lieu de le rejeter, renvoyer CreateNewProduct ou UpdateProduct avec le même code
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_TMPPRODUCTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Renvoyer la fiche d'un article à l'entrepôt

Mode 1/Product/ResendProductToLogistics/{merchantCode}/{login}/{key}
Mode 2/v2/Product/ResendProductToLogistics/{merchantCode}
Corps
Objet ProductReference
Réponse
bool · HTTP 200
  • Marque la fiche article à retransmettre à l'entrepôt au prochain flux produits (fichier ou FuturWare), comme le bouton « Renvoyer à la logistique » de MyFuturLog
  • Refusé avec le code correspondant si l'article est désactivé, s'il est virtuel (jamais transmis) ou si le flux produits vers l'entrepôt est fermé pour ce marchand ; rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_PRODUCT_CODEE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNKNOWN_ERROR
POST

Obtenir l'état du stock dans l'unité de l'enseigne

Mode 1/Product/GetStocks/{merchantCode}/{login}/{key}
Mode 2/v2/Product/GetStocks/{merchantCode}
Paramètres
Produit voulu et enseigne qui fixe l'unité des quantités rendues
Corps
Objet StockRequest
Réponse
Liste de StockReturn · HTTP 200
  • Le code de l'enseigne est obligatoire quand le marchand en porte plusieurs
  • Quand l'enseigne exprime ses quantités en unités de vente consommateur, les quantités rendues sont multipliées par la quantité par SKU du produit ; sinon elles sont rendues en unités de stock
  • Un produit dont la quantité par SKU n'est pas renseignée est absent de la réponse
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_BRAND_MISSINGE_UNKNOWN_BRANDE_UNKNOWN_ERROR
POST

Contrôler la disponibilité de plusieurs produits

Mode 1/Product/CheckStocks/{merchantCode}/{login}/{key}
Mode 2/v2/Product/CheckStocks/{merchantCode}
Paramètres
Enseigne qui fixe l'unité des quantités souhaitées, et lignes à contrôler
Corps
Objet StockCheckRequest
Réponse
StockCheckReturn · HTTP 200
  • Retourne IsAvailable = false dès qu'une seule quantité souhaitée dépasse le stock disponible, avec le détail des lignes en manque
  • Un code produit envoyé plusieurs fois voit ses quantités additionnées, une quantité négative compte pour 0
  • Quand l'enseigne exprime ses quantités en unités de vente consommateur, chaque quantité souhaitée est divisée par la quantité par SKU du produit avant la comparaison
  • Photo instantanée : rien n'est réservé entre le contrôle et la création de la commande
  • Ne contrôle que le stock : ni la destination, ni le transporteur ne sont regardés
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_STOCKS_TRANSMISSION_DISABLEDE_BRAND_MISSINGE_UNKNOWN_BRANDE_PRODUCT_CONTAINERS_PER_UNIT_REQUIREDE_ORDER_QUANTITY_NOT_DIVISIBLEE_UNKNOWN_ERROR

Réceptions

POST

Créer un nouvel attendu de réception

Mode 1/Product/CreateNewExpectedReceipt/{merchantCode}/{login}/{key}
Mode 2/v2/Product/CreateNewExpectedReceipt/{merchantCode}
Corps
Objet Receipt
Réponse
bool · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERRORE_NO_RECEIPTE_ALREADY_EXISTING_RECEIPTE_NO_RECEIPT_LINEE_NO_SCHEDULED_DATEE_UNKNOWN_PRODUCT_CODEE_NO_RECEIPT_LINE_QUANTITYE_NO_SUPPLIER_NAME
POST

Modifier un attendu

Mode 1/Product/UpdateReceipt/{merchantCode}/{login}/{key}
Mode 2/v2/Product/UpdateReceipt/{merchantCode}
Corps
Objet ReceiptUpdate
Réponse
bool · HTTP 200
  • Modifie un attendu non encore transmis à l'entrepôt (état « Reçu informatiquement »)
  • Un champ absent est conservé, une chaîne vide l'efface ; le numéro d'attendu se change par NewReceiptNumber avec les règles de la création (alphanumérique, 12 caractères au plus, unique) ; le nom de fournisseur égal à celui d'un fournisseur enregistré du marchand le lie ; les lignes fournies remplacent les lignes attendues en bloc (références actives du marchand, quantités strictement positives)
  • Jamais l'état ni les quantités reçues
  • Un attendu déjà transmis, en réception ou clos est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_INVALID_RECEIPTNUMBERE_RECEIPT_CODE_TOO_LONGE_ALREADY_EXISTING_RECEIPTE_NO_SUPPLIER_NAMEE_UNKNOWN_SUPPLIERE_NO_RECEIPT_LINEE_NO_RECEIPT_LINE_QUANTITYE_UNKNOWN_PRODUCT_CODEE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Annuler un attendu

Mode 1/Product/CancelReceipt/{merchantCode}/{login}/{key}
Mode 2/v2/Product/CancelReceipt/{merchantCode}
Corps
Objet ReceiptReference
Réponse
bool · HTTP 200
  • Annule un attendu
  • Non encore transmis à l'entrepôt : annulé immédiatement
  • Déjà annoncé à l'entrepôt : passe « En annulation » et l'annulation est transmise par le flux quand l'entrepôt l'accepte (entrepôts MPO et MPM ; ailleurs, l'annulation d'un attendu annoncé passe par MyFuturLog ou le support FuturLog)
  • Un attendu en réception, terminé, soldé, bloqué ou déjà annulé est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_ACTION_NOT_SUPPORTED_BY_WAREHOUSEE_UNKNOWN_ERROR
POST

Solder un attendu

Mode 1/Product/SettleReceipt/{merchantCode}/{login}/{key}
Mode 2/v2/Product/SettleReceipt/{merchantCode}
Corps
Objet ReceiptReference
Réponse
bool · HTTP 200
  • Solde un attendu en réception ou terminé, en acceptant l'écart entre les quantités annoncées et reçues : il passe « Soldé »
  • Aucun reliquat n'est créé par cette méthode : les quantités non reçues à suivre se redéclarent par CreateNewExpectedReceipt
  • Un attendu non encore en réception, déjà soldé ou annulé est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_RECEIPTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
GET

Obtenir la liste des réceptions

Mode 1/Product/GetReceipts/{merchantCode}/{login}/{key}/{dateFromUtc}
Mode 2/v2/Product/GetReceipts/{merchantCode}/{dateFromUtc}
Réponse
Liste de ReceiptReturn · HTTP 200
E_UNKNOWN_USER_OR_KEYE_UNKNOWN_MERCHANTE_UNKNOWN_ERROR

Fournisseurs

POST

Créer un fournisseur

Mode 1/Supplier/CreateSupplier/{merchantCode}/{login}/{key}
Mode 2/v2/Supplier/CreateSupplier/{merchantCode}
Corps
Objet Supplier
Réponse
int · HTTP 200
  • Crée un fournisseur du marchand
  • Seul le nom est obligatoire ; les coordonnées sont optionnelles, le pays est un code ISO à 2 lettres
  • Rend l'identifiant du fournisseur créé, à conserver pour UpdateSupplier et ArchiveSupplier
  • Aucune protection contre les doublons : deux appels avec le même nom créent deux fournisseurs
  • Les liens produits (code chez le fournisseur, délai d'approvisionnement) se posent ensuite par UpdateSupplier
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_SUPPLIER_NAMEE_INVALID_EMAILE_UNKNOWN_COUNTRY_CODEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR
POST

Modifier un fournisseur

Mode 1/Supplier/UpdateSupplier/{merchantCode}/{login}/{key}
Mode 2/v2/Supplier/UpdateSupplier/{merchantCode}
Corps
Objet SupplierUpdate
Réponse
bool · HTTP 200
  • Modifie un fournisseur désigné par son identifiant (rendu par CreateSupplier)
  • Un champ absent est conservé, une chaîne vide l'efface (sauf le nom, qui ne s'efface pas)
  • Les liens produits fournis remplacent les liens existants en bloc : un produit absent de la liste est délié ; liste absente = liens conservés
  • Un fournisseur archivé est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_SUPPLIERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_NO_SUPPLIER_NAMEE_INVALID_EMAILE_UNKNOWN_COUNTRY_CODEE_UNKNOWN_PRODUCT_CODEE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Archiver un fournisseur

Mode 1/Supplier/ArchiveSupplier/{merchantCode}/{login}/{key}
Mode 2/v2/Supplier/ArchiveSupplier/{merchantCode}
Corps
Objet SupplierReference
Réponse
bool · HTTP 200
  • Archive un fournisseur désigné par son identifiant : il disparaît des listes et des choix d'attendu, les attendus passés conservent son nom
  • Un fournisseur déjà archivé est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_UNKNOWN_SUPPLIERE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_ERROR

Fabrication de kits

POST

Créer un ordre de fabrication de kits

Mode 1/BundleManufacturing/CreateBundleManufacturing/{merchantCode}/{login}/{key}
Mode 2/v2/BundleManufacturing/CreateBundleManufacturing/{merchantCode}
Corps
Objet BundleManufacturing
Réponse
string · HTTP 200
  • Crée un ordre de fabrication : les kits à fabriquer (produits à composition) avec leur quantité, et des commentaires pour l'entrepôt
  • Le numéro est optionnel : absent, FuturLog le génère et le rend en réponse ; fourni, il est alphanumérique, 12 caractères au plus et unique chez le marchand
  • L'ordre est écrit « Reçu informatiquement » ; les composants sont réservés puis l'entrepôt prévenu par FuturLog
  • Aucune protection contre les doublons quand le numéro est absent
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_STARTING_TOO_LOWE_NO_BUNDLE_MANUFACTURINGE_NO_BUNDLE_MANUFACTURING_NUMBERE_BUNDLE_MANUFACTURING_CODE_TOO_LONGE_ALREADY_EXISTING_BUNDLE_MANUFACTURINGE_NO_BUNDLE_MANUFACTURING_LINEE_NO_BUNDLE_MANUFACTURING_LINE_QUANTITYE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_PRODUCT_IS_NOT_BUNDLEE_UNKNOWN_ERROR
POST

Modifier un ordre de fabrication de kits

Mode 1/BundleManufacturing/UpdateBundleManufacturing/{merchantCode}/{login}/{key}
Mode 2/v2/BundleManufacturing/UpdateBundleManufacturing/{merchantCode}
Corps
Objet BundleManufacturingUpdate
Réponse
bool · HTTP 200
  • Modifie un ordre de fabrication non encore transmis à l'entrepôt (états Reçu informatiquement, Incomplet, Complet), désigné par son numéro
  • Les commentaires sont un patch : absents, conservés ; vides, effacés
  • Chaque ligne fournie remplace la quantité à fabriquer du kit désigné par son code ; un kit absent de l'ordre est refusé, aucune ligne n'est ajoutée ni retirée
  • La quantité fabriquée et l'état ne se modifient jamais par API
  • Les réservations de composants sont réalignées et l'état recalculé dans l'appel
  • Un ordre transmis, fabriqué ou supprimé est refusé avec le code correspondant, rien n'est modifié
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_BUNDLE_MANUFACTURINGE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_NO_PRODUCT_CODEE_UNKNOWN_PRODUCT_CODEE_NO_BUNDLE_MANUFACTURING_LINE_QUANTITYE_NOTHING_TO_UPDATEE_UNKNOWN_ERROR
POST

Annuler un ordre de fabrication de kits

Mode 1/BundleManufacturing/CancelBundleManufacturing/{merchantCode}/{login}/{key}
Mode 2/v2/BundleManufacturing/CancelBundleManufacturing/{merchantCode}
Corps
Objet BundleManufacturingReference
Réponse
bool · HTTP 200
  • Annule un ordre de fabrication désigné par son numéro : il passe « Supprimé », les composants encore réservés sont libérés, et les kits déjà fabriqués sont contre-passés en stock (mouvements inverses)
  • Un ordre déjà transmis à l'entrepôt ou déjà fabriqué n'est annulable que par FuturLog, un ordre déjà supprimé est refusé, et l'annulation est refusée quand des kits fabriqués ont déjà quitté le stock
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_NO_BUNDLE_MANUFACTURINGE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_ACTION_RESERVED_TO_INTERNAL_ROLEE_CANNOT_DELETE_BUNDLE_MANUFACTURINGE_UNKNOWN_ERROR

Service client

POST

Ouvrir une demande au service client

Mode 1/Support/CreateSupportRequest/{merchantCode}/{login}/{key}
Mode 2/v2/Support/CreateSupportRequest/{merchantCode}
Corps
Objet SupportTicket
Réponse
long · HTTP 200
  • Ouvre un ticket auprès du service client FuturLog au nom de l'utilisateur authentifié, qui doit avoir accès au service client depuis MyFuturLog (un compte technique d'intégration ne l'a généralement pas : la méthode refuse alors explicitement)
  • Sujet et message obligatoires
  • Pièces jointes optionnelles : au plus 3 fichiers de 5 Mo chacun, types png, jpg, pdf, csv, txt, contenu en base64
  • Entités liées optionnelles, désignées par leur référence (numéro de commande, code produit, numéro d'attendu, identifiant ou numéro de suivi du retour, numéro d'ordre de fabrication) : une référence inconnue refuse la demande
  • Rend le numéro du ticket, à conserver pour ReplySupportRequest
  • Aucune protection contre les doublons : deux appels créent deux tickets
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_SUPPORT_NOT_ACTIVATEDE_ACTION_RESERVED_TO_INTERNAL_ROLEE_INVALID_SUPPORT_REQUESTE_NO_ORDERE_UNKNOWN_PRODUCT_CODEE_UNKNOWN_TMPPRODUCTE_NO_RECEIPTE_UNKNOWN_PARCEL_RETURNE_NO_BUNDLE_MANUFACTURINGE_SUPPORT_UNAVAILABLEE_UNKNOWN_ERROR
POST

Répondre à une demande au service client

Mode 1/Support/ReplySupportRequest/{merchantCode}/{login}/{key}
Mode 2/v2/Support/ReplySupportRequest/{merchantCode}
Corps
Objet SupportTicketReply
Réponse
bool · HTTP 200
  • Ajoute une réponse à un ticket existant du marchand, désigné par son numéro (rendu par CreateSupportRequest), au nom de l'utilisateur authentifié, qui doit avoir accès au service client depuis MyFuturLog
  • Message obligatoire, pièces jointes optionnelles (au plus 3 fichiers de 5 Mo, types png, jpg, pdf, csv, txt, base64)
  • Un ticket résolu est rouvert par la réponse ; un ticket fermé est refusé avec le code correspondant
  • Un ticket inconnu ou d'un autre marchand est introuvable, sans distinction
  • Aucune protection contre les doublons : relire le fil avant de renvoyer une réponse après une erreur réseau
  • Aucun droit utilisateur n'est posé par défaut sur cette méthode : demander son activation à FuturLog
E_UNKNOWN_USER_OR_KEYE_METHOD_NOT_ALLOWEDE_UNKNOWN_MERCHANTE_SUPPORT_NOT_ACTIVATEDE_ACTION_RESERVED_TO_INTERNAL_ROLEE_UNKNOWN_SUPPORT_REQUESTE_ACTION_NOT_ALLOWED_IN_CURRENT_STATEE_INVALID_SUPPORT_REQUESTE_SUPPORT_UNAVAILABLEE_UNKNOWN_ERROR

Modèles de données

Objets envoyés / reçus, champs exhaustifs. (O) = obligatoire, (O/F) = obligatoire selon vos paramètres FuturLog, string[n] = longueur max n, ? = nullable. Les champs non annotés sont facultatifs.

Order requête

{
  "OrderNumber": "string[9]",                // (O) unique
  "BrandCode": "string[3]",                  // (O/F) code enseigne
  "CurrencyCode": "string[3]",               // devise (EUR, USD, ...)
  "CustomerNumber": "string[50]",            // n° commande client (B2B)
  "Language": "string[2]",                   // langue enseigne
  "Incoterm": "string[3]",
  "DateUtc": "datetime?",                    // date de la commande
  "ScheduledTransmissionDate": "datetime?",  // transmission logisticien programmée
  "MerchantCarrierCode": "string[7]",        // transporteur marchand : code
  "MerchantCarrierLabel": "string[50]",      // transporteur marchand : nom
  "ShippingServiceCode": "string[3]",        // A2P, CIT, BPR, CDI, ACP, DOM, RDV, MRL...
  "SpecificationCode": "string[50]", // code du cahier des charges B2B (CDC)
  "StockType": "string[3]",              // type de stock (STD, DEF, BLQ), STD par défaut
  "PickerComments": "string[500]",           // commentaire préparateur
  "EshopId": "string", "EshopCustom1": "string",     // réf. / info e-shop
  "CustomInvoiceBase64": "string",          // facture personnalisée (Base64)
  "CustomDocumentBase64": "string",         // document personnalisé (Base64)
  "Address": {                                    // (O) adresse de livraison
    "CorporateName": "string[100]",
    "LastName": "string[50]", "FirstName": "string[50]",
    "Address1": "string[35]",              // (O)
    "Address2": "string[35]", "Address3": "string[35]",
    "ZipCode": "string[10]",               // (O)
    "City": "string[50]",                  // (O)
    "ProvinceCode": "string[2]",            // US / Canada
    "CountryCode": "string[2]",             // (O)
    "MobilePhone": "string[30]",            // (O)
    "Phone": "string[30]",
    "Email": "string[100]",
    "PickupPointNumber": "string[10]",       // point-relais
    "Comments": "string[500]"
  },
  "Billing": {                                    // facturation
    "CorporateName": "string[50]",
    "LastName": "string[50]", "FirstName": "string[50]",
    "Address1": "string[35]",              // (O)
    "Address2": "string[35]", "Address3": "string[35]",
    "ZipCode": "string[10]",               // (O)
    "City": "string[50]",                  // (O)
    "ProvinceCode": "string[2]",            // US / Canada
    "CountryCode": "string[2]",             // (O)
    "BillNumber": "string[50]",            // n° de facture
    "TotalAmount": "decimal?",            // (O) total commande TTC
    "ShipmentPrice": "decimal?",          // frais de port TTC
    "ShipmentVAT": "decimal?",            // (O/F) TVA des frais de port
    "Discount": "decimal?", "DiscountHT": "decimal?", "DiscountTTC": "decimal?"  // remise (HT/TTC selon paramètres)
  },
  "Gift": {                                       // cadeau
    "Message": "string",                   // message carte cadeau
    "PackageType": "int?"                  // type de papier cadeau
  },
  "OrderLines": [ {                               // (O) lignes de commande
    "ProductCode": "string[30]",            // (O) réf. produit
    "InternalProductCode": "string[30]",    // (O) réf. interne
    "ProductLabel": "string[120]",         // (O)
    "ProductBatchNumber": "string[30]",      // n° de lot
    "Quantity": 0,                         // (O)
    "UnitPrice": "decimal?", "UnitPriceHT": "decimal?", "UnitPriceTTC": "decimal?",  // (O/F) prix unitaire (HT/TTC selon paramètres)
    "VATRate": "decimal?"                  // (O/F) taux de TVA
  } ]
}

Product requête

{
  "Code": "string[30]",               // (O) code produit
  "Label": "string[120]",            // (O) libellé produit
  "BarCode": "string[60]",           // code-barres
  "BrandCode": "string[3]",          // code enseigne
  "ExternalCode": "string[60]",      // code fournisseur
  "HsCode": "string[10]",            // nomenclature douanière
  "OriginCountryCode": "string[2]",  // pays d'origine
  "Family": "string[100]",           // catégorie de produit
  "Model": "string[100]", "Color": "string[50]", "Size": "string[100]",
  "Type": "string[100]",            // 'p' = physique, 'v' = virtuel
  "Weight": "decimal?",             // poids en kg
  "Height": "decimal?", "Width": "decimal?", "Length": "decimal?",   // dimensions en cm
  "UnitPriceHT": "decimal?",        // dernier prix HT
  "TvaRate": "decimal?",            // taux de TVA
  "WeePrice": "decimal?",           // éco-participation
  "AlertThreshold": 0,               // seuil d'alerte (stock restant)
  "IsActive": true, "IsLotManaged": false,
  "PictureUrl": "string[300]",       // URL de l'image
  "EshopId": "string", "EshopCustom1": "string",     // réf. / info e-shop
  "Parameter1": "string", "Parameter2": "string",  // paramètres custom
  "ProductTypeCode": "string[15]", // STANDARD, ALCOOL, DANGEREUX, BIO (absent = inchangé)
  "SalesUnitsPerStockUnit": "int?", // quantité par SKU, de 1 à 1 000 (absent = 1)
  "AlcoholTypeCode": "string[20]", // (O si ALCOOL) catégorie fiscale : VIN_TRANQ, VIN_MOUSS, BOISSON_FERM_AUTRE, PROD_INTER_VDN_VDL, PROD_INTER_AUTRES, BIERE, CIDRE, SPIRITUEUX
  "AlcoholDegree": "decimal?",    // (O si ALCOOL) titre alcoométrique en % vol
  "ContainerNominalVolumeCl": "decimal?", // (O si ALCOOL) volume nominal d'un contenant en cl
  "AlcoholContainersPerUnit": "int?", // (O si ALCOOL) contenants par unité de stock, de 1 à 1 000
  "ContainerTypeCode": "string[15]", // (O si ALCOOL) BOUTEILLE, CANETTE, FUT, BAG_IN_BOX, AUTRE
  "AppellationDenomination": "string[100]", // appellation ou dénomination
  "PlatoDegree": "decimal?",      // degré Plato d'une bière
  "ProductsInBundle": [ { "Code": "string[30]", "Quantity": 1 } ]  // composants (si produit composé)
}

Receipt requête attendu de réception

{
  "ScheduledDate": "datetime",      // (O) date de réception prévue
  "StockType": "string[3]",    // type de stock cible : STD (défaut), DEF (défectueux), BLQ (bloqué)
  "SupplierName": "string[100]",    // (O) fournisseur
  "ReceiptNumber": "string[12]",    // n° de réception
  "CarrierName": "string[100]",     // transporteur
  "DeliveryComments": "string[500]", // commentaire livraison
  "ReceiptLines": [ {                       // (O) lignes de réception
    "ProductCode": "string[30]",          // (O) réf. produit
    "Quantity": 0                        // (O) quantité annoncée
  } ]
}

BundleManufacturing requête

Corps de CreateBundleManufacturing

ChampTypeDescription
BundleManufacturingNumberstring[12]Numéro de l'ordre de fabrication chez le marchand (alphanumérique, unique) ; absent : généré par FuturLog et rendu en réponse
Commentsstring[500]Commentaires pour l'entrepôt
Lines (O)list<BundleManufacturingLine>Kits à fabriquer : au moins une ligne
Lines[].ProductCode (O)string[100]Code du produit kit chez le marchand (SKU), produit à composition
Lines[].Quantity (O)intQuantité de kits à fabriquer, strictement positive

BundleManufacturingReference requête

Corps de CancelBundleManufacturing

ChampTypeDescription
BundleManufacturingNumber (O)string[12]Numéro de l'ordre de fabrication, tel que transmis ou rendu à sa création

BundleManufacturingUpdate requête

Corps de UpdateBundleManufacturing

ChampTypeDescription
BundleManufacturingNumber (O)string[12]Numéro de l'ordre de fabrication, tel que transmis ou rendu à sa création
Commentsstring[500]Commentaires ; absents : conservés, vides : effacés
Lineslist<BundleManufacturingLine>Kits dont la quantité à fabriquer change (code du kit et nouvelle quantité) ; absents : conservés. Un kit absent de l'ordre est refusé
Lines[].ProductCode (O)string[100]Code du produit kit chez le marchand (SKU), produit à composition
Lines[].Quantity (O)intQuantité de kits à fabriquer, strictement positive

OrderReference requête

Corps de AnonymizeOrder, CancelOrder, ForceCompleteOrder, RejectOrderError, UnblockOrder

ChampTypeDescription
OrderNumber (O)string[50]Numéro de la commande chez le marchand, tel que transmis à sa création

ParcelReturnRefundState requête

Corps de SetParcelReturnRefundState

ChampTypeDescription
OrderNumberstring[50]Numéro de la commande chez le marchand, si elle ne porte qu'un seul retour
ParcelReturnIdint<nullable>Identifiant FuturLog du retour (prioritaire sur les deux autres désignations) ; rendu dans le détail du refus quand la commande porte plusieurs retours
RefundState (O)intÉtat de remboursement visé : 0 vide, 1 en attente de remboursement, 2 échange créé, 3 remboursé (avoir), 4 remboursé (moyen de paiement)
TrackingNumberstring[50]Numéro de suivi du retour (prioritaire sur le numéro de commande) ; plusieurs retours au même suivi : le plus récent

ProductReference requête

Corps de EnableProduct, RejectProductError, ResendProductToLogistics

ChampTypeDescription
Code (O)string[100]Code du produit chez le marchand (SKU), tel que transmis à sa création

ReceiptReference requête

Corps de CancelReceipt, SettleReceipt

ChampTypeDescription
ReceiptNumber (O)string[12]Numéro de l'attendu chez le marchand, tel que transmis à sa création

ReceiptUpdate requête

Corps de UpdateReceipt

ChampTypeDescription
CarrierNamestring[100]Nom du transporteur ; absent : conservé, vide : effacé
DeliveryCommentsstring[500]Commentaire livraison ; absent : conservé, vide : effacé
NewReceiptNumberstring[12]Nouveau numéro d'attendu (alphanumérique, unique chez le marchand) ; absent : conservé
ReceiptNumber (O)string[12]Numéro de l'attendu chez le marchand, tel que transmis à sa création
ScheduledDatedatetime<nullable>Date de réception prévue ; absente : conservée
SupplierNamestring[100]Nom du fournisseur ; absent : conservé
TrackingNumberstring[50]Numéro de suivi ; absent : conservé, vide : effacé
ReceiptLineslist<ReceiptLine>Lignes attendues (référence et quantité annoncée) ; absentes : conservées, fournies : remplacées en bloc
ReceiptLines[].ProductCode (O)string[30]Référence de produit
ReceiptLines[].Quantity (O)intQuantité annoncée

StockCheckRequest requête

Corps de CheckStocks

ChampTypeDescription
BrandCodestring[3]Code de l'enseigne. Facultatif si le marchand n'en porte qu'une, obligatoire sinon
Stocks (O)list<StockCheck>Lignes à contrôler : un code produit et la quantité souhaitée
Stocks[].Codestring[30]Code Produit
Stocks[].QuantityintQuantité souhaitée

StockRequest requête

Corps de GetStocks

ChampTypeDescription
BrandCodestring[3]Code de l'enseigne. Facultatif si le marchand n'en porte qu'une, obligatoire sinon
ProductCodestring[30]Code du produit. Si non renseigné, retourne les états des stocks de tous les produits

Supplier requête

Corps de CreateSupplier

ChampTypeDescription
Addressstring[255]Adresse postale
Citystring[100]Ville
ContactNamestring[100]Nom du contact chez le fournisseur
CountryCodestring[2]Code ISO du pays (2 lettres). Voir l'annexe Pays.
Emailstring[150]Adresse e-mail du fournisseur
Name (O)string[100]Nom du fournisseur
Phonestring[30]Téléphone du fournisseur
ZipCodestring[20]Code postal

SupplierReference requête

Corps de ArchiveSupplier

ChampTypeDescription
Id (O)intIdentifiant du fournisseur chez FuturLog, rendu par CreateSupplier

SupplierUpdate requête

Corps de UpdateSupplier

ChampTypeDescription
Addressstring[255]Adresse postale ; absente : conservée, vide : effacée
Citystring[100]Ville ; absente : conservée, vide : effacée
ContactNamestring[100]Nom du contact ; absent : conservé, vide : effacé
CountryCodestring[2]Code ISO du pays (2 lettres) ; absent : conservé, vide : effacé. Voir l'annexe Pays.
Emailstring[150]Adresse e-mail ; absente : conservée, vide : effacée
Id (O)intIdentifiant du fournisseur chez FuturLog, rendu par CreateSupplier
Namestring[100]Nouveau nom du fournisseur ; absent : conservé
Phonestring[30]Téléphone ; absent : conservé, vide : effacé
ZipCodestring[20]Code postal ; absent : conservé, vide : effacé
ProductLinkslist<SupplierProductLink>Liens produits du fournisseur ; absents : conservés, fournis : remplacés en bloc
ProductLinks[].LeadTimeDaysint<nullable>Délai d'approvisionnement en jours (0 par défaut)
ProductLinks[].ProductCode (O)string[100]Code du produit chez le marchand (SKU)
ProductLinks[].SupplierProductCodestring[100]Code du produit chez le fournisseur

SupportTicket requête

Corps de CreateSupportRequest

ChampTypeDescription
Message (O)string[10000]Message initial du ticket (texte)
Subject (O)string[200]Sujet du ticket
Attachmentslist<SupportTicketAttachment>Pièces jointes : au plus 3 fichiers de 5 Mo chacun, types png, jpg, pdf, csv, txt
Attachments[].ContentBase64 (O)stringContenu du fichier encodé en base64 (5 Mo au plus une fois décodé)
Attachments[].FileName (O)string[255]Nom du fichier avec son extension (png, jpg, pdf, csv, txt)
LinkedEntitieslist<SupportTicketLinkedEntity>Entités MyFuturLog à rattacher au ticket, désignées par leur référence
LinkedEntities[].Reference (O)string[100]Référence : numéro de commande, code produit, numéro d'attendu, identifiant ou numéro de suivi du retour, numéro d'ordre de fabrication
LinkedEntities[].Type (O)string[30]Type d'entité : order, tmpOrder, product, tmpProduct, receipt, parcelReturn ou bundleManufacturing

SupportTicketReply requête

Corps de ReplySupportRequest

ChampTypeDescription
Message (O)string[10000]Message de la réponse (texte)
TicketId (O)longNuméro du ticket (rendu par CreateSupportRequest)
Attachmentslist<SupportTicketAttachment>Pièces jointes : au plus 3 fichiers de 5 Mo chacun, types png, jpg, pdf, csv, txt
Attachments[].ContentBase64 (O)stringContenu du fichier encodé en base64 (5 Mo au plus une fois décodé)
Attachments[].FileName (O)string[255]Nom du fichier avec son extension (png, jpg, pdf, csv, txt)

ExpectedParcelReturn requête

Corps de CreateNewExpectedReturn

ChampTypeDescription
Brandstring[3]Code de l'enseigne
CarrierCodestring[7]Code de service transporteur, connu de FuturLog (voir « Obtenir ma liste de transporteurs »)
OrderNumber (O)string[50]Numéro de la commande chez le marchand, tel que transmis à sa création ; la commande doit être expédiée
ReturnReasonTextstring[200]Raison du retour
TrackingNumberstring[50]Numéro de suivi du retour ; refusé s'il est déjà porté par un retour de la même commande
Weightdecimal<nullable>Poids en kg ; absent : poids des colis expédiés, plafonné à 30 kg
ReturnLines (O)list<ReturnLineReturn>Lignes de retour : au moins une, produits de la commande, quantité retournée strictement positive
ReturnLines[].DateUtcdatetime<nullable>Date de retour à l'entrepot
ReturnLines[].ProductBatchNumberstring[30]Lot du produit
ReturnLines[].ProductCode (O)string[30]Référence de produit
ReturnLines[].QuantityReturned (O)intQuantité retournée
ReturnLines[].QuantityReturnedDamagedintQuantité retournée endommagée
ReturnLines[].ReturnReasonCodeint<nullable>Code de la cause du retour
ReturnLines[].ReturnReasonLabelstring[50]Libellé de la cause du retour

CarrierReturn réponse

Réponse de GetCarriers

ChampTypeDescription
Codestring[7]Code transporteur
Labelstring[50]Nom du transporteur

OrderErrorReturn réponse

Réponse de GetOrderErrors

ChampTypeDescription
Brandstring[3]Code de l'enseigne
ErrorCodestring[50]Code de l'erreur. Voir l'annexe Codes d'erreur des commandes.
ErrorLabelstring[200]Libellé de l'erreur
OrderNumberstring[9]Numéro de la commande

OrderReturn réponse

Réponse de GetReturns

ChampTypeDescription
Brandstring[3]Code de l'enseigne
CreationDateUtcdatetimeDate de l'annonce du retour
CustomerNumberstring[50]Numéro de commande client (B2B)
DateUtcdatetime<nullable>Date de retour à l'entrepot
Languagestring[2]Langue de l'enseigne
MerchantCarrierCodestring[7]Code de service transporteur du marchand
MerchantCarrierLabelstring[50]Nom du transporteur du marchand
OrderNumberstring[9]Numéro de la commande
ShippingServiceCodestring[3]Code de service (A2P, CIT, BPR, CDI, ACP, DOM, RDV, MRL, DOS, CMT, BDP, ...).
Statestring[50]Etat du colis. Voir l'annexe États des retours.
StateCodeintCode état du colis. Voir l'annexe États des retours.
TrackingNumberstring[50]Numéro de tracking
TrackingUrlstring[200]URL de tracking
AddressAddressAdresse
Address.Address1string[35]Adresse de livraison : adresse
Address.Address2string[35]Adresse de livraison : complément d'adresse
Address.Address3string[35]Adresse de livraison : suite de complément d'adresse
Address.Citystring[50]Adresse de livraison : ville
Address.Commentsstring[500]Adresse de livraison : commentaires
Address.CorporateNamestring[100]Adresse de livraison : nom de la société
Address.CountryCodestring[2]Adresse de livraison : code pays. Voir l'annexe Pays.
Address.Emailstring[100]Adresse de livraison : email
Address.FirstNamestring[50]Adresse de livraison : prénom du client
Address.LastNamestring[50]Adresse de livraison : nom du client
Address.MobilePhonestring[30]Adresse de livraison : numéro de mobile
Address.Phonestring[30]Adresse de livraison : numéro de téléphone
Address.PickupPointNumberstring[10]Adresse de livraison : code de point-relais
Address.ProvinceCodestring[2]Adresse de livraison : code province (US et Canada). Voir l'annexe Provinces.
Address.ZipCodestring[10]Adresse de livraison : code postal
BillingBillingBilling attributes
Billing.Address1string[35]Adresse de facturation : adresse
Billing.Address2string[35]Adresse de facturation : complément d'adresse
Billing.Address3string[35]Adresse de facturation : suite de complément d'adresse
Billing.BillNumberstring[50]Numéro de la facture
Billing.Citystring[50]Adresse de facturation : ville
Billing.CorporateNamestring[50]Adresse de facturation : nom de la société
Billing.CountryCodestring[2]Adresse de facturation : code pays. Voir l'annexe Pays.
Billing.Discountdecimal<nullable>Montant Remise (HT ou TTC spécifié dans vos paramètres FuturLog)
Billing.DiscountHTdecimal<nullable>Montant Remise HT
Billing.DiscountTTCdecimal<nullable>Montant Remise TTC
Billing.FirstNamestring[50]Adresse de facturation : prénom du client
Billing.LastNamestring[50]Adresse de facturation : nom du client
Billing.ProvinceCodestring[2]Adresse de facturation : code province (US et Canada). Voir l'annexe Provinces.
Billing.ShipmentPricedecimal<nullable>Frais de port TTC
Billing.ShipmentVATdecimal<nullable>Taux de TVA des frais de port
Billing.TotalAmountdecimal<nullable>Montant total de la commande TTC
Billing.ZipCodestring[10]Adresse de facturation : code postal
GiftGiftGift attributes
Gift.MessagestringMessage de la carte cadeau
Gift.PackageTypeint<nullable>Type de papier cadeau
OrderLineslist<OrderLineReturn>Lignes de commande
OrderLines[].InitialQuantityintQuantité commandée initiale
OrderLines[].ProductCodestring[30]Référence de produit
OrderLines[].ShippedBatchesReturnlist<ShippedBatchReturn>Liste des lots expédiés
OrderLines[].ShippedBatchesReturn[].Numberstring[50]Numéro de lot
OrderLines[].ShippedBatchesReturn[].QuantityintQuantité expédiée
ReturnLineslist<ReturnLineReturn>Lignes de retour
ReturnLines[].DateUtcdatetime<nullable>Date de retour à l'entrepot
ReturnLines[].ProductBatchNumberstring[30]Lot du produit
ReturnLines[].ProductCodestring[30]Référence de produit
ReturnLines[].QuantityReturnedintQuantité retournée
ReturnLines[].QuantityReturnedDamagedintQuantité retournée endommagée
ReturnLines[].ReturnReasonCodeint<nullable>Code de la cause du retour
ReturnLines[].ReturnReasonLabelstring[50]Libellé de la cause du retour

ProductErrorReturn réponse

Réponse de GetProductErrors

ChampTypeDescription
Codestring[30]Code Produit
ErrorCodestring[50]Code de l'erreur. Voir l'annexe Codes d'erreur des produits.
ErrorLabelstring[200]Libellé de l'erreur

ProductInfoReturn réponse

Réponse de GetProductInfo

ChampTypeDescription
AlertThresholdint<nullable>Seuil d'alerte de stock
BarCode2string[60]Code barre alternatif 2
BarCode3string[60]Code barre alternatif 3
BarCode4string[60]Code barre alternatif 4
BarCode5string[60]Code barre alternatif 5
BarCodeMerchantstring[60]Code barre principal (EAN)
BillingPcbdecimal<nullable>PCB (Par ComBien) — conditionnement logistique
Codestring[30]Code produit
Colorstring[50]Couleur
ExternalCodestring[60]Code fournisseur / code externe
Familystring[100]Famille / catégorie produit
Heightdecimal<nullable>Hauteur en cm (valeur logistique si renseignée, sinon valeur marchand)
HsCodestring[10]Nomenclature douanière (code SH)
IsActivebooltrue si le produit est actif (non supprimé)
IsFragilebooltrue si le produit est déclaré fragile
IsLotManagedbooltrue si la gestion par lot est activée
IsReplacedByCodestring[30]Code du produit de substitution (null si aucun)
IsReturnablebooltrue si le produit est retournable
IsSaleDeadlineManagedbooltrue si la gestion par date limite de vente (DLV) est activée
IsSerialNumberManagedbooltrue si la gestion par numéro de série est activée
Labelstring[120]Libellé produit
LastUnitPriceHTdecimal<nullable>Dernier prix unitaire HT connu
Lengthdecimal<nullable>Longueur en cm (valeur logistique si renseignée, sinon valeur marchand)
Modelstring[10]Modèle
OriginCountryCodestring[2]Code pays d'origine (ISO 3166-1 alpha-2). Voir l'annexe Pays.
PictureUrlstring[300]URL de l'image produit
QuantityAvailableintQuantité disponible (physique moins réservé)
QuantityDamagedintQuantité endommagée
QuantityInSupplyintQuantité en cours de réception
QuantityOnHandintQuantité physique en stock
SaleDeadlineFreshnessDelayint<nullable>Délai de fraîcheur garanti en jours calendaires, exploité par les entrepôts Houtch. Vide vaut 30 jours
Sizestring[100]Taille
Typestring[10]Type du produit (p = produit physique, v = pack virtuel)
UnitPriceHTdecimal<nullable>Prix unitaire HT
WeePricedecimal<nullable>Éco-participation (DEEE)
Weightdecimal<nullable>Poids réel en kg (valeur logistique si renseignée, sinon valeur marchand)
Widthdecimal<nullable>Largeur en cm (valeur logistique si renseignée, sinon valeur marchand)

ReceiptReturn réponse

Réponse de GetReceipts

ChampTypeDescription
EntryDateUtcdatetimeDate de la saisie
ReceiptDatedatetime<nullable>Date de réception effective
ReceiptNumberstring[30]Numéro de la commande
Statestring[50]Etat de la réception. Voir l'annexe États des réceptions.
StateCodeintCode état de la réception. Voir l'annexe États des réceptions.
ReceiptLineslist<ReceiptLineReturn>Lignes de réception
ReceiptLines[].ProductCodestring[30]Référence de produit
ReceiptLines[].QuantityintQuantité annoncée
ReceiptLines[].ReceivedQuantityint<nullable>Quantité réceptionnée
ReceiptLines[].ReceivedQuantityDamagedint<nullable>Quantité réceptionnée endommagée
ReceiptLines[].ReceiptLinePartialReceptionslist<ReceiptLinePartialReceptionReturn>Lignes de réception partielles
ReceiptLines[].ReceiptLinePartialReceptions[].DatedatetimeDate
ReceiptLines[].ReceiptLinePartialReceptions[].ProductBatchNumberstring[50]Numéro de lot
ReceiptLines[].ReceiptLinePartialReceptions[].ReceivedQuantityint<nullable>Quantité réceptionnée
ReceiptLines[].ReceiptLinePartialReceptions[].ReceivedQuantityDamagedint<nullable>Quantité réceptionnée endommagée

ShipmentReturn réponse

Réponse de GetShipments

ChampTypeDescription
BrandCodestring[3]Code enseigne
CustomerNumberstring[50]Numéro de commande client (B2B)
EshopIdstring[100]Id interne au e-shop
OrderNumberstring[30]Numéro de la commande
Statestring[50]Etat de la commande. Voir l'annexe États des commandes.
StateCodeintCode état de la commande. Voir l'annexe États des commandes.
OrderLineslist<OrderLineReturn>Liste des lignes de commande
OrderLines[].InitialQuantityintQuantité commandée initiale
OrderLines[].ProductCodestring[30]Référence de produit
OrderLines[].ShippedBatchesReturnlist<ShippedBatchReturn>Liste des lots expédiés
OrderLines[].ShippedBatchesReturn[].Numberstring[50]Numéro de lot
OrderLines[].ShippedBatchesReturn[].QuantityintQuantité expédiée
Parcelslist<ParcelReturn>Liste des colis
Parcels[].CarrierCodestring[7]Code du transporteur
Parcels[].DepthdecimalProfondeur
Parcels[].HeightdecimalHauteur
Parcels[].PackCodestring[50]Code de carton Prestataire logistique
Parcels[].PackNumberstring[50]Numéro de colis interne
Parcels[].PackTypestring[1]C = Colis P = Palette
Parcels[].ShippingDatedatetime<nullable>Date d'expedition
Parcels[].Statestring[50]Etat du colis. Voir l'annexe États des commandes.
Parcels[].StateCodeintCode état du colis. Voir l'annexe États des commandes.
Parcels[].TrackingNumberstring[50]Numéro de tracking
Parcels[].TrackingUrlstring[200]URL de tracking
Parcels[].VolumedecimalVolume
Parcels[].WeightdecimalPoids physique du colis en Kg : poids remonté par l'entrepôt, sinon poids théorique
Parcels[].WidthdecimalLargeur
Parcels[].ParcelLineslist<ParcelLineReturn>Liste des produits du colis
Parcels[].ParcelLines[].InternalProductCodestring[10]Code Produit interne FL
Parcels[].ParcelLines[].ProductBatchNumberstring[30]Numéro de lot Produit
Parcels[].ParcelLines[].ProductCodestring[30]Code Produit
Parcels[].ParcelLines[].QuantityintQuantité produit
Parcels[].ParcelLines[].ShippedSerialNumbersReturnlist<ShippedSerialNumberReturn>Liste des numéros de série expédiés
Parcels[].ParcelLines[].ShippedSerialNumbersReturn[].Numberstring[50]Numéro de série
ReturnTrackingslist<ReturnTrackingReturn>Liste des trackings de retour
ReturnTrackings[].CarrierCodestring[7]Code du transporteur
ReturnTrackings[].TrackingNumberstring[50]Numéro de tracking
ReturnTrackings[].TrackingUrlstring[200]URL de tracking

StateReturn réponse

Réponse de GetStates

ChampTypeDescription
CodeintCode état de la commande
Labelstring[50]Etat de la commande
SortOrderint<nullable>Ordre théorique d'apparition de l'état

StockCheckReturn réponse

Réponse de CheckStocks

ChampTypeDescription
IsAvailableboolVrai si toutes les quantités souhaitées sont disponibles
MissingLineslist<StockCheckLineReturn>Lignes dont la quantité souhaitée dépasse le stock disponible. Vide si tout est disponible
MissingLines[].AvailableQuantityintQuantité disponible
MissingLines[].Codestring[30]Code Produit
MissingLines[].MissingQuantityintQuantité manquante
MissingLines[].RequestedQuantityintQuantité souhaitée

StockReturn réponse

Réponse de GetStocks

ChampTypeDescription
AvailableQuantityintQuantité disponible
BarCodestring[60]Code barre marchand
Codestring[30]Code Produit
EshopCustom1stringInformation diverse au e-shop
EshopIdstringId interne au e-shop
ReservedQuantityintQuantité réservée
BatchesStocklist<BatchStockReturn>Stock des lots
BatchesStock[].Numberstring[50]Numéro de lot
BatchesStock[].OnHandQuantityintQuantité disponible
L'objet Error renvoyé en cas d'échec est décrit dans la section Enveloppe de réponse.

Codes d'erreur

Renvoyés dans l'objet Error.Code. Principaux codes par domaine :

DomaineCodes
AuthentificationE_UNKNOWN_USER_OR_KEY · E_UNKNOWN_MERCHANT
Actions et droitsE_METHOD_NOT_ALLOWED · E_ACTION_NOT_ALLOWED_IN_CURRENT_STATE · E_ACTION_RESERVED_TO_INTERNAL_ROLE · E_ACTION_NOT_SUPPORTED_BY_WAREHOUSE · E_NOTHING_TO_UPDATE
CommandeE_NO_ORDER · E_NO_ORDER_LINE · E_NO_ORDER_NUMBER · E_ORDER_NUMBER_TOO_LONG_50 · E_ALREADY_EXISTING_ORDER · E_PRODUCT_CONTAINERS_PER_UNIT_REQUIRED · E_UNKNOWN_BRAND · E_AMBIGUOUS_ORDER · E_UNABLE_TO_CANCEL_ORDER · E_UNABLE_TO_UNBLOCK_ORDER · E_UNABLE_TO_COMPLETE_ORDER · E_ORDER_NUMBER_TOO_LONG · E_ORDER_NUMBER_PROHIBITED_CHARACTERS · E_NO_COUNTRY_CODE · E_UNKNOWN_COUNTRY_CODE · E_INCOHERENT_CARRIER · E_UNKNOWN_CARRIER · E_BRAND_MISSING · E_NO_PICKUP_POINT_NUMBER · E_UNKNOWN_BILLING_COUNTRY_CODE · E_UNKNOWN_PRODUCT_CODE · E_NO_HS_CODE_OR_ORIGIN_COUNTRY · E_INVALID_VAT · E_NO_LASTNAME_OR_COMPANY · E_NO_ADDRESS · E_NO_ZIPCODE · E_UNKNOWN_ZIPCODE · E_NO_CITY · E_NO_PHONE · E_NO_EMAIL · E_INVALID_EMAIL · E_INVALID_DISCOUNT · E_INVALID_SHIPMENT_PRICE · E_INVALID_SHIPMENT_VAT · E_INVALID_TOTAL_AMOUNT · E_ONLY_VIRTUAL_PRODUCTS · E_ADDRESS1_TOO_LONG · E_ADDRESS2_TOO_LONG · E_ADDRESS3_TOO_LONG · E_BILLING_ADDRESS1_TOO_LONG · E_BILLING_ADDRESS2_TOO_LONG · E_BILLING_ADDRESS3_TOO_LONG · E_BILLING_CITY_TOO_LONG_DPH · E_BILLING_COMPANY_TOO_LONG_DPH · E_BILLING_FIRSTNAME_TOO_LONG_DPH · E_BILLING_LASTNAME_TOO_LONG_DPH · E_CARRIER_COMMENTS_TOO_LONG · E_CITY_PROHIBITED_CHARACTERS · E_CITY_TOO_LONG_DPH · E_COMPANY_TOO_LONG_DPH · E_EORIORVATNUMBER_MISSING · E_FIRSTNAME_PROHIBITED_CHARACTERS · E_FIRSTNAME_TOO_LONG_DPH · E_INCOMPATIBLE_INCOTERM · E_INCORRECT_ADDRESS · E_INCORRECT_MOBILEPHONE · E_INCORRECT_PHONE · E_INVALID_ORDERLINE_AMOUNT · E_INVOICEINFORMATION_ERROR · E_LASTNAME_PROHIBITED_CHARACTERS · E_LASTNAME_TOO_LONG_DPH · E_NO_PALLET_CARRIER · E_NO_PROVINCE_CODE · E_NO_UNITPRICE · E_PICKER_COMMENTS_TOO_LONG · E_PICKUP_POINT_INCOHERENCE · E_PICKUP_POINT_INEXISTANT · E_PICKUP_POINT_UNAVAILABLE · E_SPECIFICATION_CARRIER_ERROR · E_UNKNOWN_PROVINCE_CODE · E_UNKNOWN_SPECIFICATION_CODE · E_ORDER_QUANTITY_NOT_DIVISIBLE
RetourE_NO_ORDER · E_UNKNOWN_CARRIER · E_ALREADY_EXISTING_PARCEL_RETURN · E_UNKNOWN_PRODUCT_CODE · E_NO_RETURN_LINE_QUANTITY · E_UNKNOWN_BRAND · E_UNKNOWN_PARCEL_RETURN · E_AMBIGUOUS_PARCEL_RETURN · E_INVALID_REFUND_STATE
ProduitE_NO_PRODUCT_CODE · E_UNKNOWN_PRODUCT_TYPE_CODE · E_UNKNOWN_ALCOHOL_TYPE_CODE · E_UNKNOWN_CONTAINER_TYPE_CODE · E_UNKNOWN_PRODUCT_CODE · E_ALREADY_EXISTING_BAR_CODE · E_UNKNOWN_TMPPRODUCT · E_BRAND_MISSING · E_UNKNOWN_BRAND · E_STOCKS_TRANSMISSION_DISABLED · E_PRODUCT_CONTAINERS_PER_UNIT_REQUIRED · E_ORDER_QUANTITY_NOT_DIVISIBLE · E_PRODUCT_CODE_TOO_LONG · E_UNKNOWN_HS_CODE · E_UNKNOWN_COUNTRY_CODE · E_ALREADY_EXISTING_BAR_CODE_2 · E_ALREADY_EXISTING_BAR_CODE_3 · E_ALREADY_EXISTING_BAR_CODE_4 · E_ALREADY_EXISTING_BAR_CODE_5 · E_NO_PRODUCT_LABEL · E_CIRCULAR_SUBSTITUTION · E_INCORRECT_BUNDLE_QUANTITY · E_NO_PRODUCT · E_ALCOHOL_NOT_ALLOWED_FOR_MERCHANT · E_PRODUCT_ALCOHOL_FIELDS_REQUIRED · E_ALCOHOL_CONTAINERS_PER_UNIT_OUT_OF_BOUNDS · E_PRODUCT_CODE_PROHIBITED_CHARACTERS_DPH · E_PRODUCT_CODE_TOO_LONG_DPH · E_PRODUCT_CODE_TOO_LONG_FUTURSHIP · E_PRODUCT_CODE_TOO_LONG_GV1_GTM · E_PRODUCT_CONTAINERS_PER_UNIT_OUT_OF_BOUNDS · E_PRODUCT_DANGEROUS_FIELDS_REQUIRED · E_PRODUCT_OVERPACKING_REQUIRED · E_PRODUCT_REPLACEMENT_DELETED · E_UNABLE_TO_MANAGE_BY_BATCH · E_UNABLE_TO_SAVE_PICTURE · E_UNABLE_TO_UNMANAGE_BY_BATCH
RéceptionE_NO_RECEIPT · E_ALREADY_EXISTING_RECEIPT · E_NO_RECEIPT_LINE · E_NO_SCHEDULED_DATE · E_UNKNOWN_PRODUCT_CODE · E_NO_RECEIPT_LINE_QUANTITY · E_NO_SUPPLIER_NAME · E_INVALID_RECEIPTNUMBER · E_RECEIPT_CODE_TOO_LONG · E_UNKNOWN_SUPPLIER
FournisseurE_NO_SUPPLIER_NAME · E_INVALID_EMAIL · E_UNKNOWN_COUNTRY_CODE · E_UNKNOWN_SUPPLIER · E_UNKNOWN_PRODUCT_CODE
Fabrication de kitsE_STARTING_TOO_LOW · E_NO_BUNDLE_MANUFACTURING · E_NO_BUNDLE_MANUFACTURING_NUMBER · E_BUNDLE_MANUFACTURING_CODE_TOO_LONG · E_ALREADY_EXISTING_BUNDLE_MANUFACTURING · E_NO_BUNDLE_MANUFACTURING_LINE · E_NO_BUNDLE_MANUFACTURING_LINE_QUANTITY · E_NO_PRODUCT_CODE · E_UNKNOWN_PRODUCT_CODE · E_PRODUCT_IS_NOT_BUNDLE · E_CANNOT_DELETE_BUNDLE_MANUFACTURING
Service clientE_SUPPORT_NOT_ACTIVATED · E_INVALID_SUPPORT_REQUEST · E_NO_ORDER · E_UNKNOWN_PRODUCT_CODE · E_UNKNOWN_TMPPRODUCT · E_NO_RECEIPT · E_UNKNOWN_PARCEL_RETURN · E_NO_BUNDLE_MANUFACTURING · E_SUPPORT_UNAVAILABLE · E_UNKNOWN_SUPPORT_REQUEST
GénéralE_UNKNOWN_ERROR
Besoin d'un accompagnement à l'intégration ? Parlez à un expert Futurlog ou consultez la vue d'ensemble des web services.