Woove Woove Connect Связки API и ApiShip

Связка · API и ApiShip

Интеграция ApiShip по API

Заявки из вашего кода уходят в ApiShip без ручного переноса. Для ApiShip в заявке нужны телефон и город или адрес.

999 ₽ в месяц · 14 дней бесплатно · черновой режим по умолчанию

Продавец принимает оплату

Заявка · API14:02

APIЮлия Ковалёва, +7 950 614-29-87
Woove Connect7 полей разобрано, повторов нет
ApiShipЗаказ с сайта уходит в доставку, перевозчика выбираете вы

Поля

Что уходит в ApiShip

Код службы и номер тарифа задают, кто и по какому тарифу везёт. Адрес отправителя и телефон обязательны: без них перевозчик не примет заявку. Вес и габариты берутся из настройки, если в заявке их нет.

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

В API
В ApiShip
Пример
Name
recipient.contactName
Юлия Ковалёва
Phone
recipient.phone
79506142987
Email
recipient.email
yu.kovaleva@example.ru
Comment
order.description
recipient.comment
Позвоните перед доставкой
City
recipient.city
Екатеринбург
Address
recipient.addressString
ул. Малышева, 51, кв. 12

Из настройки интеграции: order.clientNumber, order.providerKey, order.pickupType, order.deliveryType, order.tariffId, order.weight.

Запрос в ApiShip: POST https://api.dev.apiship.ru/v1/orders.

Запрос к Woove
curl -X POST https://woove.ru/hook/api/<ваш ключ> \
  -H 'Content-Type: application/json' \
  -d '{
    "Name": "Юлия Ковалёва",
    "Phone": "+7 950 614-29-87",
    "Email": "yu.kovaleva@example.ru",
    "Comment": "Позвоните перед доставкой",
    "City": "Екатеринбург",
    "Address": "ул. Малышева, 51, кв. 12",
    "tranid": "order-1001"
  }'

Обязательно

Что нужно в заявке

Заявка без этих полей остаётся в кабинете со статусом «Не разобрано» и причиной.

Телефон

Без него заявка не уйдёт в ApiShip. Передавайте поле "Phone" в каждом запросе.

Город или адрес

Без них заявка не уйдёт в ApiShip. Сделайте обязательным хотя бы одно из полей. Передавайте поле "City" в каждом запросе.

Подключение

Как подключить

Пока включён черновой режим, заявки разбираются, но в ApiShip не уходят.

  1. Доступ в ApiShip

    Логин и пароль кабинета ApiShip, код службы и номер тарифа.

    • Зарегистрируйтесь на apiship.ru, аккаунт заводится сам
    • Логин и пароль от кабинета и есть доступ к API: токен мы получаем сами при каждой отправке
    • Код службы доставки берётся из списка перевозчиков в кабинете, например cdek или dpd
    • Номер тарифа даёт расчёт стоимости: сделайте его в кабинете и запишите tariffId нужного варианта
    • Для проб есть тестовый контур с отдельным адресом, заказы в нём не уходят перевозчику

    Где взять доступ к ApiShip

  2. Интеграция в кабинете

    В кабинете откройте «Connect» и подключите ApiShip. На вкладке «Настройка» в поле «Источник заявок» выберите «API» и нажмите «Скопировать». Там же заполните блок «Доступ».

  3. Отправка из вашего кода

    • Отправляйте POST на адрес вебхука из кабинета с JSON-телом: {"Name": "…", "Phone": "…", "Email": "…", "Comment": "…"} и любыми своими полями.
    • В ответ придёт {"ok": true}. Повторы с одинаковым tranid отбрасываются.
    • Заявка с ошибкой настройки появится на вкладке «Заявки» со статусом «Не разобрано» и причиной.

    Тело читается как JSON, если в заголовке Content-Type указан application/json. Иначе Woove разбирает его как форму. Вложенный JSON разворачивается в плоские поля. Массив пар с подписью и значением превращается в поля с этими подписями. Запрос можно отправлять из браузера: заголовки CORS разрешают POST с любого домена. Поля _redirect, _thanks, _source и _gotcha служебные, в заявку они не попадают. Запрос с одним полем test записывается как проверочный и в сервис не уходит.

    • 200 {"ok":true}: заявка принята
    • 404 unknown hook: ключа из адреса нет ни у одной интеграции
    • 413 too large: тело запроса больше 256 КБ
    • GET на адрес вебхука: отвечает ok, заявку не создаёт

    Повтор отбрасывается, если заявка с таким tranid уже принята или отправлена. Заявка с ошибкой настройки повтор не блокирует.

    Для ApiShip добавьте в JSON:

    • поле "City"
    • поле "Address"
  4. Поля формы

    Ключи JSON — имена полей.

    Менять ничего не нужно: имена полей совпадают с теми, что Woove ждёт по умолчанию.

  5. Проверка

    Отправьте запрос из примера. На вкладке «Заявки» у неё будет статус «Черновик» и то, что уйдёт в ApiShip. Затем выключите «Черновой режим» на вкладке «Настройка».

    API и Woove Connect: заявки с форм в CRM и мессенджеры

Ошибки

Ошибки этой связки

После исправления заявку можно отправить ещё раз с вкладки «Заявки».

API → ApiShip

Не разобрано: нужен телефон получателя

В заявке не было телефона. Передавайте поле "Phone" в каждом запросе.

API → ApiShip

Не разобрано: в заявке нет города и адреса доставки

В заявке не было города и адреса. Сделайте обязательным хотя бы одно из полей. Передавайте поле "City" в каждом запросе.

API

В ответ приходит 404

Ключ в адресе не совпадает с ключом интеграции. Скопируйте адрес из кабинета заново.

ApiShip

ApiShip отвечает «Некорректный логин или пароль»

Проверьте контур: у боевого и тестового кабинеты разные, и пароль от одного в другом не работает.

ApiShip

Отвечает «тариф не найден» или «нет подключения к СД»

Тариф принадлежит конкретной службе. Сделайте расчёт в кабинете для своего направления и возьмите tariffId из ответа, а код службы поставьте тот же.

Вопросы

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

Инструкция со скриншотами: настройка API.

Какие поля нужны для ApiShip?

Нужны телефон и город или адрес. Без этого заявка остаётся в кабинете со статусом «Не разобрано». Имя, почта и комментарий можно не заполнять.

Куда в ApiShip попадёт поле Comment?

В поля order.description и recipient.comment: «Позвоните перед доставкой».

Сколько стоит связка API и ApiShip?

999 ₽ в месяц или 9 999 ₽ в год за одну интеграцию. Первый месяц 499 ₽. Первые 14 дней бесплатно, карта не нужна. Пакет Connect: до 3 интеграций за 1 990 ₽ в месяц. В Woove Pro за 4 999 ₽ интеграций без ограничения.

Начало

Заявки из вашего кода в ApiShip

14 дней бесплатно, дальше 999 ₽ в месяц за связку. Черновой режим включён по умолчанию.

Продавец принимает оплату