REST API
Woo2iiko регистрирует REST-маршруты в namespace woo2iiko/v1. Базовый URL: /wp-json/woo2iiko/v1/.
Авторизация
| Тип | Метод |
|---|---|
| Открытые | Без авторизации (системные). |
| Требуют входа | Cookie + X-WP-Nonce (checkUserPermission). |
| Админские | Capability manage_options / manage_woocommerce. |
| Вебхук iiko | Заголовок authorization = iiko_auth_key. |
System
| Метод | Эндпоинт | Назначение | Права |
|---|---|---|---|
| GET, POST | /info | Статистика плагина. | открыт |
| GET, POST | /callback | Вебхук iiko (StopList, OrderError, OrderUpdate). | открыт (auth_key) |
| POST | /init_table | Pay-by-Table инициализация. | открыт |
| GET, POST | /init_all_tables | Все столы. | открыт |
SMS
| Метод | Эндпоинт | Назначение |
|---|---|---|
| POST | /send_auth | Отправка SMS-кода авторизации. |
| GET, POST | /send_sms | Отправка SMS. |
| GET, POST | /waitcall_callback | Callback WaitCall (звонок). |
Import
| Метод | Эндпоинт | Назначение | Права |
|---|---|---|---|
| GET, POST | /import_background_processes | Статус фонового импорта. | — |
| POST | /import-product/{product_id} | Импорт одного товара по iiko-id. | manage_woocommerce |
Checkout
| Метод | Эндпоинт | Назначение |
|---|---|---|
| GET | /checkout/shipping | Методы доставки. |
| GET | /checkout/payments | Методы оплаты. |
| POST | /checkout/totals | Итоги checkout (param bonuses). |
| GET | /checkout/bonuses | Баланс бонусов. |
| GET | /checkout/profile | Дефолты профиля. |
Geo / Suggest
| Метод | Эндпоинт | Назначение | Права |
|---|---|---|---|
| GET | /checkout/suggest | Подсказки адреса (q). | — |
| GET | /checkout/geocode | Геокодирование (q). | — |
| GET | /checkout/reverse-geocode | Обратное (lat, lon). | — |
| GET | /checkout/dadata/suggest | DaData-подсказки. | checkUserPermission |
| GET | /checkout/schedule/days | Дни (deprecated → /calendar/dates). | — |
| POST | /checkout/schedule/times | Время (deprecated → /calendar/time-slots). | — |
Deprecated endpoints
/checkout/schedule/* и /checkout/coordinates устарели. Используйте /calendar/*. Координаты теперь в hidden form fields.
Calendar (DeliveryCalendar)
| Метод | Эндпоинт | Назначение |
|---|---|---|
| GET | /calendar/dates | Доступные даты. |
| GET | /calendar/time-slots?date=X | Слоты времени. |
| GET | /calendar/weekly-schedule | Недельное расписание. |
| POST | /calendar/clear-schedule | Очистка кеша расписания. |
| GET, POST | /calendar/schedules | GET/POST расписаний. |
Addresses (AddressManager)
Все требуют checkUserPermission:
| Метод | Эндпоинт | Назначение |
|---|---|---|
| GET | /addresses | Список адресов. |
| POST | /addresses | Добавить. |
| GET | /addresses/{id} | Получить. |
| PUT, PATCH | /addresses/{id} | Обновить. |
| DELETE | /addresses/{id} | Удалить. |
| GET | /address-form | Форма. |
| POST | /addresses/save | Сохранить (legacy). |
| GET | /addresses/html | HTML списка. |
Performance
| Метод | Эндпоинт | Назначение | Права |
|---|---|---|---|
| GET | /performance | Метрики производительности. | manage_options |
Stop-list
| Метод | Эндпоинт | Назначение |
|---|---|---|
| POST | /stop-list/refresh | Обновить стоп-лист. |
Примеры
Получить методы доставки
bash
curl -s "https://ваш-сайт/wp-json/woo2iiko/v1/checkout/shipping"Добавить адрес (требует nonce)
bash
curl -X POST "https://ваш-сайт/wp-json/woo2iiko/v1/addresses" \
-H "X-WP-Nonce: ВАШ_NONCE" \
-H "Content-Type: application/json" \
-d '{"street":"ул. Ленина","home":"10"}'