Примеры кода реализации работы с API

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

Функция ТранспортЗаказовОтВТТ(Знач СтруктураРезультата,Знач ТаблицаЗначений, НомерПоДаннымПоставщика, ЗаполнятьПрефикс = Истина, Префикс, ПодготовитьДанныеДля1С77 = Ложь) 
 
    СтруктураАвторизации = ПолучитьСтруктуруАвторизацииВТТ();
 
ВСОпределение = Новый WSОпределения(СтруктураАвторизации.СсылкаWSDL);     ВССервис = ВСОпределение.Сервисы.Получить("http://portal.vtt.ru","PortalService");     ВТочкаВхода = ВССервис.ТочкиПодключения.Получить("BasicHttpBinding_IPortalService");     ВФункция = ВТочкаВхода.Интерфейс.Операции.Получить("GetOrderWithLines");     ВСПрокси = Новый WSПрокси(ВСОпределение,"http://portal.vtt.ru","PortalService","BasicHttpBinding_IPortalService");     Ответ = ВСПрокси.GetOrderWithLines(СтруктураАвторизации.Логин,СтруктураАвторизации.Пароль,НомерПоДаннымПоставщика);     СтруктураРезультата.НомерПоДаннымПоставщика = Ответ.Id;     СтруктураРезультата.ДатаПоДаннымПоставщика = Ответ.CreationDate;     СтруктураРезультата.НомерПоступления = Ответ.InvoiceId;     СтруктураРезультата.ДатаПоступления = Ответ.InvoiceDate;     СтруктураРезультата.Валюта = Ответ.Currency;     СтруктураРезультата.Статус = Ответ.Status;     СтруктураРезультата.ДатаАктуальности = ТекущаяДата();     Для каждого СтрокаОтвета Из Ответ.Lines.OrderLineDto
    Цикл         НоваяСтрока = ТаблицаЗначений.Добавить();         Если ЗаполнятьПрефикс
        Тогда             НоваяСтрока.Идентификатор = Префикс + СокрЛП(СтрокаОтвета.ItemId);         КонецЕсли;     НоваяСтрока.Наименование = СокрЛП(СтрокаОтвета.Name);         НоваяСтрока.Запрошено = СтрокаОтвета.ReservedQuantity;         НоваяСтрока.Зарезервировано = СтрокаОтвета.Quantity;         НоваяСтрока.Цена = СтрокаОтвета.UnitPrice;         НоваяСтрока.Сумма = СтрокаОтвета.TotalPrice;         НоваяСтрока.НомерГТД = СокрЛП(СтрокаОтвета.GtdNumber);         НоваяСтрока.СтранаПроисхождения = СокрЛП(СтрокаОтвета.GtdCountry); КонецЦикла; СтруктураРезультата.Товары = ТаблицаЗначений;; Возврат СтруктураРезультата; КонецФункции

Создание заказа и добавление товаров в заказ

Функция ТранспортЗаказовВТТ(МассивДляВыгрузки)
 
    СтруктураАвторизации = ПолучитьСтруктуруАвторизацииВТТ();
 
    ВСОпределение      = Новый WSОпределения(СтруктураАвторизации.СсылкаWSDL);
    ВССервис           = ВСОпределение.Сервисы.Получить("PortalService");
    ВТочкаВхода        = ВССервис.ТочкиПодключения.Получить("BasicHttpBinding_IPortalService");
    ВФункцияСоздания   = ВТочкаВхода.Интерфейс.Операции.Получить("CreateOrder");
    ВфункцияДобавления = ВТочкаВхода.Интерфейс.Операции.Получить("AddItem");
    Фабрика            = ВСОпределение.ФабрикаXDTO;
    ВСПрокси               = Новый WSПрокси(ВСОпределение, "PortalService", "BasicHttpBinding_IPortalService");
 
    ТипОбъектаСозданияLine         = ВФункцияСоздания.Параметры.Получить("lines").Тип;
    ТипОбъектаСозданияСтрока       = ТипОбъектаСозданияLine.Свойства.Получить("OrderLineCreationDto").Тип;
    ТипОбъектаДобавленияItem       = ВфункцияДобавления.Параметры.Получить("item").Тип;
КонецФункции

PHP

Получение настроек

$wsdl_url='http://api.vtt.ru:8048/Portal.svc?singleWsdl';     //ссылка для обращения к API
$login='XXXXXXXXX';                                 // логин
$password='YYYYYYYYY';                         // пароль

Считывание данных

$data = load_data();
write_to_log("Сведения о товарах получены. Всего товаров ".count($data->GetItemsResult->ItemDto));
function load_data()
{
    global $wsdl_url, $login, $password;
    $params=array("login" => $login , "password" => $password);
    try 
    {
        $client = new SoapClient($wsdl_url, $params);
        $dates = $client->GetItems($params);
        return $dates;
    }
    catch (SoapFault $E) 
    {
        write_to_log("Ошибка: ".$E->faultstring);
        die;
    }
}

 

Обработка товаров

function load_products()
{
    global $data
    $items = $data['GetItemsResult']['ItemDto'];
    for ($offset=0;$offset<count($items);$offset++){
        $item = $items[$offset];
        $id               = $item['Id'];
        $name             = htmlspecialchars($item['Name']);
        $tag              = $item['Name'];
        $sku              = $item['Id'];
        $product_weight   = $item['Weight']; // вес в килограммах
        $purchase_price   = $item['Price'];
        $quantity         = $item['AvailableQuantity'];
        $photo            = $item['PhotoUrl'];
        $description      = strtr($item['Description'];
        $Brand            = $item['Brand'];
        $Vendor           = $item['Vendor'];
// сохранение данных в базе данных сайта
...
}