Использование и подключение API платформы beseller

 

Что такое API?

 

API (англ. Application Programming Interface) — это интерфейс программирования приложений. API конкретного приложения или сервиса предоставляет набор готовых процедур, функций и переменных, с помощью которых сторонние разработчики могут создавать свои приложения и скрипты для работы с этим сервисом.

При работе через API приложение отправляет запрос к сервису и получает ответ, содержащий запрошенные данные, вне зависимости от того, на каком языке программирования они созданы.

 

Что позволяет делать API платформы beseller?

 

Цель создания API платформы beseller — предоставление сторонним приложениям возможности  взаимодействия с сайтами и базами данных интернет-магазинов.

API beseller позволяет создавать собственные приложения,  а также осуществлять синхронизацию данных с системами автоматизации бизнес-процессов: бухгалтерский учет, складской учет, CRM, электронные почтовые рассылки и т.д.

API beseller построен на базе GraphQL и позволяет использовать практически любой язык программирования. API возвращает ответы и данные в формате JSON.

Владельцы интернет-магазинов при помощи сторонних сервисов и собственных приложений имеют возможность обращаться по API к:

Информации об оформленных заказах

Доступные действия (методы) обработки информации о заказах:

  1. Выбор информации о заказе по ID
  2. Выбор информации о заказах по фильтру
  3. Количество заказов по фильтру
  4. Создание заказа
  5. Удаление заказа
  6. Массовое удаление заказов
  7. Выбор всех доступных статусов для заказов
  8. Обновление статуса заказа
  9. Добавление комментария к заказу

Информации о подписчиках

Доступные действия (методы) обработки информации о подписчиках:

  1. Добавление подписчика
  2. Удаление подписчика
  3. Массовое удаление подписчиков
  4. Выбор данных о подписчиках по фильтру
  5. Количество подписчиков по фильтру

Информации о зарегистрированных пользователях

Доступные действия (методы) обработки информации о подписчиках:

  1. Выбор информации о зарегистрированных пользователях по ID
  2. Выбор информации обо всех зарегистрированных пользователях
  3. Выбор информации обо всех данных указанных пользователем при регистрации:
    • Фамилия, имя, отчество;
    • Контактный адрес электронной почты;
    • Контактный номер телефона;
    • Указанный адрес доставки: индекс, название населенного пункта, название улицы, номер дома, номер корпуса, номер квартиры, этаж;

Обратите внимание! При регистрации, пользователь может не заполнить все указанные выше поля.

 

Планы по развитию API

 

В ближайшее время, мы планируем открыть интерфейсы для поддержки взаимодействия магазинов со сторонними приложениями и сервисами по работе с:

  1. Разделами каталога.
  2. Товарами.
  3. Корзиной.
  4. Скидками.
  5. Способами доставки.
  6. Способами оплаты.

 

Как протестировать работу с API?

 

Для тестирования взаимодействия с API платформы beseller создан тестовый магазин beseller-api.shop.by.

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

 

Отправить запрос на получение доступа к API beseller

 

Как протестировать работу с API?

Перед тестированием взаимодействия с API мы рекомендуем вам:

  1. оформить самостоятельно несколько заказов;
  2. подписаться на рассылку;
  3. посмотреть как информация об оформленных заказах и подписчиках отображается в панели администрирования магазина.

Панель управления магазином доступна по адресу: beseller-api.shop.by/manager/. Логин и пароль при входе в панель управления аналогичны логину и паролю доступа к магазину.

 

Как подключиться по API к своему магазину?

 

Для связи приложения с вашим магазином необходимо указать url-адрес доступа к API вида:

http://адрес_вашего_сайта :8082/graphql?token=ваш_персональный_секретный_ключ

Секретный ключ вы можете получить по запросу у вашего персонального менеджера.

 

Отправить запрос на получение ключа для доступа по API к моему магазину

 

Функции и переменные GraphQL для работы с API платформы beseller

 

В файлах, которые доступны для скачивания по ссылке вы можете ознакомиться с функциями и параметрами поддерживаемыми API beseller.

Файлы содержит описание и примеры:

  1. поддерживаемых запросов на выборку данных из базы данных магазина (Root query);
  2. поддерживаемых запросов на изменение данных в базе данных магазина (Mutations);
  3. поддерживаемых переменных (Arguments);

По мере реализации новых возможностей файл будет обновляться.

Информацию по поддерживаемым запросам и переменным вы также можете получить при помощи GraphiQL Feen, подключившись к тестовому магазину

 

Как подключиться к API с использованием языка программирования PHP

 

Для удобства работы с API платформы beseller вы можете воспользоваться:

  1. Классами разработанными нами под PHP.
    1. GraphqlClient — осуществляет прием и передачу данных на сервер;
    2. GraphQlHelper — содержит в себе реализованные query и mutation API;
  2. Примерами использования классов для осуществления выборок и изменений в базе данных интернет-магазина.

 

Скачать классы и примеры использования

 

Как формировать запросы к API?

 

Настройка локального окружения

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

В качестве локального окружения используется GraphiQL Feen, это расширение для браузера Google Chrome которое позволяет формировать запросы к API.

После установки приложения у вас в браузере возле адресной строки появится иконка приложения.

Локальное окружение

Откройте приложение GraphiQL Feen и перейти на вкладку «SERVERS», выберите метод отправки POST, после чего укажите url-адрес доступа к API.

В качестве тестового url необходимо использовать следующий адрес:

http://beseller-api.shop.by:8082/graphql?token=e7d08e9e90d2e47ec4d7cd9909df242978b1f1ba

Локальное окружение настроено, можно формировать запросы к API. Для этого необходимо открыть вкладку «QUERIES»

Как формировать запросы к API?

Формирование запроса к API beseller при помощи GraphiQL Feen и полученный ответ

Пояснения к скриншоту:

  1. Сохраненные запросы
  2. Поле для ввода запросов
  3. Поле ввода переменных
  4. Полученный ответ
  5. Кнопка запуска

 

Пример запроса на получение списка оформленных заказов за указанный промежуток времени

query ($first:Int, $offset:Int, $filter: OrdersFilterType){
orders(first:$first, offset:$offset, filter:$filter){
comment
status{
id
description
name
}
create_date
update_date
total {
suffix
value
}
payment {
name
description
cost {
suffix
value
}
}
delivery {
name
description
cost {
suffix
value
}
}
currencies {
bank_code
course
suffix
}
user_data {
name
description
value
}
}
}

 

Указание промежутка времени для выборки данных об оформленных заказах

{
"filter": {
"date_after": "2017-11-16T00:00:01Z",
"date_before": "2017-11-23T00:00:01Z"
}
}

 

Пример ответа от API

{{
"data": {
"orders": [
{
"comment": "Culpa officiis vel ut.",
"create_date": "2017-11-22 16:23:28",
"currencies": [
{
"bank_code": "BYN",
"course": 10000,
"suffix": "руб."
}
],
"delivery": {
"cost": [
{
"suffix": "руб.",
"value": 0
}
],
"description": "Курьер",
"name": "custom"
},
"payment": {
"cost": [
{
"suffix": "руб.",
"value": 0
}
],
"description": "Пластиковые карты",
"name": "custom"
},
"status": {
"description": "Новый",
"id": 1,
"name": "new"
},
"total": [
{
"suffix": "руб.",
"value": 4450
}
],
"update_date": "2017-11-22 16:23:28",
"user_data": [
{
"description": "Адрес e-mail",
"name": "email",
"value": "nmoore@yahoo.com"
},
{
"description": "Телефон",
"name": "phone",
"value": "784.392.3949 x69329"
},
{
"description": "Адрес",
"name": "registration",
"value": "607 Erik Station Suite 057\nReynaberg, WY 83542-0037"
},
{
"description": "Комментарий",
"name": "comment",
"value": "Id nam illo optio."
},
{
"description": "ФИО",
"name": "fio",
"value": "Jordi Mann MD"
}
]
}

}
]
}
}