API Spendint : POST /sn_spend_intg/spendint/shipment
Utilisez ce point de terminaison pour accepter les mises à jour sur les achats auprès de tiers.
Tables d’état
Pour connaître l’état de la demande d’expédition, effectuez un appel REST dans la base de données à l’aide ServiceNow de l’API REST de table. La réponse de l’API répertorie les enregistrements dans lesquels la mise à jour de l’expédition a échoué. Pour obtenir une réponse à l’expédition, interrogez la table Erreur d’expédition avec le paramètre suivant :
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Les détails sur l’ID client, l’ID du fournisseur, le type d’erreur, l’ID unique de l’ensemble de données à importer et l’état se trouvent dans la table État sortant, qui est la table d’erreurs parente.
Format d’URL
/api/sn_spend_intg/spendint/shipment
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucune |
| Nom | Description |
|---|---|
| Mode | Prise en charge des modes asynchrone et synchrone pour l’intégration tierce. Type de données : chaîne Valeurs valides :
Valeur par défaut : asynchrone |
| Nom | Description |
|---|---|
| customer_id | Identificateur du client. Type de données : chaîne Longueur maximale : 100 |
| order_number | Requis. Numéro de bon de commande fourni par le client pour cette commande. Type de données : chaîne Longueur maximale : 40 |
| sales_order_number | Requis. Nombre ou valeur générée par le fournisseur pour cette commande. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines | Liste des lignes d’expédition qui peuvent contenir les détails du numéro de série, du numéro IMEI et de la balise d’actif des actifs. Type de données : tableau |
| shipment_lines.date_envoi_réelle | Date à laquelle l’expédition quitte l’emplacement du fournisseur. Type de données : chaîne Longueur maximale : 40 Format : JJ-MM-AAAA |
| shipment_lines.date_arrivée_estimée | Date à laquelle l’expédition devrait arriver à l’emplacement spécifié. Type de données : chaîne Longueur maximale : 40 Format : JJ-MM-AAAA |
| shipment_lines.numéro_ligne | Requis. Numéro de la ligne de bon de commande généré par le client pour un achat particulier. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines. date_expédition_planifiée | Date à laquelle l’expédition devrait quitter l’emplacement du fournisseur. Type de données : chaîne Longueur maximale : 40 Format : JJ-MM-AAAA |
| shipment_lines. détails_du_produit | Liste des objets qui définissent les détails sur les produits expédiés. Les options incluent le numéro de série, le numéro IMEI et les détails de la balise d’actif. Type de données : tableau |
| shipment_lines.product_details.asset_tag | Balise d’actif du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.product_details.imei | Numéro IMEI du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.product_details.serial_number | Requis. Numéro de série du produit expédié. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.numéro_ligne_commande_ventes | Numéro de ligne de commande client généré par le fournisseur. Ce numéro est requis uniquement pour les révisions de cet achat. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines. adresse_livraison | Adresse à laquelle les produits sont expédiés. Type de données : objet |
| shipment_lines.shipping_address.city | Nom de la ville où les produits sont expédiés. Type de données : chaîne Longueur maximale : 1000 |
| shipment_lines.shipping_address.country | Pays vers lequel les produits sont expédiés. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.shipping_address.name | Nom du client auquel les produits sont expédiés. Type de données : chaîne Longueur maximale : 1000 |
| shipment_lines.adresse_livraison.état | État d’origine de l’expédition des produits. Type de données : chaîne Longueur maximale : 1000 |
| shipment_lines.adresse_livraison.rue | Nom de la rue vers laquelle les produits sont expédiés. Type de données : chaîne Longueur maximale : 1000 |
| shipment_lines.shipping_address.zip_code | Code postal ou code PIN vers lequel les produits sont expédiés. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines. quantité_expédition | Requis. Nombre de produits expédiés en tant que biens physiques. Le nombre doit contenir la quantité de produits qui se trouvent dans l’envoi. Type de données : chaîne Longueur maximale : 40 |
| shipment_lines.transporteur_d’expédition | Transporteur qui livre le produit à l’emplacement spécifié, tel que FedEx, UPS, USPS, etc. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.ship_to | Nom du destinataire vers lequel les produits sont expédiés. Type de données : chaîne Longueur maximale : 100 |
| shipment_lines.numéro_suivi | Numéro de suivi fourni par le transporteur pour tout ou partie de l’achat. Type de données : chaîne Longueur maximale : 100 |
| supplier_id | Requis. Identificateur du revendeur ou du fournisseur auprès duquel le client peut passer des commandes. Type de données : chaîne Longueur maximale : 100 |
| supplier_shipment_number | Requis. Numéro d’identification généré pour cet envoi. En règle générale, ce numéro est généré par un progiciel de gestion intégré (ERP) ou un système de suivi des commandes. Type de données : chaîne Longueur maximale : 100 |
| third_party_import_id | Identificateur qui permet à un tiers de transmettre une valeur de chaîne pour identifier de manière unique un ensemble de données importées. Type de données : chaîne Longueur maximale : 100 |
En-têtes
Les en-têtes de demande et de réponse suivants s’appliquent uniquement à cette action HTTP ou s’appliquent à cette action d’une manière distincte.
| En-tête | Description |
|---|---|
| Accepter | Format des données du corps de la réponse. Types pris en charge : application/json ou application/xml. Par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucune |
Codes d'état
Les codes d’état suivants s’appliquent à cette action HTTP.
| Code d'état | Description |
|---|---|
| réussite | Réussi. La demande a été traitée avec succès. |
| échec | En échec. La demande a été traitée avec des erreurs. |
Paramètres du corps de réponse (JSON)
Ces paramètres de corps de réponse sont reçus lorsqu’ils sont interrogés en mode synchrone.| Nom | Description |
|---|---|
| error_response_body | Description des erreurs, répertoriées par numéro de ligne de commande, numéro de commande client, numéro d’expédition du fournisseur et message d’erreur. Type de données : tableau |
| error_response_body.message_erreur | Message d’erreur détaillé. Type de données : chaîne |
| status_code | État de la réponse tel que « réussite » ou « échec ». Type de données : chaîne |
Demande cURL
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/shipment" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id" : "ACME CORP",
"supplier_id" : "SUP-123456",
"third_party_import_id": "DEL2134324",
"supplier_shipment_number" : "TN-YU67898723",
"order_number": "PO0001002",
"sales_order_number": "SO00223002",
"shipment_lines": [
{
"line_number": "POL0001005",
"sales_order_line_number": "SOL0231325",
"shipment_quantity": "4",
"shipping_carrier": "FedEx",
"tracking_number": "E-901290092",
"shipping_address":
{
"name" : "1640 Camino Del Rio North #202, San Diego,CA",
"street" : "1640 Camino Del Rio North",
"city" : "San Diego",
"state" : "CA",
"zip_code" : "92108-1512",
"country" : "US"
},
"ship_to": "John doe",
"planned_shipment_date": "YYYY-MM-DD",
"actual_shipment_date": "YYYY-MM-DD",
"estimated_arrival_date": "YYYY-MM-DD",
"product_details": [
{
"serial_number": "FL1234-23242319001",
"imei": "2134890294",
"asset_tag": ""
},{
"serial_number": "FL1234-23242319110",
"imei": "245499003",
"asset_tag": ""
}
]
}
]
}
]}
Réponses possibles :
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL2134324",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL0231325",
"sales_order_number": "SO00223002",
"supplier_shipment_number": "TN-YU67898723",
"error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
}
]
}
]
}
}