Avant tout passage de commande dans l'environnement de production, une série de commandes de tests sont à faire dans l'espace de démonstrations et doivent être validées par nos services techniques.
Pas de commande mixte
Une commande ne peut PAS contenir des devises ET des métaux
Il faut impérativement dissocier les deux types de produits dans deux commandes différentes (nous recommandons de travailler avec deux types de paniers, cela permettra de gérer des modes de paiement our de livraison différents si nécessaire).
Les clients
La création d'un client se fait par /v1/customers
La recherche d'un client peut se faire par son id /v1/customers/{customerId}
ou par son adresse e-mail /v1/customers/searchByEmail/{email}
Avant chaque validation de commande, il est conseillé de mettre à jour les données du client (qui peut avoir complété son compte depuis sa création par exemple) avec un /v1/customers/{customerId}
en PATCH
ou PUT
suivant s'il s'agit d'un update partiel ou total
Récupérer les commandes
Pour récupérer toutes les commandes d'un client, utiliser /v1/customers/{customerId}/orders
et /v1/customers/{customerId}/orders/{orderId}
pour une commande spécifique
Créer une commande
Utiliser /v1/customers/{customerId}/orders
pour créer une commande.
Informations sur la commande
id
est un Int, saisir la valeur voulue ou laisser à vide pour une affectation automatiquetimestamp
ISO 8601 de la commandetransactionType
deux valeurs possibles1
pour les devises,20
pour les métauxshippingMode
deux valeurs possiblesR
pour les retraits,L
pour les livraisonspaymentMode
trois valeurs possiblesC
pour les CB,V
pour les virements,CQ
pour les chèquespaymentDate
(1) date de paiement, peut être rempli lors d'un paiement CBstatus
(1) deux valeurs possibles lors de l'enregistrement DO_NOT_HONOR ou HONOR, seules les commandes HONOR sont récupérables par Yodaforex.
Si vous utilisez directement l'API sans passer par une base passerelle, il est recommandé lors d'une commande payée par CB de créer la commande en DO_NOT_HONOR avant d'accéder au système de paiement, puis une fois le paiement validé de la transformer en HONOR avec un PATCH sur la commande.
Montants et lignes de commande
otherFeesAmount
montant d'autres frais, peuvent être positifs (un emballage cadeau) ou négatifs (une remise) 2 décimalesshippingAmount
montant des frais de port 2 décimalessummedItemsAmount
montant des articles des lignes de commandes 2 décimalestotalOrderAmount
total des trois valeurs ci-dessus, à régler par le client 2 décimalesorderLinesCount
nombre de lignes de commandeorderLines
une ligne pour chaque produit, voir ci-dessous
orderLines - Pour les devises
itemIsoOrRef
=currency.iso
itemLabel
Intitulé de la ligne de facture
Nous recommandonscurrency.name
currency.country
(parcurrency.base
)
Yen, Japon (par 100) ou Livre, Angleterrequantity
quantité en devise, doit être un multiple decurrency.smallestCut
0 décimalerate
=currency.webSellRate
totalAmount
= (1/orderLine.rate
*orderLine.quantity
)/currency.base
2 décimalesitemFixing
= 1/orderLine.rate
Optionnels pour les devises
isTC
1 si la devise est un Traveller ChèquepreferredNotes
Coupures souhaitées par le client :S
petites coupures,L
grandes coupures,P
panaché
orderLines - Pour les métaux
itemIsoOrRef
=metal.ref
itemLabel
=metal.name
quantity
= quantité achetée 0 décimalerate
=metal.sellPrice.price
ou plus rarementmetal.deskSellRate
2 décimalestotalAmount
=orderLine.quantity
*orderLine.rate
2 décimalesitemFixing
=orderLine.rate
orderLines - Champs communs
orderId
=order.orderId
s'il a été saisi, sinon laisser vide pour l'affectation automatiqueitemId
=metal.id
oucurrency.id
affiliatedId
=order.affiliatedId
s'il y a lieu
Suppléments obligatoires
billingCustomerLabel
entité facturée, en généralcustomer.civility
customer.firstname
customer.lastname
oucustomer.companyName
billingFullAddress
etshippingFullAddress
, adresses complètes de facturation et livraison sous la formecustomer.addressList.company<br /> customer.addressList.civility customer.addressList.firstname customer.addressList.name<br /> customer.addressList.street<br /> customer.addressList.postalCode customer.addressList.city<br /> customer.addressList.country
customerIp
Ip du client, en v4 ou v6
Suppléments optionnels
cardAuthorizationNumber
numéro d'autorisation de CBcustomerComment
commentaire du client, peut être complété par des notes du webmastercustomerPreferedDeadline
date de livraison souhaitée par le clientpickupShopName
agence de retrait
Autres
affiliateId
id d'un partenaire affiliétotalOrderCryptocurrencyAmount
montant en cryptomonnaie
Informations complétées par Yodaforex
billingDate
date de facturation, se rempli automatiquement lors du passage en facturationeta
date de livraison estimée (peut être détourné pour une date de mise à disposition)integrationInYFXDate
date de récupération de la commande par YodaforexinvoiceNumber
numéro de facture Yodaforex, se rempli automatiquement lors du passage en facturationpaymentDate
(1) date de paiement, se rempli automatiquement quand un virement est marqué ReçushippedOnDate
date d'expédition, se rempli automatiquement lors du passage en facturationshippingTrackingNumber
numéro de suivistatus
(1) CANCELLED si le marchand annule la commande
(1) Peuvent être remplis par le site et/ou Yodaforex
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.