Skip to main content
L’API GraphQL expose un sous-ensemble pris en charge des fonctionnalités REST d’Ayrshare via un point de terminaison unique. Chaque champ exposé appelle le même contrôleur sous-jacent que son équivalent REST, de sorte que l’authentification, les droits d’accès, les quotas et les données de réponse suivent le comportement REST. L’API REST reste l’API la plus complète ; utilisez le schéma ou l’Explorer pour voir exactement quelles opérations GraphQL prend en charge. Ce qu’elle apporte, c’est la possibilité de demander plusieurs choses en une seule requête et de découvrir la surface GraphQL actuellement prise en charge à partir du schéma lui-même, sans lire la documentation page par page. Le schéma décrit chaque champ de requête pris en charge ainsi que les sélections typées disponibles sur les réponses structurées ; les opérations qui renvoient l’enveloppe REST sous forme de JSON conservent l’intégralité de ce payload.
Envoyez un POST avec un corps JSON contenant une query, exactement comme avec n’importe quel point de terminaison GraphQL. GET et DELETE renvoient 405 Method Not Allowed : les requêtes via GET sont facultatives dans la spécification GraphQL et ne sont pas prises en charge ici.

Votre première requête

La réponse est la même enveloppe JSON que celle renvoyée par le point de terminaison REST d’historique, encapsulée dans le champ data de GraphQL :

Demander plusieurs choses à la fois

La raison de recourir à GraphQL, c’est une requête comme celle-ci, qui nécessiterait quatre appels REST :
Un seul aller-retour renvoie les quatre. Notez qu’il s’agit de quatre champs d’opération racine et de quatre appels API pour la facturation, et non d’un seul. La sélection de champs de réponse imbriqués n’ajoute pas d’appels : consultez Limites et facturation.

Authentification

Identique à REST. Envoyez votre API Key sous forme de bearer token :
Si votre compte utilise des User Profiles, les opérations qui exposent profileKey peuvent sélectionner un profil de deux manières :
  • Envoyez Profile-Key comme valeur par défaut pour toute la requête.
  • Passez profileKey sur un champ individuel pour remplacer cette valeur par défaut, ce qui permet à une même requête d’agir sur plusieurs profils.
L’argument du champ l’emporte lorsque les deux sont présents. Les champs de niveau compte ou réservés au compte principal n’exposent pas profileKey et peuvent rejeter un en-tête Profile-Key ; par exemple, createProfile doit utiliser l’API Key principale sans cet en-tête. Vérifiez la définition de schéma de chaque champ pour connaître sa portée, et consultez Gérer plusieurs utilisateurs pour comprendre le fonctionnement des Profile Keys.

Essayez sans écrire de code

Le GraphQL Explorer est un navigateur interactif du schéma actuel. Il liste chaque opération GraphQL disponible avec ses arguments et ses descriptions, propose l’autocomplétion pendant la saisie et exécute les requêtes sur votre compte. Vous n’avez pas besoin d’API Key pour parcourir le schéma : le schéma est public, tout comme cette documentation. Vous en avez besoin d’une pour exécuter une requête, car chaque opération passe par la même authentification que REST.

Faut-il utiliser GraphQL ou REST ?

REST reste l’interface principale, celle autour de laquelle sont construits la majeure partie de notre documentation, nos SDK et nos intégrations. Tournez-vous vers GraphQL lorsque :
  • Vous avez besoin de plusieurs données sans lien entre elles et souhaitez les obtenir en un seul aller-retour.
  • Vous voulez des noms d’opérations, des arguments, des objets d’entrée, des enums et des sélections de réponse typées lisibles par une machine. La plupart des réponses restent en JSON afin de conserver l’enveloppe REST complète ; createPost renvoie actuellement un PostResult typé.
  • Vous explorez l’API et voulez voir ce qui existe sans naviguer entre les pages de documentation.
Restez sur REST lorsque :
  • Vous téléversez des fichiers. Les octets des médias ne peuvent pas transiter par une requête GraphQL : consultez Téléverser des médias pour la méthode prise en charge.
  • Vous utilisez l’un de nos SDK ou intégrations no-code, qui communiquent en REST.
  • Vous souhaitez le moins de dépendances possible. Un appel REST ne nécessite rien d’autre qu’un client HTTP.
Les deux interfaces sont prises en charge côte à côte, et vous pouvez les combiner librement dans une même intégration.
  • Utiliser l’API : trouver les opérations, les types d’arguments et téléverser des médias.
  • Erreurs : quels échecs modifient le statut HTTP, pourquoi les opérations échouées renvoient tout de même HTTP 200, et comment gérer le succès partiel.
  • Limites et facturation : plafonds de taille des requêtes et mode de décompte des requêtes.