@aliasst

Как обрабатывать запросы по API идущие на сайт нашего магазина?

На сайт должны поступать Post запросы по таким урлам, domen.com/order/12345/reserve , domen.com/order/12345/status, в ответ от магазина должен приходить ответ о статусе заказа.. Цифры в урле это id заказа. То есть для каждого заказа свой урл. Как их обрабатывать? Не надо ведь для каждого заказа создавать директорию как в url, и там обрабатывать запрос?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
aliasst, в WP есть встроенный REST API и есть возможность добавлять свои эндпоинты и писать для них свои обработчики. Посмотреть доступные маршруты можно по адресу domain.com/wp-json/ все маршруты для woocommerce лежат в '/wc/v2/' там есть маршруты для получения информации о заказах. Но они все требуют авторизации. Вы можете добавить свой маршрут в functions.php, например, вот так:
register_rest_route( 'my_namespace/v1', '/orders/(?P<order_id>[\\d]+)/status', array(
        'methods' => 'GET',
        'callback' => function ($data) {
            $order = wc_get_order($data['order_id']);
            if (!$order) {
                return false;
            }

            return ['order_status' => $order->get_status()];
        },
        'args' => array(
            'order_id' => array(
                'default' => null,
                'required' => true
            ),
        )
    ) );


Результат будет таким:
5dccfead8ef6d487750742.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы