close

Вход

Забыли?

вход по аккаунту

?

Интеграция БУС МП

код для вставки
1. Расположение Стучимся вот сюда https://partners.1c-bitrix.ru/rest_test/ POST'ом. Возвращается всегда JSON. Рядом лежит форма https://partners.1c-bitrix.ru/rest_test/form.php, на которой можно посмотреть методы, входные/выходные параметры. Она не очень хорошо описана, но интуитивно более менее кажется понятной. По соседству лежит еще одна таблица https://partners.1c-bitrix.ru/rest_test/help.php, она автоматом генерируется из текущего состояния методов и т.д., то есть там всегда актуальные данные, ключи параметров, типы и структура. 2. Основы Во входных параметрах всегда присутствуют 3 поля: ID партнера, авторизация (подпись, сигнатура, как угодно можно называть) и название метода. ID партнера - тут всё понятно. Метод - в нашем стандартном ресте метод обычно записывается в конец урла, решил сделать по-другому, название нужного метода передаем просто одним из параметров (если вдруг так будет неудобно, или выяснятся какие-то нюансы, или просто, чтобы поддержать универсальность, потом можно будет переделать с методом в конце урла). Авторизация - авторизация проверяется на каждом запросе, вряд ля будет такой большой наплыв, чтобы делать через токен, поэтому на данный момент подписываем все запросы. Строка авторизации это md5 от строки, которая определяется в зависимости от метода. Но все они имеют одинаковую структуру (порядок может отличаться, базовую строку для авторизации смотрите отдельно для каждого метода):
[#ПАРАМЕТР_1#]|[#ПАРАМЕТР_2#]|[#ПАРАМЕТР_3#]|....|[#ПАРАМЕТР_N#]|#НАЗВАНИЕ_МЕТОДА#|#ID_ПАРТНЕРА#|#ПАРОЛЬ_ДЛЯ_ПОДПИСИ_ДАННЫХ#
Параметр1, 2, 3, ... N - параметр из входных данных, это может быть хэш ключа, код модуля, либо любое другое обязательное поле из входных параметров в зависимости от метода. Название метода и ID партнера описал выше. Пароль для подписи данных - набор символов, который знаете только вы. Его вы заполняете в партнерском кабинете во вкладке общее. Его ни в коем случае никому не говорить, не передавать, в запросах не отсылать. auth.jpg На выходе вы получите JSON у которого обязательно будут присутствовать 2 ключа: result и error: {
"result": результат выполнения метода,
"error": массив ошибок,
}
В error содержится массив ошибок. У ошибок есть символьный и числовой кода, так же для некоторых типов ошибок (например валидация или проверка на пустое значение) в ошибке может отдаваться так же код поля, в котором допущена ошибка. Успешность/неуспешность работы метода можно понять по наличию ошибок в массиве, если будет удобнее, можно отдавать еще 3ий булиновский параметр isSuccess (но не вижу в нем необходимости). Структуру result можно посмотреть на страничке с описаниями (пока что раскрыты только одиночные параметры, если же это массив его состав пока что не описан, будет немного позже UPD 10.01.2017 сделано). На данный момент просто дампим результат и смотрим, что пришло. Семантика параметров более менее понятна. 3. Методы Краткое описание реализованных методов: help По методу можно получить информацию о других методах (вернется полная страктура ответа, которая дожлна быть у запрашиваемого метода, тут можно будет посмотреть развернутые массивы) marketplace.product.list Метод возвращает список опубликованных модулей из маркеплейса marketplace.product.check Проверяет, подходит ли модуль к данному ключу (смотрим по редакции, можно проверять любой модуль) marketplace.product.self.check Проверяет, подходит ли ваш модуль к редакции, установлен ли он, в отличие от предыдущего метода возвращает данные о модуле у клиента. marketplace.client.list Список клиентов одного из ваших модулей marketplace.client.add Привязывает модуль к ключу клиента. marketplace.client.update Изменяет контактную информацию о клиенте marketplace.coupon.add Создает купон на модуль для клиента UPD 10.01.2017: в метод marketplace.product.list добавлено поле фильтрации MODULE_PARTNER_ID, в выходных параметрах добавлены MODULE_PARTNER_ID, DATE_PUBLISH. Раскрыты массивы на странице с описаниями.
1Help 2Save 3Mark 4Replac 5Copy 6Move 7Search 8Delete 9PullDn 10Quit
1Help 2Save 3Mark 4Replac 5Copy 6Move 7Search 8Delete 9PullDn 10Quit
1Help 2Save 3Mark 4Replac 5Copy 6Move 7Search 8Delete 9PullDn 10Quit
Автор
info
info5   документов Отправить письмо
Документ
Категория
Техническая документация
Просмотров
39
Размер файла
4 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа