1  /  27

Подключение и вызов методов

Просмотров: 527 (Статистика ведётся с 06.02.2017)

Подключение REST'а

В карточке партнёра в разделе Прочие возможности заполните поле Пароль для подписи данных. Ограничений на число знаков, использование спецсимволов и кириллицы нет.

Внимание! Если помимо указания пароля для подписи данных перед сохранением карточки вносились другие изменения, то для карточки может потребоваться процедура модерации. В этом случае, измененный пароль для подписи может быть актуализирован не сразу, а через некоторое время.

Теперь для вызова любого метода REST вы сможете формировать ключ авторизации в виде кода MD5 от строки вида:

md5($method."|".PARTNER_ID."|".PARTNER_CODE)

где:

  • $method – название метода,
  • PARTNER_ID – ваш идентификатор партнера
  • PARTNER_CODE – тот самый секретный ключ, который вы указали в партнерской карточке.

Общий формат ответа для всех методов (обязательно присутствуют все поля):

{
	"result": результат выполнения метода,
	"error": ошибка выполнения метода,
}

В error содержится массив ошибок. У ошибок есть символьный и числовой код. Для некоторых типов ошибок (например валидация или проверка на пустое значение) в ошибке может отдаваться так же код поля, в котором допущена ошибка. Успешность/неуспешность работы метода можно понять по наличию ошибок в массиве.

Структура result отображена на страницах с описаниями методов.


Вызов метода

Для вызова конкретного метода, обратитесь по адресу https://partners.1c-bitrix.ru/rest/ POST запросом.. Пример:

function executePartnerREST($method, $params) {

    $queryUrl = 'https://partners.1c-bitrix.ru/rest/';
    $queryData = http_build_query(array_merge($params,
     array(
      "action" => $method,
      "partnerId" => PARTNER_ID,
      "auth" => md5($method."|".PARTNER_ID."|".PARTNER_CODE)
     )
    ));

    $curl = curl_init();
    curl_setopt_array($curl, array(
     CURLOPT_SSL_VERIFYPEER => 0,
     CURLOPT_POST => 1,
     CURLOPT_HEADER => 0,
     CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => $queryUrl,
     CURLOPT_POSTFIELDS => $queryData,
    ));

    $result = json_decode(curl_exec($curl), true);
    curl_close($curl);

    return $result;

}  

Результат вызова любого метода - JSON-массив, который вы интерпретируете в своих серверных скриптах, на чем бы вы их ни разрабатывали.

Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии