Recherche de ressources dans lʼAPI Reactor
Le point dʼentrée /search
de lʼAPI Reactor vous permet de créer des requêtes structurées sur des ressources stockées. Ce document fournit des exemples de différentes requêtes de recherche pour différents cas dʼutilisation courants.
Stratégies de requête de base
Les exemples suivants présentent quelques concepts de base sur lʼutilisation de la fonctionnalité de recherche de lʼAPI.
Recherche dans plusieurs champs
Une recherche peut être effectuée dans plusieurs champs à lʼaide de caractères génériques saisis dans le nom du champ. Par exemple, pour effectuer une recherche dans plusieurs champs dʼattribut, utilisez attributes.*
en tant que nom de champ.
{
"data": {
"query": {
"attributes.*": {
"value": "evar7"
}
}
}
}
evar7
sur un champ de nombres entiers échouerait. Lorsque la recherche porte sur plusieurs champs, les exigences relatives au type de requête sont assouplies afin dʼéviter les erreurs, mais peuvent produire des résultats non souhaités.Portée des requêtes à des types de ressources spécifiques
Vous pouvez étendre une recherche à un type de ressource spécifique en indiquant resource_types
dans la requête. Par exemple, pour effectuer une recherche dans data_elements
et rule_components
:
{
"data": {
"from": 0,
"size": 25,
"query": {
"attributes.display_name": {
"value": "Performance"
}
},
"resource_types": [
"data_elements",
"rule_components"
]
}
}
Tri des réponses
La propriété sort
peut être utilisée pour trier les réponses. Par exemple, pour trier par created_at
en commençant par le plus récent :
{
"data": {
"from": 0,
"size": 25,
"query": {
"attributes.display_name": {
"value": "Performance"
}
},
"sort": [
{
"attributes.created_at": "desc"
}
],
"resource_types": [
"data_elements",
"rule_components"
]
}
}
Exemples de recherche courants
Lʼexemple suivant illustre dʼautres modèles de recherche courants.
Toute ressource portant un nom spécifique
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"attributes.name": {
"value": "Adobe"
}
}
}
}'
Toute ressource référençant « evar7 »
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"attributes.*": {
"value": "evar7"
}
}
}
}'
Éléments de données dʼun type délégué « custom-code »
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"attributes.delegate_descriptor_id": {
"value": "custom-code"
}
},
"resource_types": ["data_elements"]
}
}'
Composants de règle faisant référence à un élément de données spécifique
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"attributes.settings": {
"value": "myDataElement8"
}
},
"resource_types": ["rule_components"]
}
}'
Règles dans une propriété spécifique
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"relationships.property.data.id": {
"value": "PR3cab070a9eb3423894e4a3038ef0e7b7"
}
},
"resource_types": ["rules"]
}
}'
Recherche dʼune ressource par son identifiant
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"id": {
"value": "PR3cab070a9eb3423894e4a3038ef0e7b7"
}
}
}
}'
Exécution dʼune recherche à lʼaide dʼune logique traditionnelle « OR »
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"query": {
"attributes.display_name": {
"value": "My Rule Holiday Sale",
"value_operator: "OR"
}
}
}
}'