API для товаров
Для работы с товарами используются методы секции market
. В этом руководстве мы расскажем подробнее о том, что можно сделать с их помощью.
Подготовка к работе
Знакомство с API — если вы ранее не имели дела с API ВКонтакте, перед началом работы мы рекомендуем узнать об основных принципах его использования.
В первую очередь подключите сервис «Товары» в настройках вашего сообщества или с помощью метода groups.edit
.
Вам нужно создать приложение: https://vk.com/editapp?act=create Для работы со стороны клиента (например, в мобильном приложении) выберите платформу Standalone. Для работы со стороны сервера выберите платформу Веб-сайт.
Укажите название и сохраните данные, подтвердив действие через СМС. вы попадете в интерфейс администрирования приложения. В дальнейшем вам понадобятся значения полей ID приложения (в документации — API_ID
, APP_ID
, client_id
) и Защищенный ключ (client_secret
, app_secret
).
Затем необходимо получить ключ доступа для вызова методов API. вы можете использовать один из этих подходов:
- •Implicit Flow для работы со стороны клиента.
- •Authorization Code Flow для работы со стороны сервера.
При авторизации нужно запросить у пользователя права доступа market
. Список всех возможных прав доступа вы найдете на этой странице.
Вызывать методы для работы с товарами вы можете напрямую или с использованием наших SDK.
Действия с товарами
Добавление товара
Используйте метод market.add
, чтобы добавить новый товар в сообщество. В owner_id
необходимо передать идентификатор вашего сообщества со знаком минус. Название и описание задаются параметрами name
и description
, цена — параметром price
. category_id
— категория товара (например, «Аксессуары»). Список категорий можно получить методом market.getCategories
. Если товар пока недоступен, чтобы он не отображался для пользователей, передайте deleted = 1
.
В main_photo_id
и photo_ids
нужно передать идентификаторы фотографий (основной и дополнительной) для товара. вы можете узнать подробнее о загрузке фотографий в следующем разделе.
После успешного добавления товара метод вернет его идентификатор в поле market_item_id
. Товар можно использовать как вложение в записях на стене и личных сообщениях, для этого передайте в параметре attachments
(attachment
) его строковый идентификатор в виде market-{owner_id}_{market_item_id}
, например, market-12345_54321
.
Действия с заказами
API помогает отслеживать новые заказы и получать о них подробную информацию. Для этого доступны методы:
- •
market.getGroupOrders
— возвращает заказы сообщества; - •
market.getOrderById
— возвращает заказ по идентификатору; - •
market.getOrderItems
— возвращает товары в заказе;
Отслеживать заказы можно с помощью событий market_order_new
и market_order_edit
по Callback API или Bots Longpoll API.
Также API позволяет управлять статусами заказов. Например, обновлять их, когда заказы собраны, переданы в доставку или завершены. Для этого используется метод market.editOrder
.
Другие действия
- •
market.edit
— редактирование информации о товаре; - •
market.delete
— удаление товара; - •
market.addToAlbum
— добавление товара в одну или несколько подборок; - •
market.get
— получение списка товаров из сообщества; - •
market.getById
— получение товара по его идентификатору; - •
market.search
— поиск товаров в сообществе; - •
market.getComments
— получение списка комментариев к товару; - •
market.createComment
— добавление комментария к товару; - •
market.deleteComment
— удаление комментария к товару; - •
market.reorderItems
— сортировка товаров в подборке; - •
market.getAlbums
— получение списка подборок из сообщества; - •
market.getAlbumById
— получение подборки по ее идентификатору; - •
market.editAlbum
— редактирование подборки товаров; - •
market.addAlbum
— добавление подборки товаров.
Загрузка изображений
Загрузка основного изображения для товара
Допустимые форматы: JPG, PNG, GIF.
Ограничения: минимальный размер фото — 400x400px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ.
Поле POST
-запроса: file
.
Получение адреса
Вызовите метод с параметром main_photo
= 1
, чтобы получить адрес для загрузки фото.
Передача файла
Передайте файл на адрес upload_url
, полученный в предыдущем пункте, сформировав POST
-запрос с полем file
. Это поле должно содержать изображение в формате multipart/form-data
.
После успешной загрузки сервер возвращает в ответе JSON-объект с полями server
, photo
, hash
, crop_data
, crop_hash
:
{
"server":625831,
"photo":"[{\"photo\":\"8d81799f90:w\",\"sizes\":[[\"s\",\"625831075\",\"45839\",\"-5fbUeQq1YY\",75,56],[\"m\",\"625831075\",\"4583a\",\"G8yAYbsk7M4\",130,97]]}]",
"hash":"8954a4da5ba06d4e",
"crop_data":"oAAmMpwAAAAAlTWyjA",
"crop_hash":"729155760247b391134"
}
Поле server
содержит числовое значение, в hash
, crop_data
и crop_hash
возвращаются строки, а в поле photo
находится JSON-объект, структуру которого важно сохранить в исходном виде (убрав, однако, экранирование символов перед дальнейшим использованием). В PHP вы можете использовать json_decode()
для всего ответа и затем stripslashes()
для объекта photo
.
Сохранение результата
Чтобы сохранить фотографию, вызовите метод с параметрами server
, photo
, crop_data
, crop_hash
, полученными на предыдущем этапе.
После успешной загрузки фотографии вы можете прикрепить ее к товару, используя методы market.add
или market.edit
и указав идентификатор фотографии в параметре main_photo_id
.
Загрузка дополнительных изображений
Допустимые форматы: JPG, PNG, GIF.
Ограничения: минимальный размер фото — 400x400px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ.
Поле POST
-запроса: file
.
Получение адреса
Вызовите метод , чтобы получить адрес для загрузки фото.
Передача файла
Передайте файл на адрес upload_url
, полученный в предыдущем пункте, сформировав POST
-запрос с полем file
. Это поле должно содержать изображение в формате multipart/form-data
.
После успешной загрузки сервер возвращает в ответе JSON-объект с полями server
, photo
, hash
:
{
"server":625831,
"photo":"[{\"photo\":\"8d81799f90:w\",\"sizes\":[[\"s\",\"625831075\",\"45839\",\"-5fbUeQq1YY\",75,56],[\"m\",\"625831075\",\"4583a\",\"G8yAYbsk7M4\",130,97]]}]",
"hash":"8954a4da5ba06d4e",
}
Поле server
содержит числовое значение, в hash
, а в поле photo
находится JSON-объект, структуру которого важно сохранить в исходном виде (убрав, однако, экранирование символов перед дальнейшим использованием). В PHP вы можете использовать json_decode()
для всего ответа и затем stripslashes()
для объекта photo
.
Сохранение результата
Чтобы сохранить фотографию, вызовите метод с параметрами server
и photo
, полученными на предыдущем этапе.
После успешной загрузки фотографии вы можете прикрепить ее к товару, используя методы market.add
или market.edit
и указав идентификатор фотографии в параметре photo_ids
.
Загрузка фотографии для подборки товаров
Допустимые форматы: JPG, PNG, GIF.
Ограничения: минимальный размер фото — 1280x720px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ.
Название поля POST-запроса: file
.
Получение адреса
Вызовите метод , чтобы получить адрес для загрузки фото.
Передача файла
Передайте файл на адрес upload_url
, полученный в предыдущем пункте, сформировав POST
-запрос с полем file
. Это поле должно содержать изображение в формате multipart/form-data
.
После успешной загрузки сервер возвращает в ответе JSON-объект с полями server
, photo
, gid
, hash
{
"server":999,
"photo":"eyJwaG90byI6IntcInBob",
"gid":102416739,
"hash":"0adc3bd6509fdcf97052b0594c4063ff"
}
Поля server
и gid
содержат числовые значения, а в полях photo
и hash
возвращаются строки.
Сохранение результата
Чтобы сохранить фотографию, вызовите метод с параметрами server
, photo
, hash
, полученными на предыдущем этапе.
После успешной загрузки фотографии вы можете прикрепить ее к подборке товаров, используя методы market.addAlbum
или market.editAlbum
и указав идентификатор фотографии в параметре photo_id
.
Готовые инструменты
Популярные платформы интернет-магазинов предлагают готовые решения для интеграции с сервисом товаров ВКонтакте:
Конструкторы интернет магазинов
- •
- •
- •
- •
- •
- •
- •
- •
CRM системы
- •
- •
- •
Программы складского учёта
- •
Прочее
- •October CMS — плагин Shopaholic for VK Goods
- •
- •ZoomKit — загрузка товаров в vk.com через фиды данных Яндекс.Маркета, Яндекс.Недвижимости и Auto.ru
- •Cloudparser — выгрузка товаров с сайтов поставщиков
- •
- •
- •Электронный Заказ — электронный заказ, импорт товаров из XML, YML, CSV
- •Trimpo — импорт из YML, Excel, ручное добавление товаров
- •CMS ShopScript — vkgoods
- •
- •