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

Ключ проекта, права, ограничение по рабочему пространству и почему API не отвечает браузеру.

Ключ #

Каждый запрос несёт заголовок Authorization: Bearer wck_… Ключ выдаётся на один подключённый сайт и открывает переписку только этого сайта: разговор соседнего подключения по нему не найдётся даже по точному номеру.

В базе хранится только отпечаток ключа. Потерянный ключ не восстанавливается: он отзывается и выдаётся заново. Отозванный перестаёт открывать что-либо сразу — запись остаётся с отметкой revokedAt.

Пример вызова
Authorization: Bearer wck_cZLLSCqi7pQ2m4E1vN…

Ключ серверный. В код страницы его класть нельзя: оттуда его прочитает любой посетитель и получит доступ ко всей переписке сайта.

Права #

ПравоМетоды
conversations:readGET /conversations, GET /conversations/{id}, GET /conversations/{id}/messages
conversations:writePOST /conversations/{id}/messages, POST /conversations/{id}/close
media:readGET /media/{id}

CORS #

Заголовков CORS публичное API не выдаёт намеренно, и обращение из браузера посетителя не пройдёт. Виджет работает по другому входу — подписанному токену окна, который выдаёт шлюз.

Отказы аутентификации #

HTTPcodeКогда
401unauthorizedзаголовка нет, ключ не тот или отозван
403insufficient_scopeу ключа нет права на этот метод
429rate_limit_exceededбольше 300 запросов в минуту на ключ