Utiliser POSTMAN pour mettre à jour les profils vendeurs

Comment mettre à jour l'ordre de priorité d'affichage et l'image de couverture des vendeurs dans le moteur de recherche

 
Nous allons utiliser pour cela une fonctionnalité avancée qui s'appelle les Metafields. Celle-ci n'est disponible qu'à travers l'API. POSTMAN est un logiciel qui va vous permettre de dialoguer avec l'API justement.
 
 
Pour mettre à jour un utilisateur, nous avons déjà besoin de récupérer son identifiant (ou ID). Celui-ci peut-être récupéré directement depuis votre tableau de bord administrateur.
 
C'est la première colonne dans le tableau qui montre tous les résultats, ou c'est l'information à côté du nom de l'utilisateur tout en haut de la page si on a cliqué sur un utilisateur.
 
A noter que vous pouvez également récupérer l'ID de l'utilisateur dans l'URL de la page si vous êtes sur la page d'un utilisateur.
 
Admettons que l'ID de l'utilisateur soit 151155.
 
Vous pouvez lister tous les metafields associés à ce compte en appelant l'URL suivante (attention à avoir bien renseigné vos clés de connexion API de l'étape 1, sinon vous aurez une erreur "Access denied"):
https://www.monsite.fr/api/v1/users/151155/metafields
 
On obtient une réponse en JSON de la forme suivante:
{
"metafields": [
{
"id": 77,
"title": "cover",
"value_type": "string",
"namespace": "algolia",
"owner_id": 151155,
"owner_resource": "user"
},
{
"id": 76,
"title": "ranking",
"value": 250,
"value_type": "integer",
"namespace": "algolia",
"owner_id": 151155,
"owner_resource": "user"
}
]
}
 
 
Tous les utilisateurs n'auront pas forcément de metafields, mais vous pourrez utiliser la même technique pour mettre à jour les metafields existants ou créer des metafields à un utilisateur. 
 
Tout d'abord, dans POSTMAN, à côté de l'URL de votre site, vous voyez écrit "GET". Il s'agit d'un menu déroulant qui propose plusieurs valeurs. "GET" signifie "lecture seule". Comme nous voulons faire une modification cette fois, vous pouvez choisir la valeur "POST".
 
Il faut maintenant indiquer les modifications que nous souhaitons apporter. Vous pouvez alors cliquer sur "Body" juste en dessous de l'URL, puis choisir l'option "raw" qui apparaîtra juste en dessous.
 
Un champ texte apparaîtra. C'est dans celui-ci qu'on indiquera le contenu de notre metafield.
 
Vous pouvez coller le contenu suivant (sans oublier les accolades):
{
"metafield": {
"namespace": "algolia",
"title": "ranking",
"value": 2,
"value_type": "integer"
}
}
 
Nous indiquons ici que nous souhaitons donner la valeur "2" à un utilisateur, ce qui le mettra en fin de liste, juste devant ceux qui auront la valeur 1 ou 0.
 
Pour modifier la cover, vous pouvez coller le code suivant:
{
"metafield": {
"namespace": "algolia",
"title": "cover",
"value": URL de l'image
"value_type": "string"
}
}

Vous ne pouvez pas modifier deux metafields en même temps. Vous devrez donc faire deux requêtes distinctes pour mettre à jour d'abord le ranking, puis la cover.
 
Vous pouvez vérifier que les metafields ont été correctement enregistrés pour l'utilisateur en rappelant l'URL avec l'ID de l'utilisateur en "GET".
 
Attention, lorsque vous aurez fait la modification, celle-ci ne se verra pas automatiquement dans les résultats de recherche. Il sera en effet nécessaire de réindexer l'utilisateur dans Algolia (la mise à jour d'un metafield ne déclenche pas le webhook user.update). Le plus simple est d'aller sur la page de l'utilisateur dans l'admin, et cliquer sur "Enregistrer". Cela déclenche l'événement user.update, qui met à jour l'utilisateur dans Algolia (attendre environ 2 min).