示例#1
0
<?php

/**
 * Работа с OpenAPI
 * ВНИМАНИЕ! Скрипт будет использовать файл, который создаётся в initApi/init.php
 */
require '../header.php';
require '../lib.inc.php';
// Файл с функцией, генерирующей secret_key
require 'sign.php';
// Название метода, к которому производится обращение
$method = 'getCities';
// Константа OPEN_API_URL определяется в lib.inc.php
$openApiUrl = OPEN_API_URL . $method;
try {
    // Читаем конфигурацию, сохранённую во время выполнения скрипта initApi/init.php
    // http://docs.multishipinitapiv1.apiary.io/
    $jsonConfig = readConfig();
    $postData = array('client_id' => $jsonConfig->config->clientId);
    // Генерируем secret_key
    $secretKey = sign($jsonConfig->config->methodKeys->{$method}, $postData);
    // Добавляем полученный secret_key к массиву, который будет передан методом POST
    $postData['secret_key'] = $secretKey;
    $result = sendRequestViaCurl($openApiUrl, $postData);
} catch (Exception $e) {
    echo '<p>Произошла неисправимая ошибка: ' . $e->getMessage() . '</p>';
}
require '../footer.php';
示例#2
0
<?php

/**
 * Регистрация модуля на сервере MultiShip
 */
require '../header.php';
require '../lib.inc.php';
/**
 * В файле config.php находится массив идентичныйы $config, только перед ним стоит return
 */
$preInitApiConfig = (require 'config.php');
// URL для регистрации модуля на сервере MultiShip
$initApiUrl = INIT_API_URL . 'init';
// Конфигурация POST-параметров, необходимых для метода InitAPI::init()
$config = ['login' => $preInitApiConfig['login'], 'password' => $preInitApiConfig['password'], 'cmsName' => $preInitApiConfig['cmsName'], 'cmsVersion' => $preInitApiConfig['cmsVersion'], 'domain' => $preInitApiConfig['domain'], 'callbackUrl' => $preInitApiConfig['callbackUrl']];
// Отправляем запрос и получаем ответ
$result = sendRequestViaCurl($initApiUrl, $config);
// Вызываем обработчика ответа от CURL.
// В качестве второго параметра передаём функцию, которая произведёт запись полученной конфигурации в файл config.json
curlAnswerHandler($result, function () use($result) {
    file_put_contents('../config.json', $result['data']);
});
require '../footer.php';