← Блог

Гайды · Команда ТапВей

API ТапВей: как подключить онлайн-запись, магазин и CRM к своей системе

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

API ТапВей: как подключить онлайн-запись, магазин и CRM к своей системе

С 13 ноября 2026 года у ТапВей есть открытое API. Ваш сайт, CRM или учётная программа могут сами записывать клиентов, загружать товары, забирать заказы и заявки. Нужное событие сразу приходит к вам вебхуком. API доступно на тарифах «Про» и «Бизнес», ключ создаётся в кабинете за минуту.

Ниже — что умеет API и как сделать первые запросы. В конце — когда API не нужен и хватит готовых интеграций. Статья для владельцев проектов и их программистов: код короткий, каждый пример можно повторить из терминала.

Содержание

  1. Что умеет API
  2. Кому пригодится
  3. Шаг 1. Создайте ключ
  4. Шаг 2. Проверьте ключ
  5. Пример: запись клиента с вашего сайта
  6. Пример: товары и заказы
  7. Вебхуки: события без опроса
  8. Документация
  9. Безопасность и ограничения
  10. Когда API не нужно
  11. Частые вопросы

Что умеет API

Адрес API — https://api.tapway.me/v1. Ключ относится к одному проекту и видит только его данные. Права ключа включаются галочками: можно выдать сайту только запись, а учётной программе — только магазин.

РазделЧто можноПрава ключа
Онлайн-записьМастера и услуги, свободное время, список записей, создание, перенос, отмена, отметка «пришёл / не пришёл»чтение / создание и изменение
МагазинТовары и варианты, категории, загрузка фото, пакетная загрузка до 100 товаров по артикулам, заказы и их статусы, отзывычтение / товары и заказы
Заявки и квизыЗаявки с форм мультиссылки и сайта, ответы на квизы — вопрос и ответ текстомчтение
CRMКонтакты и сделки: список, поиск, создание, правкачтение / контакты и сделки
СтатистикаПосещения, уникальные посетители, клики, источники, UTM за периодчтение

В ответ приходит JSON. Списки отдаются постранично, а параметр updated_since возвращает только то, что изменилось с прошлого раза. Так удобно синхронизировать данные раз в несколько минут.

Кому пригодится

  • Сайт на своём движке. Сайт студии сделан на WordPress или самописный, а расписание ведётся в ТапВей. Форма записи на сайте берёт свободное время из API и создаёт запись. Владельцу и мастеру уведомления уходят так же, как при записи со страницы.
  • Учёт товаров в другой системе. Цены и остатки живут в учётной программе. Ваш программист раз в час отправляет их пакетом по артикулам, а новые заказы забирает обратно.
  • Своя CRM или таблица. Заявки, ответы квизов и контакты попадают туда, где работает менеджер. Через API — по расписанию, через вебхук — сразу.
  • Отчёты. Посещения и клики из статистики можно подтянуть в общий отчёт по рекламе.

Шаг 1. Создайте ключ

  1. Откройте проект → «Ещё» → «Настройки» → раздел «API». Раздел видит только владелец проекта.
  2. Нажмите «Создать ключ» и дайте ему понятное название, например «Сайт студии».
  3. Отметьте только нужные права. Сайту с записью хватит «Онлайн-запись: чтение» и «создание и изменение».
  4. Подтвердите паролем от аккаунта, а если включена двухфакторная защита — ещё и кодом из приложения.
Раздел «API» в настройках проекта ТапВей: список ключей с правами, форма создания с галочками прав и паролем
Ключи проекта, их права и когда ими пользовались. Новый ключ — с галочками прав и паролем

Ключ tw_live_… показывается один раз — сразу скопируйте его в настройки своей программы. У нас хранится только его отпечаток, поэтому восстановить ключ нельзя. Потерялся — отзовите старый и создайте новый. После создания ключа владельцу приходит письмо.

Новый ключ API в кабинете ТапВей: «Ключ создан. Скопируйте его сейчас — больше он не покажется» и кнопка «Копировать»
Ключ показывается один раз. Отозвать его можно в любой момент — программы сразу потеряют доступ

Шаг 2. Проверьте ключ

Запрос /me показывает, какой проект видит ключ, какой у проекта тариф и сколько запросов осталось:

curl https://api.tapway.me/v1/me \
  -H "Authorization: Bearer tw_live_…"
{
  "data": {
    "project": { "id": "fe6dee299ccf49369e79d9e18ca741c1", "name": "Студия Анны", "address": "mob.bio/studio-anna" },
    "tariff": { "code": "pro", "name": "Про" },
    "key": { "name": "Сайт студии", "prefix": "tw_live_aKpn", "scopes": ["bookings:read", "bookings:write"] },
    "rate_limit": { "per_minute": 60, "per_day": 10000, "remaining_minute": 59, "remaining_day": 9874 }
  }
}

Ответ 401 — ключ скопирован не целиком или отозван. Ответ 402 — у проекта тариф ниже «Про». После продления тарифа ключи снова заработают сами.

Пример: запись клиента с вашего сайта

Запись идёт в три запроса. Сначала узнайте мастеров и услуги — их id не меняются, их можно сохранить у себя:

curl https://api.tapway.me/v1/booking/resources -H "Authorization: Bearer tw_live_…"

Затем получите свободное время на нужную дату:

curl "https://api.tapway.me/v1/booking/slots?block_id=9db0cf42…&master_id=m1&service_id=s1&date=2026-11-20" \
  -H "Authorization: Bearer tw_live_…"

И создайте запись на выбранное время:

curl -X POST https://api.tapway.me/v1/booking/appointments \
  -H "Authorization: Bearer tw_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: site-order-1001" \
  -d '{"block_id":"9db0cf42…","master_id":"m1","service_id":"s1",
       "date":"2026-11-20","time":"14:00",
       "client":{"name":"Мария","phone":"+79001234567"}}'

Проверки — те же, что у формы на странице:

  • занято ли время;
  • сколько мест осталось в группе;
  • сколько записей у клиента в этот день;
  • не исчерпан ли месячный лимит тарифа.

Если время уже заняли, придёт ответ 409. Покажите клиенту другие окна.

Заголовок Idempotency-Key защищает от дублей. Например, у клиента пропала связь, и ваш сайт отправил запрос второй раз. Тогда API вернёт первую запись, а не создаст вторую.

Перенос — POST /booking/appointments/{id}/reschedule. Отмена — PATCH /booking/appointments/{id} со статусом cancelled. Клиент и мастер получат сообщение о переносе или отмене, если подключён бот записи.

Пример: товары и заказы

Фото товара сначала загружается файлом — так мы проверяем снимок до того, как он появится на витрине. В ответ придёт адрес, его и указывайте в товаре:

curl -X POST https://api.tapway.me/v1/shop/images \
  -H "Authorization: Bearer tw_live_…" \
  -F "file=@lavanda.jpg"

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

curl -X POST https://api.tapway.me/v1/shop/products/bulk \
  -H "Authorization: Bearer tw_live_…" -H "Content-Type: application/json" \
  -d '{"products":[
        {"sku":"LAV-1","title":"Свеча «Лаванда»","price":1090,"stock":8},
        {"sku":"ROSE-1","title":"Свеча «Роза»","price":890,"stock":3}]}'

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

Новые заказы забирайте так: GET /shop/orders?updated_since=2026-11-13T10:00:00Z. Чтобы отметить отправку, передайте PATCH /shop/orders/{номер} со статусом shipped и ссылкой отслеживания. Покупатель получит письмо, как при смене статуса в кабинете. При отмене через API остатки вернутся на склад.

Вебхуки: события без опроса

Чтобы не спрашивать API каждые несколько минут, подключите вебхук. Тогда ТапВей сам отправит JSON на ваш адрес, когда:

  • пришла заявка;
  • клиент записался, перенёс запись или отменил её;
  • оформлен, оплачен, отправлен или отменён заказ;
  • изменилась сделка.

Адрес задаётся в разделе «CRM» → «Вебхуки».

Вебхуки в разделе CRM ТапВей: адрес, кнопка «Проверить» и журнал доставок со статусами «доставлено» и «в очереди, повтор через 3 мин»
Журнал доставок: что ушло, что ответил ваш сервер и когда будет повтор

Что изменилось в вебхуках вместе с API:

  • Повторы. Ваш сервер не ответил или вернул ошибку 5xx — ТапВей повторит отправку 6 раз в течение примерно 21 часа. id события при повторах не меняется: по нему легко отсеять дубль.
  • Подпись со временем. Заголовок X-TapWay-Signature-V2 подтверждает, что запрос от ТапВей. Его нельзя переслать повторно через сутки. Пример проверки на Node.js и PHP — в справке.
  • Журнал и проверка. Кнопка «Проверить» отправляет тестовое событие и сразу показывает ответ вашего сервера. Журнал хранит отправки за 30 дней. Неудачную отправку можно повторить вручную.
  • Только https. Данные клиентов не уходят открытым текстом, а на адреса внутренних сетей ничего не отправляется.

Документация

Все методы описаны на странице api.tapway.me/v1/docs: параметры, права, примеры запросов и ответов, ошибки. Там же лимиты и проверка подписи вебхуков. Машинное описание в формате OpenAPI 3.1 открывается в Postman и Insomnia, по нему можно сгенерировать клиент на любом языке.

Страница документации ТапВей API: меню разделов и методов слева, вводный раздел «Ключ и права» справа
Документация: разделы слева, каждый метод с примерами
Метод «Создать запись» в документации ТапВей API: поля запроса, пример тела и пример ответа
Каждый метод — с полями, примером запроса и ответа

Безопасность и ограничения

  • Ключ — только на сервере. Не вставляйте его в код страницы или мобильного приложения. Из браузера посетителя API не отвечает.
  • Только свой проект. Ключ видит данные одного проекта. Чужой id получит ответ «не найдено».
  • Лимиты. На «Про» — 60 запросов в минуту и 10 000 в сутки, на «Бизнесе» — 300 и 100 000. Лимиты тарифа тоже действуют: например, на число товаров и записей в месяц.
  • Проверка содержания. Тексты, ссылки и фото товаров проходят ту же проверку, что и в кабинете. Фото с чужих сайтов поставить нельзя — только загруженные через API.
  • Через API нельзя: менять дизайн и блоки страниц, удалять контакты и сделки CRM, создавать отправления СДЭК и Яндекс Доставки, управлять тарифом и доменами. Запись через API создаётся без предоплаты: оплату принимает ваша система.

Когда API не нужно

API — инструмент для программиста. Многие задачи решаются без кода:

  • заявки в amoCRM, Bitrix24 или RetailCRM — готовые интеграции на «Бизнесе»;
  • контакты в рассылку — подключение Unisender с «Про»;
  • уведомления о заявках и записях — в Telegram через общий бот ТапВей на любом тарифе;
  • разовая выгрузка — CSV заказов, товаров, ответов на опросы и статистики в кабинете.

Подробнее про все способы — на странице «API и интеграции».

Частые вопросы

Сколько стоит API?

Отдельной платы нет: API входит в тарифы «Про» и «Бизнес». На бесплатном и «Базовом» тарифах ключ создать нельзя. Сравнить тарифы можно на странице тарифов.

Можно ли подключить запись к Яндекс Картам через API?

Кнопку «Записаться онлайн» в Яндекс Картах ставят только партнёры Яндекса. ТапВей пока не партнёр. Сейчас страницу с записью можно указать в карточке организации как сайт — как это сделать, рассказали в статье «Как добавить онлайн-запись в Яндекс Карты».

Что будет с ключом, если я передам проект другому человеку?

Все ключи проекта отзовутся автоматически. Новый владелец создаст свои.

Как понять, что ключ украли?

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

Нужно ли что-то менять в старых вебхуках?

Нет. Прежний заголовок X-TapWay-Signature по-прежнему приходит, а «Webhook URL» из настроек проекта шлёт тело прежнего формата. Новое — повторы, журнал и подпись со временем — работает само. Одно исключение: адреса с http больше не принимаются и события на них не уходят. Если у вас такой адрес, замените его на https.

Попробуйте самиСоздайте мультиссылку или сайт за 10 минут — бесплатно.
Попробуйте бесплатно