Categories: Новости

API магазина WooCommerce теперь стабильный, обеспечивает лучшую поддержку пользовательских интерфейсов

WooCommerce объявила сегодня, что ее новый API Store стал стабильным после двух лет разработки. Он поддерживает новую блочную корзину плагина и процесс оформления заказа, а также все блоки продуктов.

Store API — это общедоступный API без проверки подлинности, который предоставляет конечные точки REST API для корзины, оформления заказа и функциональности продукта. Основной разработчик WooCommerce Майк Джолли объяснил, чем новый API отличается от REST API плагина:

Основное различие между Store API и WC REST API заключается в том, что Store API разрешает неавторизованный доступ к данным хранилища, например продуктам. Это делает его подходящим для различных вариантов использования, включая пользовательские интерфейсы.

Это неавторизованный API . Для доступа не требуются ключи API или токены аутентификации.

Еще одно отличие состоит в том, что Store API поддерживает данные корзины. Это позволяет выполнять операции с корзиной, такие как добавление товаров в корзину, обновление количества, применение купонов и отправка заказов. Доступна только корзина текущего покупателя.

Данные, возвращаемые из Store API, всегда отражают текущего пользователя (на основе файлов cookie), тогда как REST API WC обеспечивает более широкий доступ к любым данным, если у вас есть правильные права доступа.

В интервью HollerWP в прошлом году Джолли сказал, что полезно думать об API Store как о клиентах, а о ядре REST API как об API для управления магазином.

«Разделение их таким образом дает понять, что данные раскрываются в общедоступном контексте», — сказал он.

Скотт Болинджер, соучредитель AppPresser , объяснил, как Store API решает проблему с исходным REST API WooCommerce.

«Он [API REST WC] никогда не предназначался для мобильных, безголовых или любых других интерфейсных реализаций», — сказал Болинджер. «Это было предназначено только для бэкэнд-администрирования, такого как инвентарь, добавление/удаление продуктов и т. д.

«Проблема в том, что альтернативы не было, поэтому безголовые/мобильные приложения использовали его для отображения товаров. С WC REST API все требует аутентификации, что не имеет смысла, поскольку продукты общедоступны на вашем веб-сайте. Вам не нужно проходить аутентификацию, чтобы увидеть чью-то продукцию».

Новый API магазина позволяет разработчикам получать продукты, атрибуты, коллекции и другие данные без аутентификации, а также добавляет API корзины, что делает возможным оформление заказа.

«Я думаю, что большинство реализаций WC Rest API, предназначенных для внешнего интерфейса, должны переключиться на Store API», — сказал Болинджер.

Команда WooCommerce все еще работает над тем, чтобы сделать этот API подходящим для автономных и мобильных приложений. В идеальном мире лучший API корзины для безголовых приложений WooCommerce был бы создан WooCommerce. Тем временем Болинджер рекомендовал CoCart .

CoCart — это настраиваемый WordPress REST API для WooCommerce, который позволяет разработчикам создавать безголовые (или несвязанные) магазины электронной коммерции, используя выбранные ими фреймворки.

«Я не использую Store API и не думаю, что буду», — сказал основатель Co-Cart Себастьян Дюмон. «Оба API уникальны для своих индивидуальных целей. API магазина WooCommerce разработан для блоков Гутенберга, для которых требуется только фиксированный формат, и его по-прежнему можно использовать на нативных витринах.

«Я не вижу сегодняшних новостей, затрагивающих CoCart. Большинство моих пользователей уже знали об API Store, когда он все еще был экспериментальным, и потерпел неудачу после того, как попробовал его для безголовых целей. Он также требует настройки, а CoCart — нет».

Дюмон сказал, что в Store API по-прежнему отсутствует много ценной информации, которая требуется разработчикам, и что использование CoCart экономит им значительное время на разработку.

«С WC Rest API нет ни корзины, ни кассы, поэтому здорово, что они добавили это», — сказал Болинджер. «Однако одноразовые номера работают только тогда, когда вы находитесь на сайте, поэтому для мобильных приложений или безголового WP вы столкнетесь с проблемами. К сожалению, это не то, что нужно для безголового (пока).

«Существует фильтр для отключения одноразовой аутентификации: add_filter( ‘woocommerce_store_api_disable_nonce_check’, ‘__return_true’ );даже изменение этого параметра для использования чего-то вроде JWT не будет полностью работать для безголовых, по крайней мере, в моем тестировании. Я надеюсь, что они решат эту проблему в будущем».

Эта конкретная проблема все еще открыта в репозитории WooCommerce GitHub. Похоже, что сопровождающие готовы исследовать, как ядро ​​может приспособиться к этому. Тем временем для разработчиков мобильных приложений доступны сторонние решения.

Технический обзор того, что в настоящее время возможно с новым API Store, см. в объявлении Майка Джолли . Он продемонстрировал, как можно пройти весь процесс покупки с помощью API-клиента Insomnia, даже не посещая магазин. Техническая документация API и руководство по расширяемости доступны на GitHub.

writer

Recent Posts

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…

2 года ago

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Команда Gutenberg создаст станцию ​​тестирования удобства использования в WordCamp US, где посетители смогут принять участие…

2 года ago

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…

2 года ago

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…

2 года ago

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…

2 года ago

DesktopServer 3.8.4 включает подарок сообществу

DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…

2 года ago