Справочник API

Обзор

API SNSTracker позволяет программно управлять лентами и каналами мониторинга. Вы можете создавать ленты (видео, посты и т. д.) и каналы (аккаунты, профили), обновлять их для получения актуальных данных и получать уведомления в реальном времени через вебхуки.

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

Все запросы к API требуют аутентификации с использованием API‑ключа. Передавайте ваш API‑ключ в заголовке X-API-Key.

Как получить API‑ключ:

  1. Войдите в SNSTracker
  2. Перейдите в Settings → API Keys
  3. Создайте новый API‑ключ или используйте существующий
  4. Скопируйте API‑ключ (он отображается только один раз при создании)

Эндпоинты API

1. Создание лент

Создавайте ленты мониторинга, отправляя URL лент (видео, посты и т. д.).

POST /api/v1/feeds

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "urls": [
    "https://www.tiktok.com/@user/video/1234567890",
    "https://www.instagram.com/p/ABC123/"
  ],
  "collectionId": "coll_abc123xyz"
}

Параметры:

  • urls (обязательно): массив URL лент для мониторинга. Максимум 200 URL в запросе.
  • collectionId (необязательно): ID коллекции, куда будут добавлены ленты. Если не указан, будет использована коллекция по умолчанию вашей команды.

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@user/video/1234567890",
        "platform": "tiktok",
        "feedId": "feed_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/p/ABC123/",
        "platform": "instagram",
        "feedId": "feed_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Ленты успешно созданы. Данные будут обновлены в ближайшее время."
  }
}

Поля ответа:

  • success: количество успешно созданных лент
  • failed: количество неудачных попыток создания лент
  • total: общее количество переданных URL
  • results: массив результатов для каждого URL
    • index: индекс в массиве запроса, начиная с 0
    • url: проверенный и стандартизированный URL
    • platform: обнаруженная платформа (tiktok, instagram, youtube и т. д.)
    • feedId: уникальный идентификатор созданной ленты
    • success: успешно ли создана лента
    • skipped: (необязательно) пропущена ли лента, потому что уже существует
    • resumed: (необязательно) была ли возобновлена остановленная лента
    • error: (необязательно) сообщение об ошибке при неудачном создании
  • errors: массив ошибок для неудачных URL

Пример запроса

curl -X POST https://snstracker.com/api/v1/feeds \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@user/video/1234567890"
    ]
  }'

2. Обновление лент

Обновляйте существующие ленты, чтобы немедленно получить самые свежие данные. Обновлять можно только ленты со статусом "Pending" или "Tracked".

POST /api/v1/feeds/refresh

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "feedIds": ["feed_abc123xyz", "feed_def456uvw"]
}

Параметры:

  • feedIds (обязательно): массив ID лент для обновления

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "feedIds": ["feed_abc123xyz", "feed_def456uvw"],
    "total": 2,
    "message": "Успешно обновлено 2 ленты(лент)"
  }
}

Поля ответа:

  • success: успешно ли выполнена операция обновления
  • feedIds: массив ID лент, которые были обновлены
  • total: количество обновлённых лент
  • message: сообщение об успешном выполнении

Пример запроса

curl -X POST https://snstracker.com/api/v1/feeds/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "feedIds": ["feed_abc123xyz"]
  }'

3. Создание каналов

Создавайте каналы мониторинга, отправляя URL каналов (профили аккаунтов и т. д.).

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "urls": [
    "https://www.tiktok.com/@username",
    "https://www.instagram.com/username/"
  ],
  "collectionId": "coll_abc123xyz"
}

Параметры:

  • urls (обязательно): массив URL каналов для мониторинга. Максимум 5 URL в запросе.
  • collectionId (необязательно): ID коллекции, куда будут добавлены каналы. Если не указан, будет использована коллекция по умолчанию вашей команды.

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@username",
        "platform": "tiktok",
        "channelId": "channel_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/username/",
        "platform": "instagram",
        "channelId": "channel_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Каналы успешно созданы. Данные будут обновлены в ближайшее время."
  }
}

Поля ответа:

  • success: количество успешно созданных каналов
  • failed: количество неудачных попыток создания каналов
  • total: общее количество переданных URL
  • results: массив результатов для каждого URL
    • index: индекс в массиве запроса, начиная с 0
    • url: проверенный и стандартизированный URL
    • platform: обнаруженная платформа (tiktok, instagram, youtube и т. д.)
    • channelId: уникальный идентификатор созданного канала
    • success: успешно ли создан канал
    • skipped: (необязательно) пропущен ли канал, потому что уже существует
    • resumed: (необязательно) был ли возобновлён остановленный канал
    • error: (необязательно) сообщение об ошибке при неудачном создании
  • errors: массив ошибок для неудачных URL

Пример запроса

curl -X POST https://snstracker.com/api/v1/channels \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@username"
    ]
  }'

4. Обновление каналов

Обновляйте существующие каналы, чтобы немедленно получить самые свежие данные. Обновлять можно только каналы со статусом "Pending" или "Tracked".

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels/refresh

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "channelIds": ["channel_abc123xyz", "channel_def456uvw"]
}

Параметры:

  • channelIds (обязательно): массив ID каналов для обновления

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "channelIds": ["channel_abc123xyz", "channel_def456uvw"],
    "total": 2,
    "message": "Успешно обновлено 2 каналов"
  }
}

Поля ответа:

  • success: успешно ли выполнена операция обновления
  • channelIds: массив ID каналов, которые были обновлены
  • total: количество обновлённых каналов
  • message: сообщение об успешном выполнении

Пример запроса

curl -X POST https://snstracker.com/api/v1/channels/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "channelIds": ["channel_abc123xyz"]
  }'

5. Синхронизация ленты

Синхронизируйте данные ленты напрямую из сервиса scrapy. Этот эндпоинт немедленно получает актуальные данные ленты и списывает кредиты при успешной синхронизации. Все участники и API-ключи команды используют один общий лимит для всех эндпоинтов синхронизации. Общий лимит: 1 для Starter или без действующей подписки, 5 для Standard и 10 для Premium.

⚠️ Важное примечание: этот эндпоинт синхронизации является отдельным и НЕ интегрируется с веб‑платформой. Операции синхронизации:

  • НЕ создают и не обновляют записи лент в веб‑панели
  • НЕ отображаются в списке лент или коллекциях
  • НЕ запускают вебхуки или уведомления
  • ТОЛЬКО возвращают полученные данные напрямую в ответе API

Этот эндпоинт предназначен для разового получения данных через API. Чтобы создавать постоянные ленты мониторинга, отображающиеся в веб‑платформе, используйте эндпоинт Создание лент.

POST /api/v1/feeds/sync

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "url": "https://www.tiktok.com/@user/video/1234567890"
}

Параметры:

  • url (обязательно): URL ленты для синхронизации. Должен быть корректной непустой строкой.

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@user/video/1234567890",
    "feedInfo": {
      "feed_id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "url": "https://www.tiktok.com/@user/video/1234567890",
      "views": 1000000,
      "likes": 200000,
      "comments": 1000,
      "shares": 2000,
      "bookmarks": 200,
      "engagement": 512000,
      "description": "Описание видео",
      "hashtags": ["tag1", "tag2"],
      "publish_at": 1234567890
    }
  }
}

Поля ответа:

  • success: успешно ли выполнена операция синхронизации
  • url: синхронизированный URL ленты
  • feedInfo: полная информация о ленте, включая метрики, описание, хэштеги и т. д.

Ответы об ошибках:

  • 429 Too Many Requests: Общий лимит команды достигнут. Запрос не ставится в очередь.
  • 400 Bad Request: недостаточно кредитов или некорректный URL

Пример запроса

curl -X POST https://snstracker.com/api/v1/feeds/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@user/video/1234567890"
  }'

6. Синхронизация канала

Синхронизируйте данные канала напрямую из сервиса scrapy. Этот эндпоинт немедленно получает актуальные данные канала и списывает кредиты при успешной синхронизации. Все участники и API-ключи команды используют один общий лимит для всех эндпоинтов синхронизации. Общий лимит: 1 для Starter или без действующей подписки, 5 для Standard и 10 для Premium.

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

⚠️ Важное примечание: этот эндпоинт синхронизации является отдельным и НЕ интегрируется с веб‑платформой. Операции синхронизации:

  • НЕ создают и не обновляют записи каналов в веб‑панели
  • НЕ отображаются в списке каналов или коллекциях
  • НЕ запускают вебхуки или уведомления
  • ТОЛЬКО возвращают полученные данные напрямую в ответе API

Этот эндпоинт предназначен для разового получения данных через API. Чтобы создавать постоянные каналы мониторинга, отображающиеся в веб‑платформе, используйте эндпоинт Создание каналов.

POST /api/v1/channels/sync

Запрос

Заголовки:

  • X-API-Key: Ваш API‑ключ (обязательно)
  • Content-Type: application/json

Тело запроса:

{
  "url": "https://www.tiktok.com/@username"
}

Параметры:

  • url (обязательно): URL канала для синхронизации. Должен быть корректной непустой строкой.

Ответ

Успешный ответ (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@username",
    "channelInfo": {
      "id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "username": "username",
      "nickname": "User Name",
      "description": "Описание канала",
      "followers": 1000000,
      "followings": 2000,
      "likes": 200000000,
      "total_count": 1000,
      "track_count": 1000,
      "status": 1
    }
  }
}

Поля ответа:

  • success: успешно ли выполнена операция синхронизации
  • url: синхронизированный URL канала
  • channelInfo: полная информация о канале, включая метрики, описание и т. д.

Ответы об ошибках:

  • 429 Too Many Requests: Общий лимит команды достигнут. Запрос не ставится в очередь.
  • 400 Bad Request: недостаточно кредитов или некорректный URL

Пример запроса

curl -X POST https://snstracker.com/api/v1/channels/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@username"
  }'

7. Синхронизация публикаций канала

Возвращает одну страницу: не более 12 элементов за запрос для Instagram и Reels, без автоматического перехода дальше. instagram включает изображения, видео и карусели; reels — видео Reels.

POST /api/v1/channels/feeds/sync
X-API-Key: your-api-key
Content-Type: application/json

Request and pagination

{
  "platform": "instagram",
  "channel_name": "instagram"
}
  • count — необязательное положительное целое число, задающее желаемое количество элементов на этой странице, без значения по умолчанию. Ограничения зависят от платформы: Instagram и Reels возвращают не более 12 элементов за запрос, иногда меньше. Если параметр не указан, используется размер страницы платформы по умолчанию.
  • Для первой страницы не передавайте cursor. Для следующей передайте прежний next_cursor без изменений с теми же platform и channel_name. В конце: has_more=false, next_cursor=null.
{
  "platform": "instagram",
  "channel_name": "instagram",
  "cursor": "previous-next-cursor"
}

Каждая успешно полученная страница стоит 10 кредитов, включая пустые страницы. Только неудачные запросы бесплатны; перед запросом нужно минимум 10 кредитов. Лимит команды общий с другими API синхронизации. Записи в панели не создаются.

Response example (placeholder cursor) — reels, lunacut.edit, count=1

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "platform": "reels",
    "channel_name": "lunacut.edit",
    "channel_url": "https://www.instagram.com/lunacut.edit/",
    "requested_count": 1,
    "returned_count": 1,
    "has_more": true,
    "next_cursor": "cursor-from-response",
    "items": [
      {
        "feed_id": "4009169989985582972",
        "platform": 5,
        "platform_name": "reels",
        "type": "video",
        "url": "https://www.instagram.com/reel/Dejbt1JPz98/",
        "author_username": "lunacut.edit",
        "publish_at": 1792150387,
        "duration": 70.077,
        "view_count": 310475
      }
    ]
  }
}

platform and channel_name are required. channel_name is the username, not the display name; leading @ is accepted and dots are preserved. requested_count is null when count is omitted; returned_count equals items.length. Unknown metrics/timestamps are null. Posts may lack timestamps and carousel details. items uses the existing feed fields, including video_url, image_urls and cover_url; the example shows only selected fields. publish_at is Unix seconds and duration is seconds. Upstream order is preserved, without a most-popular sorting option; deduplicate across pages by feed_id. Empty pages can still have a next cursor; a carousel counts as one post.

Доступность метрик в items, включая просмотры (view_count), лайки (like_count), сохранения (bookmark_count) и комментарии (comment_count), зависит от платформы и данных её списка публикаций. Некоторые метрики могут быть недоступны. Они возвращаются как null, что не означает нулевое значение.

Чтобы запросить отсутствующие метрики, отдельно вызовите POST /api/v1/feeds/sync, передав url элемента в поле url тела запроса. Детальный запрос оплачивается отдельно по правилам этого эндпоинта. Результат зависит от данных, предоставляемых платформой; получение всех недостающих метрик не гарантируется.

HTTP: 400 invalid input/cursor or insufficient initial credits; 401 invalid API key; 403 disabled team or inaccessible channel; 402 insufficient credits at settlement; 429 team concurrency limit (Retry-After: 1); 502 upstream/invalid page; 503 service unavailable; 504 timeout.

8. Получить дополнительные сведения о профиле

POST /api/v1/channels/about/sync

Только Instagram и Reels. Обязательный url, как в /api/v1/channels/sync: https://www.instagram.com/lunacut.edit/ или https://www.instagram.com/lunacut.edit/reels/. platform, count и cursor не нужны. Ссылки на публикации и другие платформы не поддерживаются.

curl -X POST https://snstracker.com/api/v1/channels/about/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.instagram.com/lunacut.edit/"}'

Успешный запрос стоит 80 кредитов, даже если поля равны null. Ошибки не оплачиваются; до запроса требуется не менее 80 кредитов. Общий лимит команды со всеми синхронными API: Starter/без активной подписки 1, Standard 5, Premium 10. Записи и webhooks не создаются.

Пример ответа; доступность полей зависит от публичных данных аккаунта.

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.instagram.com/lunacut.edit/",
    "channelAbout": {
      "platform": 6,
      "platform_name": "instagram",
      "username": "lunacut.edit",
      "channel_url": "https://www.instagram.com/lunacut.edit/",
      "country": "Brazil",
      "country_visible": true,
      "date_joined": "2020-05",
      "date_joined_text": "May 2020"
    }
  }
}

country: публичная страна/регион только при country_visible=true, не текущая геолокация IP. country_visible: видимость или null, если неизвестна. date_joined: месяц регистрации (YYYY-MM) либо null, если отсутствует/не распознан. date_joined_text: исходный текст даты либо null. Bio, число подписчиков и прежние имена не включены.

400 / 401 / 402 / 403 / 429 (Retry-After: 1) / 502 / 503 / 504.

Интеграция вебхуков

SNSTracker поддерживает вебхуки для получения уведомлений в реальном времени, когда отслеживаемый контент достигает ваших пороговых значений. Вы можете настроить вебхуки для получения уведомлений о:

  • Обновлениях лент: когда просмотры, вовлечённость (лайки + комментарии + репосты) увеличиваются на заданный порог
  • Обновлениях каналов: когда подписчики, подписки или лайки увеличиваются на заданный порог

Настройка вебхуков

  1. Настройте цели вебхуков в настройках Collections
  2. Включите уведомления в конфигурации Collection
  3. Задайте пороги для метрик, которые хотите отслеживать

Для подробных инструкций по настройке вебхуков см. Руководство по настройке вебхуков.

Ответы об ошибках

Все эндпоинты могут возвращать следующие ответы об ошибках:

401 Unauthorized - Отсутствует API‑ключ

{
  "code": -1,
  "message": "Заголовок X-API-Key обязателен"
}

401 Unauthorized - Неверный API‑ключ

{
  "code": -1,
  "message": "Неверный API ключ"
}

400 Bad Request - Некорректный ввод

{
  "code": -1,
  "message": "Некорректный запрос: urls должен быть массивом"
}

400 Bad Request - Слишком много URL (Создание лент)

{
  "code": -1,
  "message": "Максимум 200 URL на запрос"
}

400 Bad Request - Слишком много URL (Создание каналов)

{
  "code": -1,
  "message": "Максимум 5 URL на запрос"
}

400 Bad Request - Недостаточно кредитов

{
  "code": -1,
  "message": "Недостаточно кредитов. Требуется: 10, доступно: 5"
}

429 Too Many Requests - Параллельная синхронизация команды

{
  "code": -1,
  "message": "Maximum concurrent sync requests (1) reached for this team. Currently active: 1. Wait for a request to complete, or contact official support to increase the limit."
}

403 Forbidden - Недопустимая коллекция

{
  "code": -1,
  "message": "Коллекция не найдена или не принадлежит вашей команде"
}

404 Not Found

{
  "code": -1,
  "message": "Ленты не найдены"
}

или

{
  "code": -1,
  "message": "Каналы не найдены"
}

Примеры использования

Пример на Python - Создание лент

import requests

url = "https://snstracker.com/api/v1/feeds"
headers = {
    "X-API-Key": "your-api-key-here",
    "Content-Type": "application/json"
}
data = {
    "urls": [
        "https://www.tiktok.com/@user/video/1234567890",
        "https://www.instagram.com/p/ABC123/"
    ]
}

response = requests.post(url, json=data, headers=headers)
result = response.json()

if result["code"] == 0:
    print(f"Успешно создано лент: {result['data']['success']}")
    for feed in result["data"]["results"]:
        print(f"  - {feed['url']}: {feed['feedId']}")
else:
    print(f"Ошибка: {result['message']}")

Пример на JavaScript - Обновление лент

const response = await fetch('https://snstracker.com/api/v1/feeds/refresh', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your-api-key-here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    feedIds: ['feed_abc123xyz', 'feed_def456uvw'],
  }),
});

const result = await response.json();

if (result.code === 0) {
  console.log(`Успешно обновлено ${result.data.total} лент`);
  result.data.feedIds.forEach((feedId) => {
    console.log(`  - ${feedId}`);
  });
} else {
  console.error(`Ошибка: ${result.message}`);
}

Важные примечания

  1. Проверка URL: Все URL автоматически проверяются перед созданием. Некорректные URL будут отклонены.

  2. Дубликаты: Если элемент с таким же URL уже существует в коллекции:

    • Если он активен, он будет пропущен (отмечен skipped: true)
    • Если он остановлен, он будет возобновлён (отмечен resumed: true)
  3. Сбор данных: После успешного создания элементы ставятся в очередь на сбор данных. Данные будут доступны вскоре после создания.

  4. Статус обновления: Обновлять можно только элементы со статусом "Pending" или "Tracked". Элементы с другими статусами будут отфильтрованы.

  5. Кредиты: Перед отправкой запросов убедитесь, что у вас достаточно кредитов. Операции синхронизации списывают кредиты сразу после успешного получения данных. Xiaohongshu channel tasks are priced separately and currently cost 10 credits per successful request. /api/v1/channels/feeds/sync: Каждая успешно полученная страница стоит 10 кредитов, включая пустые страницы. Только неудачные запросы бесплатны; перед запросом нужно минимум 10 кредитов. Лимит команды общий с другими API синхронизации. Записи в панели не создаются. /api/v1/channels/about/sync: Успешный запрос стоит 80 кредитов, даже если поля равны null. Ошибки не оплачиваются; до запроса требуется не менее 80 кредитов. Общий лимит команды со всеми синхронными API: Starter/без активной подписки 1, Standard 5, Premium 10. Записи и webhooks не создаются.

  6. Параллельная синхронизация команды (/api/v1/feeds/sync + /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync): Все участники и API-ключи команды используют один общий лимит для всех эндпоинтов синхронизации. Общий лимит: 1 для Starter или без действующей подписки, 5 для Standard и 10 для Premium. Лимит автоматически следует текущей действующей подписке; индивидуальная настройка команды от официальной поддержки имеет приоритет. Чтобы увеличить лимит команды, обратитесь в официальную поддержку.

  7. Sync vs Create: Эндпоинты синхронизации (/api/v1/feeds/sync и /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync) являются отдельными и НЕ интегрируются с веб‑платформой. Они только возвращают данные в ответе API и не создают записи в панели. Чтобы создать постоянные элементы мониторинга, отображающиеся в веб‑платформе, используйте эндпоинты Create (/api/v1/feeds и /api/v1/channels).

  8. Повтор: После 429 дождитесь завершения активного запроса и повторите попытку с увеличением интервала, соблюдая Retry-After. После 503 повторите попытку позже.

  9. Поддерживаемые платформы: TikTok, Instagram, YouTube и другие основные соцсети.

Устранение неполадок

Проблема: "X-API-Key header is required"
Решение: Убедитесь, что вы включили заголовок X-API-Key в запрос.

Проблема: "Invalid API key"
Решение: Проверьте, что API‑ключ корректен. Можно создать новый в Settings → API Keys.

Проблема: "Maximum URLs allowed per request"
Решение: Разделите URL на несколько запросов. Для лент — до 200 URL, для каналов — до 5 URL в запросе.

Проблема: "No collection found"
Решение: Сначала создайте коллекцию в панели или укажите существующий ID коллекции.

Проблема: "Insufficient credits"
Решение: Купите дополнительные кредиты или проверьте ваш тарифный план.

Проблема: "No refreshable items found"
Решение: Обновлять можно только элементы со статусом "Pending" или "Tracked". Проверьте статус ваших элементов.

Проблема: Некоторые URL не проходят валидацию
Решение: Проверьте массив errors в ответе для конкретных сообщений об ошибках. Убедитесь, что URL относятся к поддерживаемым платформам и являются общедоступными.

On this page

Обзор
Аутентификация
Эндпоинты API
1. Создание лент
Запрос
Ответ
Пример запроса
2. Обновление лент
Запрос
Ответ
Пример запроса
3. Создание каналов
Запрос
Ответ
Пример запроса
4. Обновление каналов
Запрос
Ответ
Пример запроса
5. Синхронизация ленты
Запрос
Ответ
Пример запроса
6. Синхронизация канала
Запрос
Ответ
Пример запроса
7. Синхронизация публикаций канала
Request and pagination
Response example (placeholder cursor) — reels, lunacut.edit, count=1
8. Получить дополнительные сведения о профиле
Интеграция вебхуков
Настройка вебхуков
Ответы об ошибках
401 Unauthorized - Отсутствует API‑ключ
401 Unauthorized - Неверный API‑ключ
400 Bad Request - Некорректный ввод
400 Bad Request - Слишком много URL (Создание лент)
400 Bad Request - Слишком много URL (Создание каналов)
400 Bad Request - Недостаточно кредитов
429 Too Many Requests - Параллельная синхронизация команды
403 Forbidden - Недопустимая коллекция
404 Not Found
Примеры использования
Пример на Python - Создание лент
Пример на JavaScript - Обновление лент
Важные примечания
Устранение неполадок