WhatsApp API для служб доставки и курьерских компаний

Обновлено

Главная потеря в доставке — пустой выезд: курьер приехал, а получателя нет дома или он ждал посылку завтра. Вторая нагрузка — звонки «где моя посылка?», которые отвлекают диспетчеров. WhatsApp закрывает обе: получатель заранее знает окно доставки, переносит его одним ответом и не звонит, чтобы узнать статус.

Особенность отрасли: получатель часто заказывал не у вас, а в магазине, и ваш номер видит впервые. Поэтому доставке важнее других представляться в первом сообщении и учитывать лимиты на первые сообщения новым людям — об этом ниже.

Пример сообщений клиенту
Данияр, курьер Айдос везёт вашу посылку №7716, будет с 14:00 до 15:00. Удобно? Ответьте «да» или напишите другое время.
Не застали вас по адресу ул. Кенесары, 40. Когда привезти снова — завтра до 13:00 или после 15:00? Ответьте «1» или «2».
Посылка №7716 ждёт в пункте выдачи на пр. Абая, 52 до 22 октября. Оплата при получении — 12 500 ₸, можно через Kaspi.

Сценарии

Посылка принята

Когда: в вашей системе создана накладная. Что уходит: кто вы, от какого магазина посылка, номер отправления и ожидаемая дата. Что отвечает клиент: чаще ничего, иногда — «привезите на работу» или новый адрес. Такой ответ сразу уходит диспетчеру.

Курьер выехал

Когда: курьер взял маршрут. Что уходит: имя курьера, окно в час-два и просьба подтвердить. Что отвечает клиент: «да» — обработчик отмечает подтверждение в маршруте; другое время или «меня не будет» — диспетчер правит маршрут до выезда, а не после.

Не застали дома

Когда: курьер отметил неудачную попытку. Что уходит: два варианта повторной доставки цифрами или предложение забрать в пункте выдачи. Что отвечает клиент: «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 минут.

Гайды по теме

Смотрите также