Skip to main content
GraphQL API надає підтримувану підмножину можливостей REST Ayrshare через єдиний ендпоінт. Кожне доступне поле викликає той самий базовий контролер, що й відповідний REST-аналог, тому автентифікація, права доступу, квоти та дані відповіді відповідають поведінці REST. REST залишається ширшим API; щоб точно дізнатися, які операції підтримує GraphQL, скористайтеся схемою або Explorer. GraphQL додає можливість запитувати кілька речей в одному запиті та дізнаватися поточну підтримувану поверхню GraphQL безпосередньо зі схеми, не читаючи документацію сторінку за сторінкою. Схема описує кожне підтримуване поле запиту та типізовані вибірки, доступні для структурованих відповідей; операції, які повертають REST-обгортку як JSON, зберігають повне корисне навантаження.
Надсилайте POST із JSON-тілом, що містить query, так само як до будь-якого GraphQL-ендпоінту. GET і DELETE повертають 405 Method Not Allowed: запити через GET є необов’язковими в специфікації GraphQL і тут не підтримуються.

Ваш перший запит

Відповідь — це та сама JSON-обгортка, яку повертає REST-ендпоінт історії, загорнута в поле GraphQL data:

Кілька запитів одночасно

Причина обрати GraphQL — запит на кшталт цього, який потребував би чотирьох REST-викликів:
Один обмін запитом і відповіддю повертає всі чотири результати. Зверніть увагу, що це чотири кореневі поля операцій і чотири виклики API для білінгу, а не один. Вибір вкладених полів відповіді не додає викликів — див. Ліміти та білінг.

Автентифікація

Так само, як у REST. Надсилайте ваш API Key як bearer-токен:
Якщо ваш акаунт використовує User Profiles, операції, що надають profileKey, можуть вибирати профіль одним із двох способів:
  • Надішліть Profile-Key як типове значення для всього запиту.
  • Передайте profileKey в окремому полі, щоб перевизначити це типове значення. Так один запит може діяти від імені кількох профілів.
Якщо присутні обидва варіанти, пріоритет має аргумент поля. Поля рівня акаунта або поля лише для основного акаунта не надають profileKey і можуть відхиляти заголовок Profile-Key; наприклад, createProfile потрібно викликати з основним API Key без цього заголовка. Перевіряйте визначення кожного поля в схемі, щоб дізнатися його область дії, а про те, як працюють Profile Key, читайте в розділі Керування кількома користувачами.

Спробуйте без написання коду

GraphQL Explorer — це інтерактивний браузер поточної схеми. Він показує кожну доступну операцію GraphQL з її аргументами та описами, пропонує автодоповнення під час введення і виконує запити до вашого акаунта. Щоб переглядати схему, API Key не потрібен: схема публічна, так само як і ця документація. Проте він потрібен, щоб виконати запит, оскільки кожна операція проходить ту саму автентифікацію, що й у REST.

GraphQL чи REST?

REST залишається основним інтерфейсом, навколо якого побудована більша частина нашої документації, SDK та інтеграцій. Обирайте GraphQL, коли:
  • Вам потрібно кілька не пов’язаних між собою частин даних і ви хочете отримати їх за один обмін запитом і відповіддю.
  • Вам потрібні машинозчитувані назви операцій, аргументи, вхідні об’єкти, enum-и та типізовані вибірки відповіді. Більшість відповідей залишаються JSON, щоб зберегти повну REST-обгортку; createPost наразі повертає типізований PostResult.
  • Ви досліджуєте API і хочете побачити, що в ньому є, не переходячи між сторінками документації.
Залишайтеся з REST, коли:
  • Ви завантажуєте файли. Байти медіа не можуть передаватися через GraphQL-запит — підтримуваний спосіб описано в розділі Завантаження медіа.
  • Ви використовуєте один із наших SDK або no-code інтеграцій, які працюють через REST.
  • Ви хочете мінімальної кількості залежностей. Для REST-виклику не потрібно нічого, крім HTTP-клієнта.
Обидва інтерфейси підтримуються паралельно, і ви можете вільно поєднувати їх в одній інтеграції.
  • Використання API — пошук операцій, типи аргументів і завантаження медіа.
  • Помилки — які збої змінюють HTTP-статус, чому невдалі операції все одно повертають HTTP 200 і як обробляти частковий успіх.
  • Ліміти та білінг — обмеження розміру запитів і як рахуються запити.