API Spendint - POST/sn_spend_intg/spendint/availability
Met à jour la disponibilité des enregistrements de produits du fournisseur.
Lorsque des enregistrements de produits du fournisseur sont disponibles, l'API utilise la UGS des produits pour rechercher un produit du fournisseur existant. Si un produit du fournisseur correspondant existe, le champ available_units correspondant est mis à jour. Si la recherche de produit du fournisseur correspondant échoue, un message d'erreur est généré et indique que le produit pour lequel vous essayez de mettre à jour la disponibilité n'existe pas.
Tables d'états
Pour connaître l'état de la demande de mise à jour de disponibilité, effectuez un appel REST dans la base de données ServiceNow à l'aide de l'API REST Table. La réponse de l'API répertorie les enregistrements dans lesquels la demande de disponibilité pour la mise à jour a échoué. Pour obtenir la réponse de mise à jour de disponibilité, interrogez la table d'erreurs de disponibilité à l'aide du paramètre suivant :
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Les informations sur l'ID client, l'ID du fournisseur, le type d'erreur, l'ID de jeu d'importation unique 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/availability
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| mode | Prise en charge des modes asynchrones et synchrones pour les intégrations tierces. Type de données : chaîne Valeurs valides :
Valeur par défaut : async |
| Nom | Description |
|---|---|
| catalog_id | Requis. Identificateur du contenu de catalogue qu'un client peut acheter. Type de données : chaîne Longueur maximale : 100 |
| customer_id | Requis. Identificateur du client. Type de données : chaîne Longueur maximale : 100 |
| products | Liste d'objets qui définissent les produits à mettre à jour. Chaque transaction a une limite de 1 000 produits. Type de données : tableau |
| products.available_units | Requis pour les produits conservés en stock. Nombre d'unités disponibles pour ce produit. Type de données : chaîne Longueur maximale : 40 |
| products.sku | Requis. Nombre généré par un fournisseur qui identifie de manière unique un produit qu'il vend. Type de données : chaîne Longueur maximale : 100 |
| products.unit | Requis. Unité ou taux appliqué à ce produit lors de sa vente par le fournisseur. Par exemple, éléments, heures, etc. Type de données : chaîne Longueur maximale : 100 |
| supplier_id | Identificateur du revendeur ou du fournisseur auprès duquel le client peut passer des commandes. Type de données : chaîne Longueur maximale : 100 |
| third_party_import_id | 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 à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
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é correctement traitée. |
| échec | En échec. La demande présente des erreurs de traitement. |
Paramètres de corps de réponse (JSON)
Les paramètres de corps de réponse suivants sont reçus lors d'une interrogation en mode synchrone.| Nom | Description |
|---|---|
| error_response_body | Description des erreurs, répertoriées par référence UGS et message d'erreur. Type de données : tableau |
| error_response_body.error_message | 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.servicenow.com/api/sn_spend_intg/spendint/availability" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"products": [
{
"sku": "5578874",
"unit": "Each",
"available_units": "20"
}
]
}
]}
Réponses possibles :
// Success response:
{
"result": {
"response": "success"
}
}
Error response:
{
"result": {
"response": [
{
"customer_id": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"status_code": "failure",
"error_response_body": [
{
"sku": "5578874",
"error_message": "The product for which you are trying to update availability does not exist\nField Value empty/Formatting issue Unit\n"
}
]
}
]
}
}