dwins-dev / wc_rest_api_extension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Woocommerce REST API extension

Плагин для расширения REST API woocommerce используя его подход авторизации через Basic Auth и ключи доступа.

Каждый запрос должен содержать Basic Auth и стрку webhook_url в body которая должна передавать в себе url сайта из которого идет запрос и к которому должены будут передаваться запросы от webhook wc

Название сайта и роли

Запрос

post /wp-json/wc-rest-api-extension/v1/site-data

Ответ

Вернет массив с строкой названия сайта и массивом ролей или в случае ошибки массив с кодом ошибки

Название сайта

Запрос

post /wp-json/wc-rest-api-extension/v1/site-name

Ответ

Вернет строку с названием сайта или массив с кодом ошибки

Список пользователей

Запрос

post /wp-json/wc-rest-api-extension/v1/users

Ответ

Вернет массив с пользователями или массив с кодом ошибки

Добавить пользователя

Запрос

post /wp-json/wc-rest-api-extension/v1/user-create

body:

{
  "username": "name",
  "password": "password",
  "email": "email@email.email",
  "role": "subscriber"
}

Ответ

В ответ приходит id созданного пользователя или массив с кодом ошибки

Обновить данные пользователя

Запрос

post /wp-json/wc-rest-api-extension/v1/user-update

body:

{
  "ID": 3,
  "username": "name",
  "password": "password",
  "email": "email@email.email"
}

Ответ

В ответ приходит массив обновленного пользователя или массив с кодом ошибки

Удалить пользователя

Запрос

post /wp-json/wc-rest-api-extension/v1/user-delete

body:

{
  "ID": 3
}

Ответ

В случае ошибки в ответ приходит массив с кодом ошибки

Получить массив ролей

Запрос

post /wp-json/wc-rest-api-extension/v1/roles

Ответ

Пример:

{
  "administrator": "Administrator",
  "editor": "Editor",
  "author": "Author",
  "contributor": "Contributor",
  "subscriber": "Subscriber",
  "customer": "Customer",
  "shop_manager": "Shop manager"
}

В случае ошибки в ответ приходит массив с кодом ошибки

Webhook

Вебхуки подключаются к системе ключей Woocommerce и используют те же ключи что были сгенерированы при подключении к сайту по rest api woocommerce

Для того что бы активировать их достаточно выполнить один из выше перечисленных запросов, с переданным адрессом сайта к которому будут подключены вебхуки. Передать адрес сайта нужно в теле запроса, ячейке массива с ключом webhook_url

После активации вебхуков, они будут отправлять

Запросы к сайту

После добавления пользователя

Отправляется запрос по адресу с Basic auth

POST ссылка.сайта/api/webhooks/connector-users

body:

{
  "site_url": "ссылка.на.сайт.вп",
  "user_id": 3,
  "user_email": "test@test.test",
  "user_role": "subscribe"
}

После обновления аккаунту пользователя

Отправляется запрос по адресу с Basic auth (пс. username или в нашем случае consumer_key отправляется как хэш код сгенерированный с использованием метода HMAC с алгоритмом sha256 и секретным ключем wc-api все ниже описанные запросы имеют такуюже логику поведения)

PATH ссылка.сайта/api/webhooks/connector-users

body:

{
  "site_url": "ссылка.на.сайт.вп",
  "user_id": 3,
  "user_email": "test@test.test",
  "user_role": "subscribe"
}

После удаления пользователя

Отправляется запрос по адресу с Basic auth

DELETE ссылка.сайта/api/webhooks/connector-users

body:

{
  "site_url": "ссылка.на.сайт.вп",
  "user_id": 3
}

Отключить вебхуки

Отключить их можно удалив rest api ключ через который он был подключен

About


Languages

Language:PHP 100.0%