Partager via


Service de ligne de commande

Vue d’ensemble

L’API et les services Yield Analytics sont exposés via une interface REST. Il est destiné à faciliter le développement de fonctionnalités personnalisées aux développeurs expérimentés avec les plateformes de développement web 2.0, AJAX, REST et orientées service. Les développeurs doivent être familiarisés avec les paradigmes d’application web, notamment AJAX, XML, JSON et le protocole HTTP(S) avant de tenter de développer avec l’API et les services Yield Analytics.

Le service Order expose actuellement les interfaces liées à :

  • Remise, capacité et contention des éléments de ligne

Types de contenu

L’API REST de service est actuellement conçue pour prendre en charge le type de contenu suivant :

  • JSON - utilisation de Content-type: application/json

La sélection du type de contenu souhaité est un choix que le développeur d’API doit faire au cas par cas. La fonctionnalité d’API est symétrique entre les types de contenu. Les développeurs d’API peuvent spécifier le type de contenu souhaité dans les paramètres de la méthode HTTP GET ou POST ou via leur bibliothèque de client AJAX ou HTTP.

Vérification des erreurs et codes status

Les développeurs d’API doivent case activée les codes de réponse HTTP retournés par l’API REST du service pour détecter les erreurs propagées à partir des appels d’API. Les appels réussis au service entraînent l’utilisation de 200 codes de réponse de plage. Les réponses HTTP de plage 400 et 500 indiquent des erreurs. Les codes de réponse et le texte spécifiques seront probablement modifiés pendant le développement BÊTA de l’API, mais pas les plages.

Sécurité

L’API de service expose les données d’application de manière sécurisée. L’utilisation des fonctionnalités d’API est limitée aux utilisateurs authentifiés et est exposée via des protocoles de transport sécurisés. L’accès à l’API doit avoir lieu dans le contexte suivant :

  • Exemple d’authentification cURL

    L’authentification se produit en transmettant des informations d’identification via des en-têtes HTTP sur chaque requête.

    - username: curl -H "username:username"
    - password: curl -H "password:password"
    - source: curl -H "source:client_id"        
    
  • Exemple d’authentification HTTPS

    GET /api/v1/rest/
    HTTPS/1.1
    Host: yieldanalytics.xandr.com
    Accept: application/xml, application/json
    Content-Type: application/json
    username: {{username}}
    password: {{password}}
    source: {{client_id}}
    
  • Exemple d’authentification POSTMAN

    Recherchez un exemple de paramètres d’en-tête dans Postman ci-dessous :

    Remarque

    • 'Authorization' est défini sur « No Auth » ; Les paramètres ci-dessous doivent être placés sous l’onglet « En-têtes ».
    • Pour obtenir un didacticiel plus approfondi sur l’utilisation de Postman, consultez Utilisation de Postman avec l’API Yield Analytics.

    Capture d’écran de l’onglet En-têtes avec des clés et des valeurs standard dans Postman.

Confidentialité

La confidentialité est maintenue à l’aide de la communication basée sur la couche de sockets sécurisés pour interagir avec l’API Yield Analytics. Les développeurs d’API doivent préférer l’utilisation du protocole HTTPS à la communication http non sécurisée dans la mesure du possible. Consultez votre bibliothèque cliente HTTP pour savoir comment activer HTTP sur SSL lors du développement en dehors d’un contexte de navigateur web.

Paths

Supprimer les lignes de commande par ID externes

DELETE /api/v1/rest/orderLine/delete/{sourceSystem}/{externalOrderLineIds}
  • Description

    Supprimez (Annuler) orderLine dans par système source et les ID orderLine externes séparés par des virgules.

  • Paramètres

    Type Nom Description Obligatoire Schéma
    PathParameter sourceSystem sourceSystem true string
    PathParameter externalOrderLineIds externalOrderLineIds true string
    HeaderParameter username Votre nom d’utilisateur pour accéder à l’API Yield Analytics true string
    HeaderParameter mot de passe Votre mot de passe pour accéder à l’API Yield Analytics true string
    HeaderParameter source Votre source cliente pour accéder à l’API Yield Analytics true string
  • Réponses

    HTTP Code Description Schéma
    200 OK StringResponse
  • Consomme

    • application/xml
    • application/json
  • Produit

    • application/xml
    • application/json
  • Tags

    Ressource OrderLine

  • Exemple de demande cURL

    $ curl 'https://{{client_url}}/api/v1/rest/v1/rest/orderLine/delete/XFP/1,2' -i -X 
    DELETE -H 'Content-Type: application/json;charset=UTF-8'
    
  • Exemple de requête HTTP

    DELETE /api/v1/rest/orderLine/delete/XFP/1,2 HTTP/1.1
    Content-Type: application/json;charset=UTF-8
    Host: https://{{client_url}}/api/v1/rest
    
  • Exemple de réponse HTTP

    HTTP/1.1 200 OK
    Content-Type: application/json;charset=UTF-8
    Content-Length: 35
    
    {
      "result" : "Deleted/Canceled"
    }
    

Obtenir l’inventaire et la contention de ligne de commande par lot d’ID externe

POST /api/v1/rest/orderLine/inventoryandcontention/batch/{aliasFunctions}/{consumptionFilter}
  • Description

    Utilisez les processus de traitement par lots pour récupérer l’inventaire et la contention d’une ligne de commande en référençant l’ID externe de la ligne de commande.

  • Paramètres

    Type Nom Description Obligatoire Schéma
    BodyParameter batchOrderLineContentionQuery batchOrderLineContentionQuery false BatchOrderLineContentionQuery
    PathParameter aliasFunctions aliasFunctions true string
    PathParameter aliasFunctionsVars aliasFunctionsVars false objet
    PathParameter consumptionFilter consumptionFilter true string
    PathParameter consumptionFilterVars consumptionFilterVars false objet
    HeaderParameter username Votre nom d’utilisateur pour accéder à l’API Yield Analytics true string
    HeaderParameter mot de passe Votre mot de passe pour accéder à l’API Yield Analytics true string
    HeaderParameter source Votre source cliente pour accéder à l’API Yield Analytics true string
  • Réponses

    HTTP Code Description Schéma
    200 OK Objet
  • Consomme

    • application/xml
    • application/json
  • Produit

    • application/xml
    • application/json
  • Tags

    Ressource OrderLine

  • Exemple de demande cURL

    $ curl 'https://{{client_url}}/api/v1/rest/v1/rest/orderLine/inventoryandcontention/batch/aliasFunctions;
    INVENTORY_CLASS=GUARANTEED;CONSUMPTION_TYPE=DIRECT;CONSUMPTION_TYPE=CONTAINED/consumptionFilter;
    INVENTORY_CLASS=GUARANTEED;CONSUMPTION_TYPE=DIRECT;CONSUMPTION_TYPE=CONTAINED' -i -X POST -H 
    'Content-Type: application/json;charset=UTF-8' -d '{
      "batchOrderLineContentionQuery" : {
        "queryCriteria" : [ {
          "orderLineId" : "16471611",
          "startDate" : "2017-07-01",
          "endDate" : "2017-07-30"
        }, {
          "orderLineId" : "16471610",
          "startDate" : "2017-07-01",
          "endDate" : "2017-07-30"
        } ]
      }
    }'
    
  • Exemple de requête HTTP

    POST /api/v1/rest/orderLine/inventoryandcontention/batch/aliasFunctions;
    INVENTORY_CLASS=GUARANTEED;CONSUMPTION_TYPE=DIRECT;CONSUMPTION_TYPE=CONTAINED/consumptionFilter;
    INVENTORY_CLASS=GUARANTEED;CONSUMPTION_TYPE=DIRECT;CONSUMPTION_TYPE=CONTAINED HTTP/1.1
    Content-Type: application/json;charset=UTF-8
    Host: https://{{client_url}}/api/v1/rest
    Content-Length: 286
    
    {
      "batchOrderLineContentionQuery" : {
        "queryCriteria" : [ {
          "orderLineId" : "16471611",
          "startDate" : "2017-07-01",
          "endDate" : "2017-07-30"
        }, {
          "orderLineId" : "16471610",
          "startDate" : "2017-07-01",
          "endDate" : "2017-07-30"
        } ]
      }
    }
    
  • Exemple de réponse HTTP

    HTTP/1.1 200 OK
    Content-Type: application/json;charset=UTF-8
    Content-Length: 1652
    
    {
      "inventoryAndContentionBatchResponse" : {
        "batchResults" : [ {
          "identifier" : "sample identifier",
          "result" : {
            "productDetail" : {
              "active" : true,
              "reporting" : true,
              "sold" : false,
              "productExpression" : "size in ('300x250') and state in ('co')",
              "safeProductExpression" : "size in ('300x250') and state in ('co')",
              "productName" : "API Example Product Name",
              "productClass" : "REPORTING",
              "isReporting" : true,
              "isSold" : false,
              "rateCardCPM" : 0.0,
              "rateCardFloor" : 1.1,
              "exists" : true,
              "isActive" : true,
              "productId" : 12345,
              "externalId" : "54321",
              "state" : "ACTIVE",
              "resolved" : false,
              "targetExists" : false,
              "priority" : 8,
              "rateCardProductId" : 1,
              "baseRateCardPrice" : 12.0
            },
            "summaryData" : {
              "startDate" : "2020-03-19",
              "endDate" : "2020-06-19",
              "capacity" : 100,
              "available" : 100,
              "unmetDemand" : 100,
              "consumptionDetails" : [ {
                "detailName" : "sample name",
                "consumedImpressions" : 1
              } ],
              "exceededForecastWindow" : true,
              "evenAvailability" : false,
              "daysInForecast" : 0,
              "daysOutsideAvailabilityThreshold" : 0
            },
            "contendingData" : {
              "row" : [ {
                "columnData" : [ {
                  "name" : "sample name",
                  "value" : "sample value"
                } ]
              } ]
            }
          }
        } ]
      }
    }
    

Récupérer les détails d’inventaire d’une ligne de commande par ID de ligne de commande externe

GET /api/v1/rest/orderLine/inventoryandcontention/{externalOrderLineId}/{startDate}/{endDate}
  • Description

    Récupérer les détails d’inventaire d’une ligne de commande par ID de ligne de commande externe.

  • Paramètres

    Type Nom Description Obligatoire Schéma
    PathParameter externalOrderLineId externalOrderLineId true string
    PathParameter startDate startDate true string
    PathParameter endDate endDate true string
    HeaderParameter username Votre nom d’utilisateur pour accéder à l’API Yield Analytics true string
    HeaderParameter mot de passe Votre mot de passe pour accéder à l’API Yield Analytics true string
    HeaderParameter source Votre source cliente pour accéder à l’API Yield Analytics true string
  • Réponses

    HTTP Code Description Schéma
    200 OK Objet
  • Consomme

    application/json

  • Produit

    /

  • Tags

    Ressource OrderLine

Récupérer les détails d’inventaire d’une ligne de commande par ID de ligne de commande externe avec des fonctions d’alias et des filtres de consommation

GET /api/v1/rest/orderLine/inventoryandcontention/{externalOrderLineId}/{startDate}/{endDate}/{aliasFunctions}/{consumptionFilter}
  • Description

    Récupérez les détails d’inventaire d’une ligne de commande par ID de ligne de commande externe avec fonctions d’alias et filtres de consommation.

  • Paramètres

    Type Nom Description Obligatoire Schéma
    PathParameter externalOrderLineId externalOrderLineId true string
    PathParameter startDate startDate true string
    PathParameter endDate endDate true string
    PathParameter aliasFunctions aliasFunctions true string
    PathParameter aliasFunctionsVars aliasFunctionsVars false objet
    PathParameter consumptionFilter consumptionFilter true string
    PathParameter matrixVars matrixVars false objet
    HeaderParameter username Votre nom d’utilisateur pour accéder à l’API Yield Analytics true string
    HeaderParameter mot de passe Votre mot de passe pour accéder à l’API Yield Analytics true string
    HeaderParameter source Votre source cliente pour accéder à l’API Yield Analytics true string
  • Réponses

    HTTP Code Description Schéma
    200 OK Objet
  • Consomme

    application/json

  • Produit

    /

  • Tags

    Ressource OrderLine

Définitions

BatchOrderLineContentionQuery

Nom Description Obligatoire Schéma
batchOrderLineContentionQuery false BatchOrderLineContentionQuery
queryCriteria Collection de critères de requête de contention de ligne de commande true Tableau OrderLineContentionQuery

ColumnData

Objet JSON pour contenir les résultats d’une colonne de données.

Nom Description Obligatoire Schéma
nom Nom des données de colonne true string
valeur Objet valeur des données de colonne true string

ConsumptionDetail

Objet JSON pour contenir les résultats d’un détail de consommation.

Nom Description Obligatoire Schéma
consumeImpressions Le champ contient des impressions consommées true integer (int64)
detailName Nom du détail de la consommation true string

InventoryAndContention

Objet JSON pour contenir les résultats d’un inventaire et d’une contention.

Nom Description Obligatoire Schéma
contendingData Données de résultat de la requête en conflit de l’inventaire et de la contention true QueryResultData
productDetail Détails du produit de l’inventaire et de la contention true ProductDetail
summaryData Données récapitulatives de l’inventaire et de la contention true InventoryData

InventoryAndContentionBatchResponse

Objet JSON pour contenir les résultats d’une réponse de lot d’inventaire et de contention.

Nom Description Obligatoire Schéma
batchResults Collection de résultats de lot d’inventaire et de contention true Tableau InventoryAndContentionBatchResult

InventoryAndContentionBatchResult

Objet JSON pour contenir les résultats d’un résultat de lot d’inventaire et de contention.

Nom Description Obligatoire Schéma
identifiant Identificateur du résultat du lot d’inventaire et de contention true string
result Résultat du lot d’inventaire et de contention true InventoryAndContention

InventoryData

Objet JSON pour contenir les résultats d’une donnée d’inventaire.

Nom Description Obligatoire Schéma
disponible Le champ contient disponible true integer (int64)
Capacité Le champ contient de la capacité true integer (int64)
consumptionDetails Collection de détails de consommation false Tableau ConsumptionDetail
daysInForecast Jours dans la prévision des données d’inventaire true integer (int32)
daysOutsideAvailabilityThreshold Jours en dehors du seuil de disponibilité des données d’inventaire true integer (int32)
endDate Date de fin des données d’inventaire true string
evenAvailability La disponibilité égale des données d’inventaire true valeur booléenne
exceededForecastWindow Le champ indique si les données d’inventaire ont dépassé ou non la fenêtre de prévision true valeur booléenne
startDate Date de début des données d’inventaire true string
unmetDemand Le champ contient une demande non remplie true integer (int64)

OrderLineContentionQuery

Objet JSON pour contenir les résultats d’une réponse d’importation de commande.

Nom Description Obligatoire Schéma
endDate Date de fin de la requête de contention de ligne de commande true string
orderLineId ID de ligne de commande de la requête de contention de ligne de commande true string
startDate Date de début de la requête de contention de ligne de commande true string

ProductDetail

Objet JSON pour contenir les résultats d’une recherche de produit.

Nom Description Obligatoire Schéma
Active false valeur booléenne
baseRateCardPrice Taux de base carte prix du produit false nombre (double)
Existe Champ booléen exists du détail du produit true valeur booléenne
externalId ID de produit externe du détail du produit false chaîne
isActive Le champ booléen est actif du détail du produit true valeur booléenne
isReporting Le champ booléen signale les détails du produit true valeur booléenne
isSold Le champ booléen est vendu du détail du produit true valeur booléenne
priorité Priorité du détail du produit false integer (int32)
productClass Classe de produit du détail du produit true chaîne
productExpression Expression de produit du détail du produit true string
Productid ID de produit du détail du produit false integer (int64)
productName Nom du produit du détail du produit true chaîne
rateCardCPM Le taux carte cpm du détail du produit true nombre (double)
rateCardFloor Taux carte plancher du détail du produit true nombre (double)
rateCardProductId Taux carte ID de produit du détail du produit false integer (int64)
Rapports false valeur booléenne
résolu Champ booléen résolu du détail du produit true valeur booléenne
safeProductExpression Expression de produit sûr du détail du produit true string
Vendu false valeur booléenne
state État du détail du produit true string
targetExists Le champ booléen cible existe du détail du produit true valeur booléenne

QueryResultData

Objet JSON pour contenir les résultats d’une requête.

Nom Description Obligatoire Schéma
row Collection de données de ligne false Tableau RowData

RowData

Objet JSON pour contenir les résultats des données d’une ligne.

Nom Description Obligatoire Schéma
columnData Collection de données de colonne true Tableau ColumnData

StringResponse

Objet JSON pour contenir les résultats de chaîne des requêtes API.

Nom Description Obligatoire Schéma
result Résultat de l’opération true string

Yield Analytics API