ParrotPosterParrotPoster
Начало работы
Аккаунты
Публикации
Автоматизация
API
Сайт
  • English
  • Русский
Начало работы
Аккаунты
Публикации
Автоматизация
API
Сайт
  • English
  • Русский
  • Введение
  • Начало работы
  • Методы API

    • Аутентификация
    • Аккаунты соцсетей
    • Посты

      • Посты
      • Структура Post
      • Получение постов
      • Создание поста
      • Обновление поста
      • Удаление поста
  • Ошибки

Аутентификация

Методы API, работающие с вашими данными, требуют токен. Токен передаётся в HTTP-заголовке:

Authorization: Bearer ваш_токен

Без корректного токена защищённые методы возвращают ошибку unauthorized (см. Ошибки).

Получить токен можно двумя способами:

СпособКогда использовать
API-токен из кабинета (рекомендуется)Скрипты, интеграции, серверные задачи. Не нужно хранить пароль, токен можно ограничить режимом «только чтение» и отозвать в любой момент
Мутация loginЕсли у вас нет доступа к кабинету в момент настройки или токен нужно получить программно по email и паролю

API-токены (рекомендуется)

Создание в кабинете

  1. Откройте Настройки → API-токены.
  2. Нажмите Создать токен.
  3. Укажите Название токена (обязательно, до 128 символов).
  4. При необходимости включите Только чтение (без мутаций): с таким токеном доступны запросы (query), а любая мутация будет отклонена.
  5. Скопируйте секрет и сохраните его.

Секрет показывается один раз

Повторно показать его нельзя. Если секрет потерян, отзовите токен и создайте новый.

В списке токенов видно название, дату создания и время последнего использования. Токен можно Переименовать или Отозвать. Отозванный токен перестаёт работать.

Создание через API

Токен можно создать и мутацией createApiToken (она, как и любая мутация, недоступна из-под токена «только чтение»):

mutation {
  createApiToken(name: "Скрипт публикации", readOnly: false) {
    tokenValue
    token {
      id
      name
      readOnly
      active
      createdAt
    }
  }
}
АргументТипОписание
nameString!Название токена, до 128 символов
readOnlyBoolean!true — токен не может выполнять мутации

В ответе tokenValue — секрет (показывается только в этом ответе), token — метаданные токена.

Список своих токенов и управление ими:

query {
  apiTokens {
    id
    name
    readOnly
    active
    createdAt
    lastUsedAt
  }
}
mutation {
  updateApiToken(tokenId: "token_id", name: "Новое название")
}
mutation {
  revokeApiToken(tokenId: "token_id")
}

Секрет в apiTokens не возвращается никогда.

Лимит запросов

На запросы по API-токену действует лимит частоты: по умолчанию 600 запросов в минуту на один токен (окно — календарная минута UTC). При превышении сервер отвечает HTTP-статусом 429 Too Many Requests; повторите запрос в следующую минуту.

Альтернатива: мутация login

Мутация login не требует токена и возвращает токен по email и паролю ParrotPoster.

mutation {
  login(
    input: {
      username: "your-email@example.com"
      password: "your-password"
      from: FRONT
    }
  ) {
    token
    userId
  }
}
Поле inputТипОбязательноеОписание
usernameString!ДаEmail, указанный при регистрации
passwordString!ДаПароль
fromPlatform!ДаОткуда выполняется вход. Для собственных интеграций указывайте FRONT
fromSiteStringНетАдрес сайта (используют плагины)
langStringНетЯзык интерфейса пользователя

Допустимые значения Platform: FRONT, BITRIX, BITRIX_24, WORDPRESS. Значения, кроме FRONT, предназначены для официальных плагинов.

Ответ:

{
  "data": {
    "login": {
      "token": "ваш_токен",
      "userId": "user_id"
    }
  }
}

Токен из login передаётся так же, как API-токен: Authorization: Bearer <token>.

Поведение токена login

  • Токен не имеет срока действия: он работает, пока его не отозвали.
  • Такой токен виден в Настройки → Сеансы (там можно завершить сеанс) и отзывается мутацией revokeToken. Вызванная без аргумента, она отзывает токен, переданный в заголовке:
mutation {
  revokeToken
}
  • Лимит частоты 600 запросов в минуту относится только к API-токенам; на токены из login он не распространяется.
  • Токен из login — полнодоступный: режима «только чтение» у него нет. Если нужен ограниченный доступ, используйте API-токен.

Совет

Не храните пароль в скриптах. Создайте API-токен — его можно отозвать, не меняя пароль.

Хранение токена

  1. Храните токен в защищённом месте (переменные окружения, секреты CI), не в репозитории.
  2. Не вставляйте токен в клиентский код (JavaScript на страницах сайта): токен даёт доступ к вашему аккаунту.
  3. Для каждой интеграции создавайте отдельный токен — так его можно отозвать независимо от остальных.

Примеры

cURL

curl -X POST https://parrotposter.com/api/graphql \
  -H "Authorization: Bearer ваш_токен" \
  -H "Content-Type: application/json" \
  -d '{"query": "query { listSocialAccounts { id name } }"}'

PHP

<?php
$ch = curl_init('https://parrotposter.com/api/graphql');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'query' => 'query { listSocialAccounts { id name } }',
    ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
Редактировать в Github
Последнее обновление: 10.10.2026, 02:44
Next
Аккаунты соцсетей