URL Push : Order
Votre ERP peut être notifié par PMS des changements d'état des commande en temps réel. Ce qui vous permet de mettre à jour vos commandes ou de construire des scenarios automatisés dans votre ERP ou même d'autres applications tierce. Exemples d'usage:
- Passer automatiquement les commandes en statut "expédié" et envoyer un mail au client.
- Récupérer les informations de colisage (numéro de tracking, transporteur, poids, nombre de colis...).
- Déclencher le paiement à la fin du picking si et seulement si tous les articles sont trouvés physiquement.
- Créer et imprimer l'étiquette transporteur dans votre ERP ou une application tierce si cette tâche n'est pas confiée à PMS.
Configuration
Vous devez configurer dans PMS les notifications que vous souhaitez recevoir.
- Allez dans
Outils > Tables > Statuts de commande
- Cochez les statuts de commandes pour lesquels vous souhaitez être notifié.
- Enregistrez.
Vous devriez cocher au minimum le statut 90 (commande expédiée) : c'est celui qui vous permet d'obtenir les informations du colis (poids et numéro de suivi).
Pour ne pas ralentir les applications, ne cochez que les statuts qui vous sont réellement utiles.
Fonctionnement
- Les messages sont envoyés par une requête HTTP POST.
- Le contenu des messages et de la réponse est structuré en XML, encodage UTF8.
- La chaîne XML est placée dans la variable POST nommée
xml_feed
. - Vous devez créer un script dont l'URL réceptionnera la requête et traitera les données.
- Renseignez cette URL dans PMS dans
Réglages
, paramètreURL destinataire des avis de changement de statut des commandes
.
Attention : le message XML peut contenir plusieurs commandes <order>
Exemple en PHP
Lire le message XML avec la classe SimpleXMLElement:
$xml = new SimpleXMLElement($_POST['xml_feed']);
if ($xml->getName() == "order_update")
{
foreach ($xml->order as $xml_order)
{
if ($xml_order->status == 90)
{
/* action à effectuer */
}
}
}
Exemple de message
<order_update>
<order>
<OrderId>486454</OrderId>
<CustomerOrderId></CustomerOrderId>
<CustomerId>64154</CustomerId>
<DeliveryNoteId></DeliveryNoteId>
<InvoiceId></InvoiceId>
<ShopId>1</ShopId>
<UserData1></UserData1>
<UserData2></UserData2>
<UserData3></UserData3>
<UserData4></UserData4>
<status>90</status>
<EmployeeId>19</EmployeeId>
<shipping_date>2017-09-05 15:11:18</shipping_date>
<shipping_cost_tax_incl>9.00</shipping_cost_tax_incl>
<parcels>
<parcel>
<parcel_rank>1</parcel_rank>
<DeliveryMethodId>54</DeliveryMethodId>
<ship_number>9V154515540151</ship_number>
<ship_weight>267</ship_weight>
<label_url>http://www.transporteur.com/label_9V154515540151.pdf</label_url>
<customs_url>http://www.transporteur.com/cn23_9V154515540151.pdf</customs_url>
<tracking_url>http://www.transporteur.com/?9V154515540151</tracking_url>
<cost>5.67</cost>
</parcel>
</parcels>
<products>
<product>
<parcel_rank>1</parcel_rank>
<sku>3600551053738</sku>
<quantity>2</quantity>
<unit_price>6.00</unit_price>
<unit_price_tax_excl>5.00</unit_price_tax_excl>
<ean>7183280012876</ean>
<other_sku1>my_ref02</other_sku1>
<foreign_id>48754871</foreign_id>
<lot_ref>1</lot_ref>
<serial_number>1</serial_number>
</product>
</products>
</order>
</order_update>
Champs
Les champs en majuscules/minuscules sont vos données. Nous ne les explicitons pas ci-dessous. Les champs en minuscules sont les données PMS :
Champ | Description |
---|---|
pms_order_id | Id PMS de l'instance de la commande. Attention cet id change à chaque fois que la commande est retransmise. |
status | Statut de la commande dans PMS (voir dictionnaire) |
EmployeeId | Id de l'employé à l'origine du changement de statut, sous réserve d'avoir renseigné les id employés dans les profils utilisateurs de PMS |
shipping_date | Date de fin de préparation |
shipping_cost_tax_incl | Rappel des frais de livraison facturés au client |
Champs <parcel>
Champ | Description |
---|---|
parcel_rank | N° de séquence du colis (1 à N) |
DeliveryMethodId | Votre id de service de transport |
ship_number | Numéro de suivi du colis |
ship_weight | Poids en grammes |
label_url | URL de l'étiquette transporteur au format PDF (si disponible) |
customs_url | URL des documents de douane au format PDF (si disponible) |
tracking_url | URL des documents de douane au format PDF (si disponible) |
cost | Coût du transport HT (si disponible) |
Réponse
Voici les réponses possibles à retourner :
<response>ok</response>
<response>error: message d'erreur</response>
<response>disabled</response>
<response>ignored</response>
Réponse | Description |
---|---|
ok | Succès |
error: texte | Votre message d'erreur pour affichage à l'utilisateur dans PMS. |
disabled | L'application ne traite plus les changements de statut pour ce statut. |
ignored | Notification prise en compte mais n'ayant entrainé aucune action ou modification. |