Les sections suivantes décrivent les différents appels d’API que vous pouvez effectuer à l’aide du Query Service API. Chaque appel inclut le format général d’API, un exemple de requête présentant les en-têtes requis et un exemple de réponse.
Voir Documentation sur les modèles de requête d’interface utilisateur pour plus d’informations sur la création de modèles via l’interface utilisateur de l’Experience Platform.
Vous pouvez récupérer une liste de tous les modèles de requête pour votre organisation en adressant une requête de GET à la fonction /query-templates
point de terminaison .
Format d’API
GET /query-templates
GET /query-templates?{QUERY_PARAMETERS}
Propriété | Description |
---|---|
{QUERY_PARAMETERS} |
(Facultatif) Les paramètres ajoutés au chemin de requête configurant les résultats renvoyés dans la réponse. Plusieurs paramètres peuvent être inclus et séparés par des esperluettes (& ). Les paramètres disponibles sont répertoriés ci-dessous. |
Paramètres de requête
Vous trouverez ci-dessous une liste des paramètres de requête disponibles pour répertorier les modèles de requête. Tous ces paramètres sont facultatifs. Un appel à ce point d’entrée sans paramètre permet de récupérer tous les modèles de requête disponibles pour votre organisation.
Paramètre | Description |
---|---|
orderby |
Spécifie le champ de référence pour le tri des résultats. Les champs created et updated sont pris en charge. Par exemple, orderby=created triera les résultats par ordre croissant de création. L’ajout d’un - devant created (orderby=-created ) triera les éléments par ordre décroissant de création. |
limit |
Indique la limite de taille de page pour contrôler le nombre de résultats inclus dans une page. (Valeur par défaut : 20) |
start |
Décale la liste de réponses à l’aide d’une numérotation à partir de zéro. Par exemple, start=2 renvoie une liste commençant par la troisième requête répertoriée. (Valeur par défaut : 0) |
property |
Filtrez les résultats en fonction des champs. Les filtres doivent être précédés d’une séquence d’échappement HTML. Des virgules sont utilisées pour combiner plusieurs ensembles de filtres. Les champs name et userId sont pris en charge. Le seul opérateur pris en charge est == (égal à). Par exemple, name==my_template renvoie tous les modèles de requête portant le nom my_template . |
Requête
La requête suivante récupère le dernier modèle de requête créé pour votre organisation
curl -X GET https://platform.adobe.io/data/foundation/query/query-templates?limit=1
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 200 avec une liste de modèles de requête pour l’organisation spécifiée. La réponse suivante renvoie le dernier modèle de requête créé pour votre organisation
{
"templates": [
{
"sql": "SELECT *\nFROM\n accounts\nLIMIT 10\n",
"name": "Test",
"id": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
"updated": "2019-11-21T21:50:01.469Z",
"userId": "{USER_ID}",
"created": "2019-11-21T21:50:01.469Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
"method": "DELETE"
},
"update": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
"method": "PUT",
"body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
}
}
}
],
"_page": {
"orderby": "-created",
"start": "2019-11-21T21:50:01.469Z",
"next": "2019-11-21T21:50:01.469Z",
"count": 1
},
"_links": {
"next": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z"
},
"prev": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z&isPrevLink=true"
}
},
"version": 1
}
Vous pouvez utiliser la valeur de _links.delete
pour supprimer votre modèle de requête.
Vous pouvez créer un modèle de requête en effectuant une requête POST sur le point d’entrée /query-templates
.
Format d’API
POST /query-templates
Requête
curl -X POST https://platform.adobe.io/data/foundation/query/query-templates
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
"name": "Sample query template",
"queryParameters": {
user_id : {USER_ID}
}
}'
Propriété | Description |
---|---|
sql |
La requête SQL que vous souhaitez créer. Vous pouvez utiliser SQL standard ou un remplacement de paramètre. Pour utiliser un remplacement de paramètre dans le SQL, vous devez ajouter en préfixe la clé de paramètre avec une $ . Par exemple : $key et indiquez les paramètres utilisés dans le SQL en tant que paires clé-valeur JSON dans la variable queryParameters champ . Les valeurs transmises ici seront les paramètres par défaut utilisés dans le modèle. Si vous souhaitez remplacer ces paramètres, vous devez les remplacer dans la requête du POST. |
name |
Le nom du modèle de requête. |
queryParameters |
Une valeur key appariant pour remplacer toute valeur paramétrée dans l’instruction SQL. Elle n’est requise que if vous utilisez des remplacements de paramètres dans le SQL que vous fournissez. Aucune vérification du type de valeur ne sera effectuée sur ces paires clé-valeur. |
Réponse
Une réponse réussie renvoie un état HTTP 202 (Accepted) avec les détails du modèle de requête que vous venez de créer.
{
"sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
"name": "Sample query template",
"id": "0094d000-9062-4e6a-8fdb-05606805f08f",
"updated": "2020-01-09T00:20:09.670Z",
"userId": "{USER_ID}",
"created": "2020-01-09T00:20:09.670Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "DELETE"
},
"update": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "PUT",
"body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
}
}
}
Vous pouvez utiliser la valeur de _links.delete
pour supprimer votre modèle de requête.
Vous pouvez récupérer un modèle de requête spécifique en effectuant une requête GET sur le point d’entrée /query-templates/{TEMPLATE_ID}
et en fournissant l’identifiant du modèle de requête du chemin de requête.
Format d’API
GET /query-templates/{TEMPLATE_ID}
Propriété | Description |
---|---|
{TEMPLATE_ID} |
La valeur id du modèle de requête que vous souhaitez récupérer. |
Requête
curl -X GET https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 200 avec les détails de votre modèle de requête spécifié.
{
"sql": "SELECT * FROM accounts;",
"name": "Sample query template",
"id": "0094d000-9062-4e6a-8fdb-05606805f08f",
"updated": "2020-01-09T00:20:09.670Z",
"userId": "A5A562D15E1645480A495CE1@techacct.adobe.com",
"created": "2020-01-09T00:20:09.670Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "DELETE"
},
"update": {
"href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "PUT",
"body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
}
}
}
Vous pouvez utiliser la valeur de _links.delete
pour supprimer votre modèle de requête.
Vous pouvez mettre à jour un modèle de requête spécifique en effectuant une requête PUT sur le point d’entrée /query-templates/{TEMPLATE_ID}
et en fournissant l’identifiant du modèle de requête du chemin de requête.
Format d’API
PUT /query-templates/{TEMPLATE_ID}
Propriété | Description |
---|---|
{TEMPLATE_ID} |
La valeur id du modèle de requête que vous souhaitez récupérer. |
Requête
La requête PUT exige que les champs sql et de nom soient remplis, et remplace le contenu actuel de ce modèle de requête.
curl -X PUT https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
"name": "Sample query template",
"queryParameters": {
user_id : {USER_ID}
}
}'
Propriété | Description |
---|---|
sql |
La requête SQL que vous souhaitez créer. Vous pouvez utiliser SQL standard ou un remplacement de paramètre. Pour utiliser un remplacement de paramètre dans le SQL, vous devez ajouter en préfixe la clé de paramètre avec une $ . Par exemple : $key et indiquez les paramètres utilisés dans le SQL en tant que paires clé-valeur JSON dans la variable queryParameters champ . Les valeurs transmises ici seront les paramètres par défaut utilisés dans le modèle. Si vous souhaitez remplacer ces paramètres, vous devez les remplacer dans la requête du POST. |
name |
Le nom du modèle de requête. |
queryParameters |
Une valeur key appariant pour remplacer toute valeur paramétrée dans l’instruction SQL. Elle n’est requise que if vous utilisez des remplacements de paramètres dans le SQL que vous fournissez. Aucune vérification du type de valeur ne sera effectuée sur ces paires clé-valeur. |
Réponse
Une réponse réussie renvoie un état HTTP 202 (Accepted) avec les informations mises à jour pour votre modèle de requête spécifié.
{
"sql": "SELECT * FROM accounts LIMIT 20;",
"name": "Sample query template",
"id": "0094d000-9062-4e6a-8fdb-05606805f08f",
"updated": "2020-01-09T00:29:20.028Z",
"lastUpdatedBy": "{USER_ID}",
"userId": "{USER_ID}",
"created": "2020-01-09T00:20:09.670Z",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "DELETE"
},
"update": {
"href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
"method": "PUT",
"body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
}
}
}
Vous pouvez utiliser la valeur de _links.delete
pour supprimer votre modèle de requête.
Vous pouvez supprimer un modèle de requête spécifique en effectuant une requête DELETE sur le /query-templates/{TEMPLATE_ID}
et en fournissant l’identifiant du modèle de requête du chemin de requête.
Format d’API
DELETE /query-templates/{TEMPLATE_ID}
Propriété | Description |
---|---|
{TEMPLATE_ID} |
La valeur id du modèle de requête que vous souhaitez récupérer. |
Requête
curl -X DELETE https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 202 (Accepted) avec le message suivant.
{
"message": "Deleted",
"statusCode": 202
}