WhatsApp API для служб доставки и курьерских компаний
Обновлено
Главная потеря в доставке — пустой выезд: курьер приехал, а получателя нет дома или он ждал посылку завтра. Вторая нагрузка — звонки «где моя посылка?», которые отвлекают диспетчеров. WhatsApp закрывает обе: получатель заранее знает окно доставки, переносит его одним ответом и не звонит, чтобы узнать статус.
Особенность отрасли: получатель часто заказывал не у вас, а в магазине, и ваш номер видит впервые. Поэтому доставке важнее других представляться в первом сообщении и учитывать лимиты на первые сообщения новым людям — об этом ниже.
Сценарии
Посылка принята
Когда: в вашей системе создана накладная. Что уходит: кто вы, от какого магазина посылка, номер отправления и ожидаемая дата. Что отвечает клиент: чаще ничего, иногда — «привезите на работу» или новый адрес. Такой ответ сразу уходит диспетчеру.
Курьер выехал
Когда: курьер взял маршрут. Что уходит: имя курьера, окно в час-два и просьба подтвердить. Что отвечает клиент: «да» — обработчик отмечает подтверждение в маршруте; другое время или «меня не будет» — диспетчер правит маршрут до выезда, а не после.
Не застали дома
Когда: курьер отметил неудачную попытку. Что уходит: два варианта повторной доставки цифрами или предложение забрать в пункте выдачи. Что отвечает клиент: «1» или «2» обработчик разбирает сам, свободный текст — диспетчеру.
Пункт выдачи и срок хранения
Когда: посылка прибыла в пункт выдачи. Что уходит: адрес, часы работы, сумма к оплате и до какого числа ждём. За день до конца хранения — одно напоминание, а не ежедневные. Что отвечает клиент: «можно продлить на два дня?» — вопрос оператору.
Вручено
Когда: курьер закрыл доставку. Что уходит: подтверждение, а если посылку по просьбе оставили у двери или на ресепшене — фото. Что отвечает клиент: «я ничего не получал» — срочный сигнал, его стоит сразу показывать старшему смены.
Поручения курьерам
Когда: диспетчер добавил адрес в маршрут. Что уходит: адрес, телефон получателя и сумма к оплате — курьеру в личный WhatsApp с рабочего номера. Что отвечает курьер: «принял» или «не успеваю» — диспетчер видит это сразу. Общий чат курьеров через API не подойдёт: отправка в группы не поддерживается.
Как подключить
Источник событий — ваша система учёта отправлений: собственная программа, конфигурация на 1С, приложение курьеров. Небольшая служба может вести маршруты в Google Таблице. При каждой смене статуса система делает POST /messages/send с телефоном получателя и текстом — формат в документации.
Ответы приходят событием message на ваш вебхук: в нём телефон получателя (payload.from) и текст, по телефону находите его активное отправление. Разбор простой: «да», «1», «2» обрабатываются автоматически, всё остальное — человеку. Такие ответы удобно дублировать в рабочий чат диспетчеров в Telegram.
Перед первой отправкой номер можно проверить: POST /contacts/check покажет, есть ли получатель в WhatsApp (до 200 проверок в сутки на номер). Нет WhatsApp или пришёл message.ack с ошибкой — пусть курьер позвонит.
Если у вас несколько городов или филиалов, у каждого может быть свой номер со своей историей и вебхуком, а региональному партнёру можно выдать ключ номера — он работает только со своим номером. Подробно — в гайде о нескольких номерах.
Код пишет ваш разработчик на любом языке, без кода связку собирают в n8n или Make, а типовую интеграцию можно заказать заявкой из кабинета.
Что важно учесть
- Представляйтесь. Первая строка — кто вы и от какого магазина посылка. Незнакомый номер без объяснений получатель легко отметит как спам, а жалобы — главная причина блокировок.
- Только о доставке. Получатель ждёт посылку, а не рекламу ваших тарифов.
- Лимиты на новых людей. Почти каждый получатель для вашего номера новый. На базовом уровне — до 150 первых сообщений новым людям в сутки и не чаще раза в 5 секунд, в первые две недели после подключения — прогрев начиная с 20 новых контактов в сутки. Если за час появилось 40+ новых контактов, первые сообщения новым людям встают на паузу на 24 часа. Утренняя волна «курьер выехал» на сотню адресов в один номер не поместится. Для сотен новых получателей в день честнее посмотреть на официальный WhatsApp Business API: там это штатный сценарий, но с оплатой за шаблонные сообщения.
- Вебхуки не повторяются. Если ваш сервер был недоступен, событие не придёт снова. Забирайте пропущенное через
GET /messages?since=…— иначе потеряете «перенесите на завтра». - Диспетчер может ответить сам — с телефона или в WhatsApp Web. Такие сообщения приходят событием
message.out, в истории у нихsource: "phone", и автоматике в этот чат лучше не писать. - Адреса и телефоны — персональные данные. Сервер и журнал сообщений находятся в Казахстане, история хранится без срока, хранение текстов можно выключить.
Сколько стоит
9 900 ₸ в месяц за номер, без платы за сообщения и статусы. Три города со своими номерами — 29 700 ₸ в месяц. Баланс пополняется через Kaspi или по счёту на ТОО/ИП, списание по дням. Все условия — на странице цен. Начать — с регистрации: подключение номера занимает около 5 минут.
Частые вопросы
Получатель заказывал не у нас — можно ему писать?
Да, если сообщение о его доставке: он ждёт посылку и оставил телефон для связи. Назовите себя и магазин-отправитель и не добавляйте рекламу.
Что делать, если у получателя нет WhatsApp?
Проверьте номер через POST /contacts/check: при exists: false переходите к звонку или SMS по вашему обычному процессу. Проверок — до 200 в сутки на номер.
Как понять, что получатель прочитал сообщение?
Придёт вебхук message.ack: 2 — доставлено, 3 — прочитано. Тот же статус есть в GET /messages/{id}. Если у получателя выключены отчёты о прочтении, статус останется «доставлено».
Можно ли отправлять сообщения от имени курьера?
Сообщения уходят с номера, подключённого к wapi.kz, — обычно это рабочий номер службы. Имя и телефон курьера просто укажите в тексте. Подключать личные номера курьеров не нужно: каждый номер оплачивается отдельно.
Можно ли писать в общий чат курьеров?
Через API — нет, отправка идёт только в личные чаты. Поручения отправляйте каждому курьеру лично, а в общий чат диспетчер пишет с телефона.
Подключите WhatsApp к своим системам
9 900 ₸ в месяц за номер, без платы за сообщения. Сервер в Казахстане, оплата Kaspi или счётом на ТОО/ИП. Подключение — около 5 минут.