API Spendint - POST/sn_spend_intg/spendint/availability

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • 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

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 2. Paramètres de requête
    Nom Description
    mode Prise en charge des modes asynchrones et synchrones pour les intégrations tierces.

    Type de données : chaîne

    Valeurs valides :
    • async : mode asynchrone
    • sync : mode synchrone

    Valeur par défaut : async

    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    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": "String",
        "sku": "String",
        "unit": "String"
      }
    ]
    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.

    Tableau 4. En-têtes de demandes
    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

    Remarque :
    Seul le format de données application/json est pris en charge pour Procurement Integration Framework.
    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP.

    Tableau 6. Codes d'état
    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"
                        }
                    ]
                }
            ]
        }
    }