Обзор
Начало работы
От нуля до первого вызова API за несколько минут (плюс время, которое нам нужно, чтобы одобрить ваш доступ).
1. Запросите доступ разработчика#
API открыт для всех пользователей Linework, но доступ проверяется вручную, чтобы боты оставались полезными, а спам — за бортом.
- Войдите в веб-приложение и откройте web.linework.app → Настройки → Разработчикам.
- Заполните заявку:
- Сценарий использования — что делает ваша интеграция, в нескольких предложениях (например, «публиковать ежедневное меню моего ресторана и отвечать на вопросы в чате»).
- Сайт — ваш сайт или страница проекта, если они есть.
- Имя бота — название вашего приложения или бота; его видим мы, и оно отображается в списке ваших ключей.
- Отправьте заявку. Её статус (на рассмотрении, одобрена или отклонена) отображается на той же странице.
API работает с вашим собственным аккаунтом. Если у бота должна быть своя идентичность (например, «Pizza Roma Bot»), создайте для него отдельный аккаунт Linework с фото профиля и обложкой и запросите доступ из этого аккаунта.
2. Создайте ключ API#
После одобрения доступа на странице Разработчикам можно создавать ключи API:
- Нажмите Создать ключ и дайте ему имя (например, «store-sync production»).
- Выберите только те scopes, которые нужны интеграции.
- Скопируйте ключ. Он выглядит как
lwk_, за которым следуют 40 символов, и показывается только один раз.
Храните его в переменной окружения или в менеджере секретов, но никогда — в исходном коде:
export LINEWORK_API_KEY="lwk_your_key_here"
Подробнее о ключах, ограничениях и отзыве — в разделе Аутентификация и ключи API.
3. Выполните первый вызов#
GET /me возвращает аккаунт, которому принадлежит ключ. Это самый быстрый способ проверить, что всё работает.
curl -i https://api.linework.app/open/v1/me \
-H "Authorization: Bearer $LINEWORK_API_KEY"
const res = await fetch("https://api.linework.app/open/v1/me", {
headers: { Authorization: `Bearer ${process.env.LINEWORK_API_KEY}` },
});
if (!res.ok) throw new Error(JSON.stringify(await res.json()));
console.log(await res.json());
import os, requests
r = requests.get(
"https://api.linework.app/open/v1/me",
headers={"Authorization": f"Bearer {os.environ['LINEWORK_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
print(r.json())
Успешный ответ — это JSON-объект с описанием вашего профиля. Если вы получаете 401 INVALID_API_KEY, проверьте, что заголовок в точности имеет вид Authorization: Bearer lwk_… и что ключ не был отозван. Точный список полей ответа приведён в справочнике API.
4. Создайте что-нибудь#
Пост с медиафайлами
Загрузите фото и опубликуйте его.
Ответы на комментарии
Отвечайте своему сообществу.
Магазин Bloop
Товары, остатки, заказы, доставка.
Чат-бот поддержки
Отвечайте клиентам в чате.
Перед запуском в продакшн#
- Используйте отдельный ключ для каждой интеграции, чтобы можно было отозвать один, не останавливая остальные.
- Соблюдайте ограничения частоты и дневные квоты и обрабатывайте
429повторной попыткой. - Обрабатывайте ошибки по их
code, а не по тексту сообщения. - Прочитайте Условия использования API.