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.

REMARQUE

Avant de parcourir ce guide, reportez-vous au guide du point dʼentrée de recherche afin dʼobtenir plus dʼinformations sur la syntaxe de requête acceptée et dʼautres instructions dʼutilisation.

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"
      }
    }
  }
}
IMPORTANT

Normalement, les valeurs de recherche doivent correspondre au type de données recherchées. Par exemple, une valeur de requête 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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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: {IMS_ORG}' \
  -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"
            }
          }
        }
      }'

Sur cette page