Подождите, операция выполняется...

Личный кабинет позволяет: анализировать информацию об отправленном и полученном грузе; контролировать расходование средств на перевозки; формировать заявки на забор груза. Получить доступ

Описание API

На этой странице описаны способы использования функций личного кабинета клиента «ПЭК» сторонними сайтами или приложениями. Информация предназначена для разработчиков. Все возникающие вопросы по работе с API личного кабинета можно направлять по адресу: admin-extintegration@pecom.ru

Аутентификация

  • Для начала работы с API вам необходимо присвоить Ключ доступа. Данное действие вы можете осуществить на странице «Регистрационные данные» в разделе «Ключи API». Полученный ключ будет являться вашим паролем для доступа к API.
  • Для разных приложений (например, веб-сайт и 1С:Предприятие) рекомендуется использовать разные ключи (для сбора статистики, простоты отзыва ключа в случае его компроментации)
  • Аутентификация осуществляется c помощью Basic-аутентификации, в качестве логина необходимо использовать имя пользователя личного кабинета клиента «ПЭК», в качестве пароля — любой из активных ключей доступа.

Авторизация

  • Доступ к API обеспечивается для двух групп пользователей (анонимный доступ не поддерживается):
    • «Зарегистрированные пользователи» — все пользователи личного кабинета клиента «ПЭК» (для регистрации посетите соответствующую страницу)
    • «Сторонние неперсонифицированные приложения»
  • В документации на каждый метод указано, каким группам пользователей доступен вызов того или иного метода

План по критическим и рекомендуемым изменениям протокола API

В разделе описываются ожидаемые изменения, двух категорий:

  • Критические - изменится формат взаимодействия таким образом, что некоторые или все из ранее работающих запросов изменят свое поведение или перестанут работать до внесения изменений на стороне клиента
  • Рекомендуемые - из протокола исключены/заменены некоторые реквизиты, и мы рекомендуем перейти на обновленный формат

За всеми подробностями обращайтесь по адресу: admin-extintegration@pecom.ru

Ожидается

В этом списке запросы появляются минимум за неделю до релиза

История изменений

16.04.2025
  • В методе подачи заявок /PREREGISTRATION/SUBMIT/ добавлена возможность указать требования к транспорту и спец.оборудование при заборе груза, параметры isSpecialEquipment, isOpenCar, isSideLoad, isUncovered
  • В методе подачи заявок /PREREGISTRATION/SUBMIT/ добавлена возможность указания адреса забора документов на получение груза по другому адресу, параметр addressForDocuments и комментарий к адресу забора документов, параметр addressForDocumentsComment
06.02.2025
  • Добавлен метод /CARGOS/STATUSTABLES/ — список доступных статусов по грузам. Метод /cargos/statustable/ выведен из актуального протокола
01.10.2024
  • В методах подачи заявок актуализированы типы документов, удостоверяющих личность (sender.identityCard.type и receiver.identityCard.type). Возможные значения: 1 - Паспорт (прочие страны), 2 - Разрешение на временное проживание, 3 - Водительское удостоверение, 4 - Вид на жительство, 6 - Удостоверение беженца, 10 - Паспорт гражданина РФ". В актуальной версии протокола не используются типы: 5, 7, 8, 9, 11 и 12
01.10.2024
  • Реализована подача сетевых заявок на забор груза методом /preregistration/submit/ значение параметра orderType = 14.
  • Метод подачи сетевых заявок /cargopickupnetwork/submit/ выведен из актуального протокола API. Ранее осуществленные интеграции с данным методом поддерживаются в рабочем состоянии. Планов прекращать работу метода нет. При этом новых функций и любых доработок в методе /cargopickupnetwork/submit/ не будет.
19.08.2024
07.08.2024
  • Метод получения справочника типов штрих-кодов /cargopickupnetwork/availabletypebarcode/ перенесен в группу /preregistration/availabletypebarcode/
05.08.2024
  • Исправлена ошибка при выводе грузов методом /cargos/listallorderbylogin/ со значением входного параметра: selectBy = 0 (отобрать принятые грузы). До релиза выводились и принятые и не принятые грузы, для не принятых грузов отбирались по дате заявки. После релиза: в выборку будут попадать только принятые на склад ПЭК грузы, отобранные по дате приемки на склад ПЭК.
10.07.2024
  • В структуру запроса метода /preregistration/submit/ добавлена возможность передачи электронной почты отправителя (добавлен реквизит: "sender"/ "email").
01.07.2024
  • В структуру ответа метода /branches/findzonebyaddress/ добавлен реквизит "precision" - критерий точности распознавания координат адреса.
  • Добавлен метод /branches/countrytypeidentitydocument/ — возвращает допустимые документы, удостоверяющие личность, для страны отправления / получения
  • В структуры sender, receiver запроса метода /preregistration/submit/ добавлен реквизит individual — данные физического лица. Рекомендуем его передавать для контрагентов отправителей/получателей - физических лиц вместо title.
  • В структуры sender.identityCard, receiver.identityCard запроса метода /preregistration/submit/ добавлен реквизит typeGuid — идентификатор типа документа удостоверяющего личность.
    sender.identityCard.type и receiver.identityCard.type в актуальной версии протокола не используются.
  • В структуры sender.identityCard, receiver.identityCard запроса метода /preregistration/submit/ добавлен реквизит taxpayerID — налоговый номер отправителя ПИН (Киргизстан), ИИН (Казахстан), УПН (Беларусь) и т.п.
  • В структуры sender.identityCard, receiver.identityCard запроса метода /preregistration/submit/ добавлен реквизит taxpayerCountryCode — код страны, выдавшей налоговый номер
30.06.2024
  • Критическое. При подаче заявок методом /PREREGISTRATION/SUBMIT/ добавили проверку на сравнение общих Веса и Объёма груза, переданных в массиве "cargos", с суммарными Весом и Объёмом, рассчитанными в массиве грузомест "cargoPlaceList". Должны совпадать. Обратите внимание, что массив с данными грузомест не обязателен к передаче.  Если передан массив с габаритами каждого грузоместа ("cargos"."cargoPlaceList"), то сначала вычисляем суммарный вес и суммарный объём (объём одного грузоместа вычисляем: длина*ширина*высота) по всем элементам массива "cargoPlaceList", затем округляем (всегда вверх до сотых!) и сравниваем с общими объёмом и весом в массиве "cargos" (округленными также вверх до сотых!) 
14.05.2024
  • Рекомендуемое. В API разработан новый метод /cargos/statusfullhistory/ - История изменения статусов по заявке/ грузу.
    Не рекомендуем использовать старый метод /statushistory/
08.05.2024
  • В структуру запроса метода /preregistration/submit/ добавлена возможность передачи комментария к забору и интервала забора груза (добавлен блок "pickUpDetails")
14.03.2024
  • Добавлен метод /cargosdocuments/order/ — запрос на предоставление документа по грузу
  • Добавлен метод /cargosdocuments/getcontent/ — получение документа по грузу
12.03.2024
11.03.2024
  • В структуру запроса метода /preregistration/submit/ добавлена возможность передачи электронной почты отправителя и получателя (добавлены реквизиты: "sender"/"email" и "reciever"/"email").
12.02.2024
  • В структуру ответа метода /BRANCHES/NEARESTDEPARTMENTS/ добавлен реквизит "branchId" - ID филиала, к которому относится отделение (организационная привязка).
07.02.2024
  • Добавлен метод для быстрой проверки возможности оказания услуг Наложенный платеж и Выдача по СМС (упрощенная выдача) в зависимости от географии перевозки: /branches/checknocalcservices/. На данный момент оба сервиса доступны только при перевозке РФ-РФ, однако в этом или следующем году география их предоставления может расшириться.
05.02.2024
  • В структуру ответа метода /CARGOS/STATUSTABLE/ добавлен реквизит isFinal - признак конечного статуса
31.01.2024
  • Рекомендуемое. В API используется единый идентификатор продукта/тарифа в запросах и ответах всех методов, где это актуально. Полный список доступных в API продуктов/тарифов можно получить методом /typesOfDelivery/all/
    Сохраняется обратная совместимость с текущим протоколом каждого метода.
    Рекомендуем Вам доработать подачу запроса в методах: /calculator/calculateprice/, /branches/nearestdepartments/ и /cargopickupnetwork/submit/
30.01.2024
  • Добавлен метод /typesOfDelivery/all/. Перечень актуальных продуктов/тарифов перевозки, которые поддерживаются в API
  • В структуру запроса метода /calculator/calculateprice/ добавлен реквизит types - Массив идентификаторов продуктов/тарифов ПЭК для расчета.
  • В структуру ответа метода /calculator/calculateprice/ добавлен реквизит type - Продукт/тариф, для которого выведена стоимость.
  • В структуру запроса методов /branches/nearestDepartments/ и /cargopickupnetwork/submit/ добавлен реквизит type - Идентификатор продукта/тарифа ПЭК.
  • Из структуры запроса методов /calculator/calculateprice/ и /branches/nearestDepartments/ был удалён реквизит transportingTypes.
26.01.2024
  • Исправлена ошибка вывода координат. Вернули старый формат ответа метода /branches/all/

Показать более ранние записи

Структура URL

  • API представляет собой набор методов, объединённых в группы
  • Обращение к методам API осуществляется путём отправки запроса методом POST на URL метода, который формируется следующим образом: https://kabinet.pecom.ru/api/v1/<группа>/<метод>/
  • URL https://kabinet.pecom.ru/api/v1/ является базовым и далее в документации не указывается
  • Общее ограничение на количество любых запросов по API: 100 запросов в минуту. После превышения числа запросов API будет возвращать ошибку.

Список групп и методов

  • /auth/ — данные личного кабинета и дополнительная авторизация
    • /profiledata/ — отображение информации, хранящейся в профиле пользователя
    • /createtokentoaccessprivatedata/ — создание токена для методов получения приватной информации
  • /branches/ — информация о странах, филиалах и городах
    • /all/ — список всех филиалов и городов
    • /findzonebycoordinates/ — поиск тарифных зон и филиалов по координатам
    • /findzonebyaddress/ — поиск тарифных зон и филиалов по строке адреса
    • /checkpickupdate/ — определение доступности дат забора груза
    • /nearestdepartments/ — подбор ближайших к адресу отделений для приема/выдачи грузов
    • /suggestaddressofintakeordelivery/ — запрос поисковых подсказок адресов забора/доставки груза
    • /country/ —  список стран, в которых присутствуют отделения ПЭК
    • /checknocalcservices/ —  проверка возможности предоставления услуг, не проверяемых в методе расчета стоимости
    • /countrytypeidentitydocument/ — возвращает допустимые документы, удостоверяющие личность, для страны отправления / получения
  • /cargos/ — операции с грузами
    • /status/ — статус груза
    • /statusbypositionbarcodes/ — статус груза по клиентским штрих-кодам
    • /basicstatus/ — базовая информация о статусе груза
    • /deliverystatus/ — предоставляет данные по доставке груза
    • /details/ — детальная информация о грузе, фотографии
    • /listallorderbylogin/ — возвращает все грузы контрагентов, к которым есть доступ в личном кабинете
    • /statusfullhistory/ — история изменения статусов по заявке/ грузу
    • /statustables/ — список доступных статусов по грузам
    • /routesanddriverinfo/ — выводит персональные данные водителей, осуществляющих забор/доставку груза
    • /getinfoforcedstorage/ —  информация по рассчитанному ВХ.
    • /cancelandreturncargo/ — оформление возврата груза отправителю после передачи груза в ПЭК
  • /order/ — операции со всеми видами заявок
    • /cancellation/ — аннулирование ранее созданных заявок на основании кодов грузов
    • /print/ — получения печатных форм заявок и этикеток в формате PDF
  • /cargopickup/ — заказ "на машину" к заказам "на перевозку"
    • /submit/ — подача заказа "На машину и перевозку (разовый забор)" или "На перевозку (с отдельным Заказом на машину)"
    • /submit/ — подача заказа "на машину" к заказам "на перевозку"
    • /status/ — получение статуса услуги "Забор груза"
    • /checkOrderedPickupType3Car/ — получение статуса услуги "Заказа на машину", поданного в рамках услуги "Упрощенный забор"
  • /preregistration/ — заявки на перевозку (авто, авиа) с забором груза от адреса отправителя и предварительное оформление
  • /accountingdocuments/ — бухгалтерские документы
    • /list/ — получение списка
  • /cargosdocuments/ —  предоставление экспедиторских документов по грузам
    • /order/ — запрос на предоставление документа по грузу
    • /getcontent/ — получение документа по грузу
  • /notification/ — уведомления
    • /cargosubscribe/ — подписка на уведомления по грузу
  • /counterparts/ — справочники для работы с контрагентами / данные контрагентов
    • /legalformtypes/ — общий список форм собственности контрагентов (юридических лиц, индивидуальных предпринимателей и т.п.)
    • /confirmedaccesstocounterparties/ — список контрагентов, которые подтвердили свою связь с логином
    • /connecteddiscountsservicesagreements/ — список подключенных контрагенту скидок, сервисов и основных доп.соглашений
  • /receivers/ — список получателей
    • /add/ — добавление получателя в справочник
    • /list/ — просмотр списка получателей
    • /delete/ — удаление получателя из справочника
    • /update/ — изменение получателя в справочнике
  • /calculator/ — калькуляторы стоимости услуг
    • /calculateprice/ — расчет стоимости и сроков перевозки
    • /checkdeliverydate/ — возвращает ближайшие даты и интервалы времени на забор / доставку груза от даты запроса
  • /typesOfDelivery/ — продукты и тарифы перевозки
    • /all/ — перечень актуальных продуктов/тарифов перевозки, которые поддерживаются в API
  • /cargocontent/ — справочник наименований груза
    • /all/ — список наименований груза
  • /currency/ — валюты
    • /all/ — получение списка валют для расчёта перевозок
  • /clientpackingkind/ — справочник упаковок клиента
    • /all/ — список упаковок клиента

Техническая поддержка

Поддержка оказывается с помощью обращений пользователей личного кабинета клиента «ПЭК» (требуется авторизация).

Используемый протокол

Общее описание

  • Запрос должен осуществляться по протоколу HTTPS с обязательной проверкой сертификата сервера клиентом. Для проверки можно использовать файл сертификатов из комплекта PHP SDK.
  • Формат передачи входящих и исходящих данных — JSON, кодировка — UTF-8
  • Входящие параметры должны передаваться прямо в теле POST запроса в виде строки в формате JSON
  • При осуществлении запросов необходимо устанавливать следующие HTTP-заголовки:
    Content-Type: application/json;charset=utf-8
    Accept: application/json
  • Поддерживается gzip-сжатие ответов API (к сожалению, стандарт для сжатия содержимого HTTP-запросов не утверждён). Использование компрессии уменьшает объем ответов в несколько раз. Для включения сжатия необходимо устанавливать следующий HTTP-заголовок:
    Accept-Encoding: gzip
  • Все поля JSON-объекта в запросе являются обязательными, если не указано обратное

Типы данных JSON-объектов

Используются стандартные типы данных JSON и следующие типы:

  • Для передачи двоичных данных используется кодирование в Base64 и помещение результата в строку. Этот тип данных обозначается в документации следующим образом:
    [Binary]
  • Для указания филиала или города, относящегося к филиалу используется тип, обозначенный в документации следующим образом:
    [City]
    Для филиала указывается его наименование в виде строки:
    {
      demoCity: "Курск"
    }
    Для городов, относящихся к филиалам, значение указывается в формате: <Наименование города>, <Наименование филиала>, например:
    {
      demoCity: "Пристань, Курск"
    }
    Регистр указания наименований городов может быть любым. Список филиалов и городов доступен в результате вызова метода /branches/all/.

  • Значения даты и даты + времени передаются как строки в формате ISO 8601 в следующих определённых стандартом форматах:

    Дата:
    {
      demoDateField: "2011-03-10"
    }
    Поля этого типа в описании методов помечаются следующим образом:
    [Date]
    Дата и время:
    {
      demoDateField: "2011-03-10T09:24:24"
    }
    Используется московское время (MSK), если не указано обратное.

    Поля этого типа в описании методов помечаются следующим образом:
    [DateTime]
  • Значения времени в пределах суток передаются как строки в формате ISO 8601 в следующих определённых стандартом форматах:

    Время:
    {
      demoTimeField: "18:15"
    }
    Время с секундами:
    {
      demoTimeFieldWithSeconds: "18:15:12"
    }
    Используется московское время (MSK), если не указано обратное.

    Поля этого типа в описании методов помечаются следующим образом:
    [Time]

Обработка ошибок

  • В случае, если указан неверный URL метода, возвращается страница ошибки с кодом состояния 404. Содержимое страницы можно игнорировать, проверяя наличие ошибки только по коду
  • В случае возникновения ошибки нарушения прав доступа к методу, возвращается страница с кодом состояния 403. Содержимое страницы также можно игнорировать.
  • Если возникает логическая ошибка (не указаны необходимые параметры, неверный формат входных данных и т.п.) возвращается ответ с кодом 200 и описанием ошибки в формате JSON:
    {
       "error": {           
           "title": "Соообщение об ошибке",    
           "message": "Детальное описание ошибки"
        }
    }
    В зависимости от типа ошибки могут быть добавлены дополнительные поля, но поля, указанные в примере выше возвращаются всегда.
  • При возникновении непредусмотренной ошибки, код состояния устанавливается равным 500, а в теле ответа выводится сообщение об ошибке в формате описанном выше.

Примеры использования API

Необходимые компоненты

Использование API возможно для большинства платформ и языков программирования и не требуется наличие каких-либо специфических библиотек на клиентской стороне. Необходимые программные компоненты:

  • Компонент (библиотека) для приёма и отправки HTTP-запросов с поддержкой протокола HTTPS и Basic-аутентификации (необходимо)
  • Компонент (библиотека) для сериализации\десериализации данных из\в формат JSON (опционально)
  • Компонент (библиотека) для кодирования\декодирования Base64 (опционально, необходимо только для работы с бинарными данными)

Использование утилит командной строки

В простейшем случае нет необходимости в программировании, достаточно использовать утилиты командной строки. В данном примере используется Windows-версия cURL с поддержкой SSL (HTTPS):
curl.exe ^
--verbose ^
--cacert cacert-kabinet_pecom_ru.pem ^
--basic ^
--user user:FA21831AB83DB72D3261FA80BA309DBF6B2D7ADC ^
--request POST -d @curl-input.txt ^
--header "Content-Type: application/json; charset=utf-8" ^
--compressed ^
--output curl-output.txt ^
https://kabinet.pecom.ru/api/v1/cargos/status/

Символ ^ используется для объединения строк. Файл cacert-kabinet_pecom_ru.pem содержит сертификаты и доступен в комплекте PHP SDK.

Содержимое запроса берётся из файла curl-input.txt (кодировка UTF-8), описание формата параметров доступно на соответствующей странице:

{
   "cargoCodes": [ 
       "780339690775",
       "999932277461",
       "772193116238" 
   ]
}
Результат будет записан в файл curl-output.txt.

Обработка для 1С:Предприятия 8.1-8.3 (обычные формы)

В архиве, доступном для скачивания представлена внешняя обработка, позволяющая:

  • получить статус одного или нескольких грузов
  • оформить заявку на забор груза
  • оформить заявку на предварительное оформление

В форме обработки необходимо указать логин личного кабинета, ключ и параметры для запроса.

Скачать версию для платформы 8.1-8.3 (обычные формы) (.zip, 170Кб)

Скачать инструкцию по работе с внешней обработкой

Также вы можете воспользоваться готовым модулем для 1С

Полезная информация на случай возникновения ошибки сертификата

Минимальный пример для .NET

В результате выполнения кода, приведённого ниже, будет осуществлён запрос статусов грузов и выведен результат в виде строки. Пример представляет собой консольное приложение на C#, целевая версия платформы — .NET Framework 3.5 и выше.

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Script.Serialization;

namespace PecomApiDemo
{
  class Program
  {
    static void Main(string[] args)
    {
      var login = "user";
      var key = "11111111111111111122222222222222";

      /*
       * Создание объекта запроса
       */
      var httpRequest = (HttpWebRequest)WebRequest.Create("https://kabinet.pecom.ru/api/v1/cargos/status/");

      /*
       * Настройка параметров запроса
       */
      // Кодировка и тип содержимого
      httpRequest.ContentType = "application/json; charset=utf-8";

      // Тип запроса
      httpRequest.Method = WebRequestMethods.Http.Post;

      // Включение поддержки сжатия
      httpRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

      /* 
       * У реализации BASIC-авторизации в .NET есть особенности:
       * http://blog.cracca.com/2008/02/welcome.html
       * http://devproj20.blogspot.com/2008/02/assigning-basic-authorization-http.html               
       * Из-за этого необходимо указать заголовок вручную
       */
      byte[] credentialBuffer = new UTF8Encoding().GetBytes(login + ":" + key);
      httpRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(credentialBuffer);

      try
      {
        /*
         * Подготовка содержимого запроса
         */
        using (var sw = new StreamWriter(httpRequest.GetRequestStream()))
        {
          /*           
           * Для сериализации/десериализации из/в JSON удобно использовать Json.NET
           * http://james.newtonking.com/projects/json-net.aspx (или в виде NuGet-пакета)
           * Эта библиотека поддерживает преобразование дат в ISO 8601
           * Стандартные классы JavaScriptSerializer и DataContractSerializer 
           * эту возможность не поддерживают
           */
          var serializer = new JavaScriptSerializer();
          var jsonData = new
          {
            cargoCodes = new string[] {
              "780339690775",
              "999932277461",
              "772193116238"
            }
          };
          string json = serializer.Serialize(jsonData);
          sw.Write(json);
        }

        /*
         * Выполнение запроса
         */
        var httpResponse = (HttpWebResponse)httpRequest.GetResponse();

        /*
         * Получение результата запроса
         */
        using (var sr = new StreamReader(httpResponse.GetResponseStream()))
        {
          var responseText = sr.ReadToEnd();
          Console.WriteLine(responseText);
        }
      }
      catch (WebException ex)
      {
        using (StreamReader sr = new StreamReader(ex.Response.GetResponseStream()))
        {
          var responseText = sr.ReadToEnd();
          Console.WriteLine(responseText);
        }
      }
    }
  }
}

Минимальный пример на PHP

В результате выполнения кода, приведённого ниже, будет осуществлён запрос статусов грузов и выведен результат в виде десериализированного PHP-объекта. Важно отметить, что в примере осуществляется проверка сертификата сервера с помощью файла сертификатов из комплекта PHP SDK

Внимание:

Пример кода приведён для иллюстрации, в случае использования PHP для доступа к API, рекомендуется использовать PHP SDK

/*

Минимальный пример работы с API Личного кабинета клиента «ПЭК» для PHP
	
Требования:
  - PHP 5.2 и выше
  - Необходимые PHP-расширения:
     - curl (http://php.net/manual/ru/book.curl.php)
     - json (http://php.net/manual/ru/book.json.php)

*/

// Инициализация HTTP-клиента
$ch = curl_init();

// Настройки HTTP-клиента
curl_setopt_array($ch, array(
	CURLOPT_RETURNTRANSFER => TRUE,
	CURLOPT_POST => TRUE,
	CURLOPT_SSL_VERIFYPEER => TRUE,
	CURLOPT_SSL_VERIFYHOST => 2,
	CURLOPT_CAINFO => dirname(__FILE__) . '/cacert-kabinet_pecom_ru.pem',
	CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
	CURLOPT_ENCODING => 'gzip',
	CURLOPT_USERPWD => 'user:FA218354B83DB72D3261FA80BA309D5454ADC',
	CURLOPT_HTTPHEADER => array(
		'Content-Type: application/json; charset=utf-8'	
	)
));

// Данные для запроса
$request_data = array(
	'cargoCodes' => array(
		'780339690775',
		'999932277461',
		'772193116238'
	));

// Параметры конкретного запроса к API	
curl_setopt_array($ch, array( 
	CURLOPT_URL => 'https://kabinet.pecom.ru/api/v1/cargos/status/',
	CURLOPT_POSTFIELDS => json_encode($request_data),
));

// Выполнение запроса
$result = curl_exec($ch);

// Проверка на наличие ошибки
if (curl_errno($ch))
{
	// Вывод сообщения об ошибке
	echo 'Ошибка: ' . curl_error($ch);
}
else
{
	// Вывод результата в виде строки
	var_dump($result);

	// Вывод результатов в виде объекта
	$result_json = json_decode($result);
	var_dump($result_json);		
}

// Освобождение ресурсов
curl_close($ch); 

PHP SDK

PHP SDK представляет собой класс, созданный чтобы упростить осуществление запросов к API из PHP-приложений и сайтов.

Состав архива:

  • cacert-kabinet_pecom_ru.pem — файл сертификатов
  • example.php — пример использования
  • pecom_kabinet.php — файл класса, реализующего SDK
  • README — описание, история изменений

Скачать версию 1.2 от 10.07.2012 (.zip, 135Кб)

Скачать файл PEM (цепочка сертификатов) (.zip, 6Кб)

Пример использования

// Подключение файла с классом
require_once('pecom_kabinet.php');

// Создание экземпляра класса
$sdk = new PecomKabinet('user', 'FA218354B83DB72D3261FA80BA309D5454ADC');

// Вызов метода
$result = $sdk->call('cargos', 'status', 
	array('cargoCodes' => array(
		'780339690775',
		'999932277461',
		'772193116238'
	)
));
	
// Вывод результата
var_dump($result);
	
// Освобождение ресурсов
$sdk->close();

Подключение через proxy-сервер

// Подключение файла с классом
require_once('pecom_kabinet.php');

// Создание экземпляра класса
$sdk = new PecomKabinet('user', 'FA218354B83DB72D3261FA80BA309D5454ADC', array(
		// Параметры proxy-серерва
		CURLOPT_PROXY => '127.0.0.1',
		CURLOPT_PROXYPORT => 8888,
		CURLOPT_PROXYTYPE => 'HTTP'
));

// Вызов метода
$result = $sdk->call('cargos', 'status', 
	array('cargoCodes' => array(
		'780339690775',
		'999932277461',
		'772193116238'
	)
));
	
// Вывод результата
var_dump($result);
	
// Освобождение ресурсов
$sdk->close();
Список филиалов