Comment créer une intégration de boutique personnalisée pour ShipStation, des définitions de champs XML et des exemples de requête et de réponse XML attendues.
L'option Boutique personnalisée dans ShipStation permet à un développeur de créer une connexion personnalisée pour une source de commande qui n'a pas d'intégration prédéfinie avec ShipStation.
Une connexion à une boutique personnalisée vous permet d'importer des commandes dans ShipStation en un seul clic et permet à ShipStation d'envoyer automatiquement le statut de l'expédition et les informations de suivi à votre panier ou à votre place du marché une fois l'étiquette créée.
Nécessite des compétences avancées en matière de développement
Veuillez noter que la boutique personnalisée nécessite des compétences de développement avancées pour être configurée. De nombreux clients ShipStation possédant ces compétences ont utilisé cette documentation pour intégrer leurs boutiques personnalisées du début à la fin.
La prise en charge de ShipStation pour les magasins personnalisés est limitée, mais si vous rencontrez des erreurs au cours du processus de configuration, notre équipe d’assistance peut fournir des informations supplémentaires afin que vous ou votre développeur puissiez prendre des mesures correctives.
Pour l'intégrer à la boutique personnalisée, vous devez présenter un point de terminaison Web qui renvoie le XML selon le format XML dans ce guide.
Le point de terminaison Web sera utilisé pour traiter deux requêtes majeures :
-
GET : permet à ShipStation de récupérer les informations relatives aux commandes depuis votre boutique personnalisée, notamment l'adresse du destinataire, les produits, les clients, etc.
-
POST : permet à ShipStation de renvoyer les informations d'expédition à la boutique lorsqu'une commande est expédiée, y compris le mode de livraison, le statut de l'expédition, le numéro de suivi, etc.
Lorsque votre point de terminaison Web est prêt, vous pouvez ensuite connecter ShipStation à votre boutique via l'option de connexion à la boutique personnalisée. Une fois connecté, vous pouvez ensuite importer des commandes et renvoyer les détails de l’expédition.
Pour permettre à ShipStation d'accéder à votre source de commande aux données GET et POST, vous devez créer votre point de terminaison de boutique personnalisé aux spécifications définies dans ce guide.
ShipStation fera un appel API GET pour extraire les informations de commande de la boutique connectée.
ShipStation demandera les informations de commande au point de terminaison Web que vous exposez. Il doit afficher un code XML conforme aux spécifications définies dans les sections suivantes.
ShipStation utilisera le format d'URL suivant lors de la requête d'informations de commande à partir du point de terminaison Web que vous créez :
[Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1 [Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1
Paramètres d'URL d'appel GET
Paramètres d'URL |
Description |
---|---|
Action |
Cette valeur sera toujours « exportée » lorsque ShipStation demandera des informations sur la commande. |
date_de_début |
La date de début en heure UTC. Format : MM/jj/aaaa HH:mm (notation de 24 heures). Par exemple : 03/23/2012 21:09 |
date_de_fin |
La date de fin en heure UTC. Même format que la date_de_début. |
Votre page doit renvoyer des données pour toute commande modifiée entre la date de début et la date de fin, quel que soit le statut de la commande. Les données de commande doivent être renvoyées au format XML, comme indiqué dans l'exemple suivant. Tous les champs de texte libre doivent être placés dans une section CDATA pour éviter toute erreur d'analyse.
Une section CDATA commence par "<![CDATA[" et se termine par "]]>".
Pour les magasins avec des centaines ou des milliers de commandes par jour, nous vous recommandons de paginer vos résultats. Pour ce faire, choisissez le nombre maximal d'enregistrements à renvoyer avec chaque réponse. Incluez ensuite le nombre total de pages en tant qu'attribut dans l'élément Commandes au niveau de la barre.
Lors de la première requête vers votre point de terminaison, ShipStation ajoutera un paramètre URL appelé « page ». Par exemple :
https://www.yourstore.com/shipstationxml.php?action=export&start_date=01%2f23%2f2012+17%3a28&end_date=01%2f23%2f2012+17%3a33&page=1
Si le nœud Commandes indique qu'il y a des pages supplémentaires, ShipStation demandera les pages suivantes jusqu'à ce que toutes les commandes aient été récupérées.
Vous trouverez ci-dessous un exemple du corps de réponse XML attendu par ShipStation lorsqu'un appel GET est passé pour obtenir des informations de commande. Vous trouverez des définitions détaillées des champs dans le Guide de référence de la boutique personnalisée.
<?xml version="1.0" encoding="utf-8"?> <Orders pages="1"> <Order> <OrderID><![CDATA[123456]]></OrderID> <OrderNumber><![CDATA[ABC123]]></OrderNumber> <OrderDate>10/18/2019 21:56 PM</OrderDate> <OrderStatus><![CDATA[paid]]></OrderStatus> <LastModified>12/8/2011 12:56 PM</LastModified> <ShippingMethod><![CDATA[USPSPriorityMail]]></ShippingMethod> <PaymentMethod><![CDATA[Credit Card]]></PaymentMethod> <CurrencyCode>EUR</CurrencyCode> <OrderTotal>123.45</OrderTotal> <TaxAmount>0.00</TaxAmount> <ShippingAmount>4.50</ShippingAmount> <CustomerNotes><![CDATA[Please make sure it gets here by Dec. 22nd!]]></CustomerNotes> <InternalNotes><![CDATA[Ship by December 18th via Priority Mail.]]></InternalNotes> <Gift>false</Gift> <GiftMessage></GiftMessage> <CustomField1></CustomField1> <CustomField2></CustomField2> <CustomField3></CustomField3> <Customer> <CustomerCode><![CDATA[customer@mystore.com]]></CustomerCode> <BillTo> <Name><![CDATA[The President]]></Name> <Company><![CDATA[US Govt]]></Company> <Phone><![CDATA[512-555-5555]]></Phone> <Email><![CDATA[customer@mystore.com]]></Email> </BillTo> <ShipTo> <Name><![CDATA[The President]]></Name> <Company><![CDATA[US Govt]]></Company> <Address1><![CDATA[1600 Pennsylvania Ave]]></Address1> <Address2></Address2> <City><![CDATA[Washington]]></City> <State><![CDATA[DC]]></State> <PostalCode><![CDATA[20500]]></PostalCode> <Country><![CDATA[US]]></Country> <Phone><![CDATA[512-555-5555]]></Phone> </ShipTo> </Customer> <Items> <Item> <SKU><![CDATA[FD88821]]></SKU> <Name><![CDATA[My Product Name]]></Name> <ImageUrl><![CDATA[http://www.mystore.com/products/12345.jpg]]></ImageUrl> <Weight>8</Weight> <WeightUnits>Ounces</WeightUnits> <Quantity>2</Quantity> <UnitPrice>13.99</UnitPrice> <Location><![CDATA[A1-B2]]></Location> <Options> <Option> <Name><![CDATA[Size]]></Name> <Value><![CDATA[Large]]></Value> <Weight>10</Weight> </Option> <Option> <Name><![CDATA[Color]]></Name> <Value><![CDATA[Green]]></Value> <Weight>5</Weight> </Option> </Options> </Item> <Item> <SKU></SKU> <Name><![CDATA[$10 OFF]]></Name> <Quantity>1</Quantity> <UnitPrice>-10.00</UnitPrice> <Adjustment>true</Adjustment> </Item> </Items> </Order> </Orders>
L'appel POST permet à ShipStation de reporter les informations d'expédition à votre source de commande lorsque vous expédiez des commandes.
ShipStation contactera le même point de terminaison Web lorsqu'une commande est expédiée afin que votre système puisse être informé que la commande a été expédiée. ShipStation exécute une action appelée ShipNotify lors de l'envoi de cette notification. Votre point de terminaison Web devrait être en mesure de déterminer quand ShipStation demande des informations de commande (action = exportation) et quand il envoie une notification d'expédition (action = shipnotify).
Votre point de terminaison Web doit renvoyer un code dde statut HTTP 200 (ou 2xx) pour indiquer que les informations de suivi ont bien été reçues.
ShipStation utilisera le format d'URL suivant lors de l'envoi des informations d'expédition et de suivi au point de terminaison Web que vous créez :
[Your Web Endpoint]?action=shipnotify&order_number=[Order Number]&carrier=[Carrier]&service=&tracking_number=[Tracking Number]
Par exemple :
https://www.yourstore.com/shipstationxml.php?action=shipnotify&order_number=ABC123&carrier=USPS&service=&tracking_number=9511343223432432432
Voici une description de chaque paramètre URL :
Paramètres |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Action |
La valeur sera toujours « avis d'expédition » lors de l'envoi de notifications d'expédition. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
numéro de commande |
Il s'agit de l'identifiant unique de la commande. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transporteur |
Codes API pris en charge pour les transporteurs disponibles :
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Service |
Il s'agit du nom du service d'expédition utilisé pour expédier la commande. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
numéro de suivi |
Numéro de suivi du colis. |
Vous trouverez ci-dessous un exemple du corps de requête XML qui sera inclus lorsque ShipStation passe un appel POST pour une notification d'expédition. Vous trouverez des définitions détaillées des champs dans le Guide de référence de la boutique personnalisée.
<?xml version="1.0" encoding="utf-8"?> <ShipNotice> <OrderNumber>ABC123</OrderNumber> <OrderID>123456</OrderID> <CustomerCode>customer@mystore.com</CustomerCode> <CustomerNotes></CustomerNotes> <InternalNotes></InternalNotes> <NotesToCustomer></NotesToCustomer> <NotifyCustomer></NotifyCustomer> <LabelCreateDate>10/19/2019 12:56</LabelCreateDate> <ShipDate>10/19/2019</ShipDate> <Carrier>USPS</Carrier> <Service>Priority Mail</Service> <TrackingNumber>1Z909084330298430820</TrackingNumber> <ShippingCost>4.95</ShippingCost> <CustomField1></CustomField1> <CustomField2></CustomField2> <CustomField3></CustomField3> <Recipient> <Name>The President</Name> <Company>US Govt</Company> <Address1>1600 Pennsylvania Ave</Address1> <Address2></Address2> <City>Washington</City> <State>DC</State> <PostalCode>20500</PostalCode> <Country>US</Country> </Recipient> <Items> <Item> <SKU>FD88821</SKU> <Name>My Product Name</Name> <Quantity>2</Quantity> <LineItemID>25590</LineItemID> </Item> </Items> </ShipNotice>
Connecter une boutique personnalisée à ShipStation fonctionne de la même manière que l'ajout de toute autre intégration directe à la boutique. Consultez les instructions détaillées ci-dessous.
Pour connecter votre boutique personnalisée à ShipStation :
-
Choisissez l'option Boutique personnalisée.
-
Saisissez les informations demandées dans le formulaire et testez votre connexion à l'aide du bouton Tester la connexion.
Le tableau ci-dessous fournit des détails sur les champs du formulaire dans la fenêtre de connexion :
Champ
Description
URL de la page CML personnalisée
Il s'agit de l'emplacement de votre point de terminaison Web. HTTPS recommandé.
Statut non payé
Il s'agit du nom du statut dans votre système qui indique qu'une commande n'est pas encore payée et n'est pas encore prête à être expédiée.
Plusieurs statuts peuvent être séparés par une virgule.
Statut de paiement
Il s'agit du nom du statut dans votre système qui indique qu'une commande est payée et prête à être expédiée.
Statut de l’expédition
Il s'agit du nom du statut dans votre système qui indique qu'une commande est expédiée.
Statut annulé
C'est le nom du statut dans votre système qui indique qu'une commande est annulée.
Statut en attente
Il s'agit du nom du statut dans votre système qui indique qu'une commande est en attente.
Les champs de statut mappent vos statuts de commande aux statuts de commande de ShipStation. Cela détermine où les commandes seront importées dans ShipStation. Ces champs sont sensibles à la casse.
Une fois la connexion établie, ShipStation commencera à communiquer avec votre point de terminaison Web pour obtenir les informations de commande.
ShipStation demande des informations de commande à votre point de terminaison Web à l'aide d'un appel GET.
Les utilisateurs de ShipStation peuvent déclencher manuellement les mises à jour de la boutique en survolant l'icône d'importation et en choisissant de mettre à jour toutes les boutiques ou les boutiques individuelles.
De plus, les utilisateurs peuvent activer une fonctionnalité de mise à jour automatique afin que ShipStation importe régulièrement les commandes d'une boutique automatiquement. La fréquence de mise à jour automatique dépend de l'historique des mises à jour manuelles de l'utilisateur et de plusieurs autres facteurs.
Par défaut, ShipStation utilise un appel POST pour envoyer des notifications d'expédition sur votre point de terminaison Web chaque fois qu'une étiquette est créée dans ShipStation.
Ces notifications peuvent être retardées, si l'utilisateur le souhaite, en définissant les options de notification dans la fenêtre Paramètres de boutique personnalisés.
Si l'utilisateur ShipStation crée des étiquettes en dehors de ShipStation, l'utilisateur peut choisir l'action Marquer comme expédié dans ShipStation, ce qui déplacera la commande vers le statut Expédié dans ShipStation et publiera également une notification d'expédition sur votre point de terminaison Web.
Cette section inclut les informations de commande et les définitions des champs ShipNotify ainsi que le schéma XML pour valider les informations de commande.
* Indique les champs obligatoires
Nom |
XPath |
Max autorisé |
Type |
Longueur |
Description |
---|---|---|---|---|---|
Commandes * |
commandes |
1 |
Conteneur |
s/o |
Nœud racine |
Commande * |
Commandes/Commande |
Illimité |
Conteneur |
s/o |
Nœud de conteneur pour une commande individuelle |
ID de commande * |
Commandes/Commande/ID de commande |
1 par commande |
Chaîne |
s/o |
Identifiant unique pour une commande. Ne s'affiche pas à qui que ce soit. |
Numéro de commande * |
commandes/commande/numéro de commande |
1 par commande |
Chaîne |
1...50 |
Numéro de commande visible par l'utilisateur. Cette valeur peut être identique à l'ID de commande. |
Date de commande * |
Commandes/Commande/Date de commande |
1 par commande |
Date/Time |
16 |
La date à laquelle la commande a été passée. Format : MM/jj/aaaa HH:mm. Les notations sur 12 et 24 heures sont autorisées. La valeur par défaut est UTC si aucun fuseau horaire n'est spécifié. |
Statut de la commande * |
Commandes/Commande/Statut de commande |
1 par commande |
Chaîne |
1---50 |
Statut de la commande dans votre système. Vous pourrez mapper ce statut à un statut ShipStation lorsque vous connecterez votre point de terminaison Web en tant que canal de vente dans ShipStation. |
Dernière modification* |
Commandes/Commande/DernièreModification |
1 par commande |
Date/Time |
16 |
La dernière fois que la commande a été modifiée dans votre système. Format : MM/jj/aaaa HH:mm. La valeur par défaut est UTC si aucun fuseau horaire n'est spécifié. |
Mode d'expédition |
Commandes/Commande/Méthode d'expédition |
1 par commande |
Chaîne |
0...100 |
Recommandé si vous connaissez le mode de livraison qui sera utilisé pour expédier la commande. ShipStation peut mapper vos méthodes d'expédition aux services réels. |
Mode de paiement |
Commandes/commande/mode de paiement |
1 par commande |
Chaîne |
0...50 |
Mode de paiement de la commande (par exemple PayPal, chèque, mandat) |
Code de devise |
Commandes/Commande/Code de devise |
1 par commande |
Chaîne |
3 |
Doit être un code de devise ISO 4217 (USD, EUR, etc) |
Total de la commande * |
Commandes/Commande/CommandeTotal |
1 par commande |
Decimal |
9,2 (précision, échelle) |
Montant total de la commande. (Neuf chiffres au total, jusqu'à 7 chiffres avant la virgule et jusqu'à 2 après). |
MontantTaxe |
Commandes/Commande/Montant des taxes |
1 par commande |
Decimal |
9,2 |
Montant de la taxe, le cas échéant. |
Montant de l’expédition * |
Commandes/Commande/Montant de l'expédition |
1 par commande |
Decimal |
9,2 |
Montant de l'expédition. |
Notes du client |
Commandes/Commande/Notes du client |
1 par commande |
Chaîne |
0...1000 |
Remarques laissées par le client lors de la commande. |
Notes internes |
Commandes/Commandes/Notes internes |
1 par commande |
Chaîne |
0...1000 |
Notes privées qui ne sont consultées que par votre entreprise. |
Cadeau |
Commandes/Commande/Cadeau |
1 par commande |
Boole |
« vrai » si cette commande est un cadeau |
|
Message du Cadeau |
Commandes/Commande/Message cadeau |
1 par commande |
Chaîne |
0...1000 |
Contient le message cadeau du client. |
Champ personnalisé 1 |
Commandes/Commande/Champ personnalisé1 |
1 par commande |
Chaîne |
0...100 |
Champ personnalisé qui apparaîtra dans la grille des commandes de ShipStation. Peut également être utilisé dans les critères des filtres et des règles d'automatisation de ShipStation. |
Champ personnalisé 2 |
Commandes/Commande/Champ personnalisé2 |
1 par commande |
Chaîne |
0...100 |
Champ personnalisé 2 |
Champ personnalisé 3 |
Commandes/Commande/Champ personnalisé3 |
1 par commande |
Chaîne |
0...100 |
Champ personnalisé 3 |
Entrepôt demandé |
Commandes/Commande/Entrepôt demandé |
1 par commande |
Chaîne |
0...100 |
Lieu d'expédition (doit correspondre au nom) |
Source |
Commandes/Commande/Source |
1 par commande |
Chaîne |
0...50 |
Source de la commande (p. ex. eBay, États-Unis, Amazon, Buy.com) |
Client * |
Commandes/Commande/Client |
1 par commande |
Conteneur |
s/o |
Nœud de conteneur pour les informations du client. |
Code client * |
Commandes/Commande/Client/Code client |
1 par commande |
Chaîne |
1...50 |
Identifiant unique du client dans votre système. C'est souvent un nom d'utilisateur ou une adresse courriel. |
Facturer à * |
Commandes?Commande/Client/Facturer à |
1 par commande |
Conteneur |
s/o |
Nœud conteneur pour les informations de facturation du client. |
Nom* |
Commandes/Commande/Client/Facturer à/Nom |
1 par commande |
Chaîne |
1...100 |
Le nom de facturation. |
Compagnie |
Commandes/Commande/Client/Facturer à/Entreprise |
1 par commande |
Chaîne |
1...100 |
L'entreprise facturée. |
Téléphone |
Commandes/Commande/Client/Facturer à/Téléphone |
1 par commande |
Chaîne |
0...50 |
Le numéro de téléphone de facturation. |
Courriel |
Commandes/Commande/Client/Facturer à/Courriel |
1 par commande |
Chaîne |
0...100 |
Recommandé pour que ShipStation puisse informer le client lorsqu'une commande est expédiée. |
Expédier à * |
Commandes/Commande/Client/Expédier à |
1 par commande |
Conteneur |
s/o |
Nœud de conteneur pour les informations d'expédition du client. |
Nom* |
commandes/commande/client/expédier à/nom |
1 par commande |
Chaîne |
1...100 |
Nom du destinataire. |
Compagnie |
Commandes/Commande/Client/Expédier à/Entreprise |
1 par commande |
Chaîne |
1...100 |
Entreprise du destinataire. |
Adresse 1 * |
Commandes/Commande/Client/Expédier à/Adresse1 |
1 par commande |
Chaîne |
1...200 |
Adresse du destinataire ligne 1. |
Adresse 2 |
Commandes/Commande/Client/Expédier à/Adresse2 |
1 par commande |
Chaîne |
1...200 |
Adresse du destinataire ligne 2. |
Ville * |
Commandes/Commande/Client/Expédier à/Ville |
1 par commande |
Chaîne |
1...100 |
Ville du destinataire. |
État * |
Commandes/Commande/Client/Expédier à/État |
1 par commande |
Chaîne |
2...100 |
Les adresses aux États-Unis et au Canada nécessitent le code d'État/de territoire à 2 caractères. |
Code postal * |
Commandes/Commande/Client/Expédier à/Code postal |
1 par commande |
Chaîne |
0...50 |
Requis pour les adresses nationales et de nombreuses adresses internationales. |
Pays * |
Commandes/Commande/Client/Expédier à/Pays |
1 par commande |
Chaîne |
2 |
Code de pays ISO 3116-1 à 2 caractères. |
Téléphone |
Commandes/Commande/Client/Expédier à/Téléphone |
1 par commande |
Chaîne |
0...50 |
Obligatoire dans certains cas (par ex. (pour les expéditions de nuit ou les expéditions internationales). Pas de format spécifique. |
Articles * |
Commandes/Commandes/Articles |
1 par commande |
Conteneur |
Nœud conteneur pour les articles de la commande. |
|
article |
Commandes/Commandes/Articles/Article |
Illimité |
Conteneur |
Nœud de conteneur pour une ligne de commande individuelle. |
|
ID de la ligne |
Commandes/Commande/Articles/Article/ID de la ligne |
1 par article |
Chaîne |
1...50 |
Identifiant unique pour la ligne. |
UGS* |
Commandes/Commande/Articles/Article/SKU |
1 par article |
Chaîne |
1...50 |
Identifiant unique du produit commandé. |
Nom* |
Commandes/Commande/Articles/Article/Nom |
1 par article |
Chaîne |
1...200 |
Nom du produit |
URL d’image |
Commandes/Commande/Articles/Article/ImageUrl |
1 par article |
Chaîne |
0...500 |
URL de l'image du produit |
Poids |
Commandes/Commande/Articles/Article/Poids |
1 par article |
Decimal |
9,2 |
Poids d'une seule ligne. |
WeightUnits |
Commandes/Order/Items/Item/Unités de poids |
1 par article |
Enum |
La valeur doit être l'une des suivantes : Livres, Onces, Grammes |
|
Quantité * |
Commandes/Commande/Articles/Article/Quantité |
1 par article |
nombre entier |
1...99999 |
Quantité d'articles commandés. |
Prix unitaire * |
Commandes/Commande/Articles/Article/Prix unitaire |
1 par article |
Decimal |
9,2 |
Prix d’un seul article. |
Emplacement |
Ordres/Order/Items/Item/emplacement |
1 par article |
Chaîne |
0...100 |
Emplacement du produit dans l'entrepôt |
Ajustement |
Commandes/Commande/Articles/Article/Ajustement |
1 par article |
Boole |
« vrai » si l'article représente un coupon, une réduction ou un autre ajustement. Notez que toute ligne qui constitue un ajustement doit avoir une valeur « prix unitaire » négative. |
|
Options |
Commandes/Commande/Articles/Article/Options |
1 par article |
Conteneur |
Note sur le conteneur pour les options de l'article (par ex. couleur, taille, etc.) |
|
Option |
Commandes/Commande/Articles/Article/Options/Option |
10 par article |
Conteneur |
Nœud conteneur pour une valeur d’option individuelle. |
|
Nom* |
Commandes/Commande/Articles/Article/Options/Option/Nom |
1 par option |
Chaîne |
1...100 |
Le nom de l'option (par exemple, Taille). |
Valeur * |
Commandes/Commandes/Articles/Article/Options/Option/Valeur |
1 par option |
Chaîne |
1...100 |
La valeur de l'option (par exemple, XL). |
Poids |
Commandes/Commande/Articles/Article/Options/Option/Poids |
1 par option |
Decimal |
9 (avec une précision de 2 décimales) |
Si l'option ajoute du poids à l'article, vous pouvez spécifier le poids supplémentaire ici. Cela doit être dans les mêmes unités spécifiées dans Unités de poids. Il doit s'agir du poids supplémentaire pour une seule quantité. |
Le XML de commande sera validé par rapport au schéma suivant :
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Orders"> <xs:complexType> <xs:sequence> <xs:element name="Order" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String50" name="OrderID" minOccurs="0"/> <xs:element type="String50" name="OrderNumber"/> <xs:element type="DateTime" name="OrderDate"/> <xs:element type="String50" name="OrderStatus"/> <xs:element type="DateTime" name="LastModified"/> <xs:element type="String100" name="ShippingMethod" minOccurs="0"/> <xs:element type="String50" name="PaymentMethod" minOccurs="0"/> <xs:element type="xs:decimal" name="OrderTotal"/> <xs:element type="xs:decimal" name="TaxAmount" minOccurs="0"/> <xs:element type="xs:decimal" name="ShippingAmount" minOccurs="0"/> <xs:element type="String1000" name="CustomerNotes" minOccurs="0"/> <xs:element type="String1000" name="InternalNotes" minOccurs="0"/> <xs:element type="xs:boolean" name="Gift" minOccurs="0"/> <xs:element type="String1000" name="GiftMessage" minOccurs="0"/> <xs:element type="String100" name="CustomField1" minOccurs="0"/> <xs:element type="String100" name="CustomField2" minOccurs="0"/> <xs:element type="String100" name="CustomField3" minOccurs="0"/> <xs:element type="String100" name="RequestedWarehouse" minOccurs="0"/> <xs:element type="String50" name="Source" minOccurs="0" /> <xs:element name="Customer"> <xs:complexType> <xs:all> <xs:element type="String100" name="CustomerCode"/> <xs:element name="BillTo"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Company" minOccurs="0"/> <xs:element type="String50" name="Phone" minOccurs="0"/> <xs:element type="Email" name="Email" minOccurs="0"/> <xs:element type="String200" name="Address1" minOccurs="0"/> <xs:element type="String200" name="Address2" minOccurs="0"/> <xs:element type="String100" name="City" minOccurs="0"/> <xs:element type="String100" name="State" minOccurs="0"/> <xs:element type="String50" name="PostalCode" minOccurs="0"/> <xs:element type="StringExactly2" name="Country" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="ShipTo"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Company" minOccurs="0"/> <xs:element type="String200" name="Address1"/> <xs:element type="String200" name="Address2" minOccurs="0"/> <xs:element type="String100" name="City"/> <xs:element type="String100" name="State" minOccurs="0"/> <xs:element type="String50" name="PostalCode" minOccurs="1"/> <xs:element type="StringExactly2" name="Country"/> <xs:element type="String50" name="Phone" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Items"> <xs:complexType> <xs:sequence> <xs:element name="Item" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String50" name="LineItemID" minOccurs="0"/> <xs:element type="String100" name="SKU"/> <xs:element type="String200" name="Name"/> <xs:element type="xs:boolean" name="Adjustment" minOccurs="0"/> <xs:element type="xs:anyURI" name="ImageUrl" minOccurs="0"/> <xs:element type="xs:decimal" name="Weight" minOccurs="0"/> <xs:element name="WeightUnits" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:patternvalue="pound|pounds|lb|lbs|gram|grams|gm|oz|ounces|Pound|Pounds|Lb|Lbs|Gram|Grams|Gm|Oz|Ounces|POUND|POUNDS|LB|LBS|GRAM|GRAMS|GM|OZ|OUNCES"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element type="xs:int" name="Quantity"/> <xs:element type="xs:decimal" name="UnitPrice"/> <xs:element type="String100" name="Location" minOccurs="0"/> <xs:element name="Options" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Option" maxOccurs="100" minOccurs="0"> <xs:complexType> <xs:all> <xs:element type="String100" name="Name"/> <xs:element type="String100" name="Value"/> <xs:element type="xs:decimal" name="Weight" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute type="xs:short" name="pages"/> </xs:complexType> </xs:element> <xs:simpleType name="DateTime"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9][0-9]?/[0-9][0-9]?/[0-9][0-9][0-9]?[0-9]? [0-9][0-9]?:[0-9][0-9]?:?[0-9]?[0-9]?. ?[aApP]?[mM]?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Email"> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpleType> <xs:simpleType name="StringExactly2"> <xs:restriction base="xs:string"> <xs:minLength value="2"/> <xs:maxLength value="2"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String30"> <xs:restriction base="xs:string"> <xs:maxLength value="30"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String50"> <xs:restriction base="xs:string"> <xs:maxLength value="50"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String100"> <xs:restriction base="xs:string"> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String200"> <xs:restriction base="xs:string"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="String1000"> <xs:restriction base="xs:string"> <xs:maxLength value="1000"/> </xs:restriction> </xs:simpleType> </xs:schema>
Nom |
XPath |
Occurrence maximale |
Type |
Longueur |
Description |
---|---|---|---|---|---|
Avis d'expédition |
Avis d'expédition |
1 |
Conteneur |
s/o |
Nœud racine |
ID de commande |
Avis d'expédition/ID de commande |
1 |
Chaîne |
1...50 |
Identifiant unique pour une commande |
Numéro de commande |
Avis d'expédition/Numéro de commande |
1 |
Chaîne |
1...50 |
Identifiant de commande visible par l'utilisateur. |
Code client |
Avis d'expédition/Code client |
1 |
Chaîne |
1...50 |
Identifiant unique du client dans votre système. C'est souvent un nom d'utilisateur ou une adresse courriel. |
Notes du client |
Avis d'expédition/Notes du client |
1 |
Chaîne |
0...1000 |
Remarques laissées par le client lors de la commande. |
Notes internes |
Avis d'expédition/Notes internes |
1 |
Chaîne |
0...1000 |
Notes privées qui ne sont consultées que par votre entreprise. |
Remarques à l'attention du client |
Avis d'expédition/Remarques à l'intention du client |
1 |
Chaîne |
0...1000 |
Notes publiques à communiquer au client. |
Notifier le client |
Avis d'expédition/Notifier le client |
1 |
Boole |
Si ShipStation envoie au client un courriel de notification d'expédition, cette valeur sera « fausse» . |
|
DateCréationÉtiquette |
Avis d'expédition/Date de création de l'étiquette |
1 |
Date/Time |
La date à laquelle l'étiquette d'expédition a été créée. Heure UTC. Format : MM/jj/aaaa HH:MM. |
|
Date d'expédition |
Avis d'expédition/Date d'expédition |
1 |
Date |
La date d'expédition du colis. |
|
Transporteur |
Avis d'expédition/transporteur |
1 |
Chaîne |
0...50 |
Le transporteur utilisé (USPS, UPS, FedEx) |
Service |
Avis d'expédition/service |
1 |
Chaîne |
0...50 |
Le service d'expédition utilisé. |
Numéro de suivi |
Avis d'expédition/Numéro de suivi |
1 |
Chaîne |
0...50 |
Le numéro de suivi du colis. |
Frais d'expédition |
Avis d'expédition/Coût d'expédition |
1 |
Decimal |
9,2 |
Le coût d'expédition du colis. |
Destinataire |
Avis d'expédition/destinataire |
1 |
Conteneur |
s/o |
Nœud de conteneur pour l'adresse du destinataire. |
Nom |
Avis d'expédition/destinataire/nom |
1 |
Chaîne |
1...100 |
Nom du destinataire. |
Compagnie |
Avis d'expédition/destinataire/entreprise |
1 |
Chaîne |
0...100 |
Entreprise du destinataire. |
Adresse 1 |
Avis d'expédition/destinataire/adresse1 |
1 |
Chaîne |
1...200 |
Adresse du destinataire ligne 1. |
Adresse 2 |
Avis d'expédition/destinataire/adresse2 |
1 |
Chaîne |
1...200 |
Adresse du destinataire ligne 2. |
Ville |
Avis d'expédition/destinataire/ville |
1 |
Chaîne |
0...100 |
Ville du destinataire. |
État |
Avis d'expédition/destinataire/État |
1 |
Chaîne |
Les adresses aux États-Unis et au Canada nécessitent le code d'État/de territoire à 2 caractères. |
|
Code postal |
Avis d'expédition/destinataire/code postal |
1 |
Chaîne |
0...50 |
Requis pour les adresses nationales et de nombreuses adresses internationales. |
Pays |
Avis d'expédition/destinataire/pays |
1 |
Chaîne |
2 |
Code pays à 2 caractères. |
articles |
Avis d'expédition/Articles |
1 |
Conteneur |
Nœud du conteneur pour les articles de l'expédition. |
|
article |
Avis d'expédition/Articles/Article |
Illimité |
Conteneur |
Nœud de conteneur pour une ligne d'expédition individuelle. |
|
ID de la ligne |
ShipNotice/Items/Item/ID de ligne |
1 par article |
Chaîne |
1...50 |
Identifiant unique pour la ligne. |
UGS |
Avis d'expédition/articles/article/SKU |
1 par article |
Chaîne |
1...100 |
Identifiant unique du produit qui a été expédié. |
Nom |
Avis d'expédition/Articles/Article/Nom |
1 par article |
Chaîne |
1...200 |
Nom du produit. |
Quantité |
Avis d'expédition/Articles/Article/Quantité |
1 par article |
nombre entier |
1...99999 |
Quantité d'articles expédiés. |