Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
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.
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/restExemple 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 |