Оглавление

Интерфейс самообслуживания, для Интернет магазинов        1

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

1.        Общая информация        3

1.1        Назначение интерфейса        3

1.2        Настройка доступа и подключение        3

2.        Описание интерактивного интерфейса        4

2.1        Запуск и основные настройки        4

2.2        Работа с заказами        4

2.3        Загрузка новых заказов        5

2.4        Получение отчетов о выполнении заказов        5

3.        Описание программного интерфейса        7

3.1        Перечень функций web-сервиса        7

3.2        Функция GetParcelshopList / GetParcelshopListXML        7

3.3        Функция PushOrders / PushOrdersXML        8

3.4        Функция PushReceiptForm        10

3.5        Функция GetOrdersHistory / GetOrdersHistoryXml        10

3.6        Функция GetOrdersList / GetOrdersListXml        11

НЕ нашли? Не то? Что вы ищете?

4.        Примеры вызова API        13

4.1        Примеры вызова через SoapUI        13

4.2        Пример вызова GetParcelshopListXML на VBS        13

4.3        Пример вызова PushOrdersXML на VBS        14

4.4        Пример вызова GetOrdersListXml на 1CV8        14

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

Дата

Описание изменений

29.05.2016

Добавлен метод PushReceiptForm

В отчет GetOrdersList  добавлено поле DeliverySummCard


15.02.2016

Изменен адрес и определения API

Обновлен интерфейс личного кабинета, добавлены функции копирования и отмены заказа, а так же печати этикетки заказа

Добавлена возможность вызова методов в режиме xml и xdto

Добавлены примеры вызовов функций

Для результата функции GetParcelshopList добавлены параметр вызова и поля описания ПВЗ


17.08.2015

Уточнен описание в области синхронизации справочника Товары


14.08.2015

Расширен список статусов заказов и видов операций для методов GetOrdersHistoryXml и GetOrdersListXml


11.08.2015

В метод PushOrdersXML в поле результат добавлено явное определение номеров загруженных заказов и статусов загрузки


17.06.2015

Изменен метод PushOrdersXML. В реквизиты заказа добавлены поля

    ItemType для указания строк с суммой доставки Seller для указания магазина-продавца. OrderBarcode – штрих-код отправления Invoice – номер накладной

04.06.2015

Исправлены ошибки в примерах XML


20.04.2015

Начальная версия



Общая информация
Назначение интерфейса

Документ содержит описание интерфейса самообслуживания для Интернет магазинов в компании Пик-ап.

Основными возможностями интерфейса являются: загрузка заказов в информационную систему Пик-ап и отслеживание их исполнения. Интерфейс включает в себя интерактивную и программную составляющие:

    Интерактивная часть реализована при помощи web-интерфейса на платформе 1С Предприятие 8 Программный интерфейс (API) представляет собой Web-сервис c передачей данных в виде XML строк

Настройка доступа и подключение

Подключение к интерактивному интерфейсу может производиться при помощи web-браузера, либо тонкого клиента 1С.  Тестовая версия интерактивного интерфейса опубликована в Интернет, параметры подключения:

    http://lc.pick-up.ru/pickup_im_test Пользователь: Тест ИМ Пароль: 123

Настройки подключения к тестовой версии API:

    http://ext.pick-up.ru/pickup_test/ws/pickupexchange2.1cws? wsdl Пользователь: WS Пароль: 123 Код авторизации: Idrp1VUUYm


Описание интерактивного интерфейса
Запуск и основные настройки

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

Запуск производится через Web-браузер. Необходимо открыть ссылку http://lc. pick-up. ru/pickup_im_test/  и пройти авторизацию. При первом запуске система предложит установить расширение по работе с файлами, желательно подтвердить установку.

Для более комфортной работы рекомендуется использовать тонкий клиент 1С Предприятия.

В открывшемся окне будет доступна общая информация о текущих заказах и функция по загрузке новых заказов в систему.


Работа с заказами

Работа с заказами производится через панель «Журнал». В панели отображается список заказов с возможностью создания нового заказа, отмены и печати накладной и этикетки.

В начале работы с журналом проверьте что установлен корректный период, например «Этот месяц».

Для создания нового заказа можно использовать кнопку «Создать заказ», либо скопировать уже существующий. В открывшемся заказе необходимо указать основные параметры заказа, перечень товаров и стоимость.

Список заполняемых полей может быть разным в зависимости от условий контракта, с минимальном случае достаточно указать ПВЗ, контактные данные покупателя и стоимость заказа. В табличной части товары при этом заводится одна строка «Товары по заказу», указывается количество 1шт и цена, равная полной стоимости заказа, которую необходимо получить с клиента.

Так же отдельной строкой может быть указана стоимость доставки.

Редактирование загруженных заказов не поддерживается. Свяжитесь с службой поддержки Пик-ап или отмените заказ и создайте его заново.

После формирования заказов их можно промаркировать этикетками со штрих-кодами. Для этого необходимо выбрать заказы и нажать кнопку «Печать этикетки». Этикетка печатается на обычном принтере формата А4.


Загрузка новых заказов

Для загрузки новых заказов, необходимо скопировать список с номерами заказов и товарами в таблицу на закладке «Загрузка заказов». Формат списка отображается при начальном открытии окна.

Необходимо скопировать данные в том формате и порядке, который представлен в шаблоне.

В первой колонке указывается код ПВЗ Пикап, для получения списка кодов нажмите кнопку «Вывести список ПВЗ».

После того как данные введены в таблицу необходимо нажать кнопку «Загрузить заказы». Система прочитает данные и выведет дополнительную таблицу для проверки.

Если данные корректны – нажмите кнопку «Подтвердить и записать». Заказы загрузятся в систему немедленно будут доступны для приемки в ПВЗ.

Проверить загрузку заказов и статус их обработки можно построив отчет «Реестр заказов клиентов».

Если при загрузке возникла ошибка, либо загружены некорректные данные – сообщите об этом по электронной почте *****@***ru


Получение отчетов о выполнении заказов

Просмотр реестра заказов и статусов обработки доступен на закладке «Реестр заказов». Необходимо выбрать период, по которому будут отбираться заказы и нажать кнопку «Обновить данные».

Дополнительно может быть выбран вид отчета «Группировка по товарам», «Группировка по заказам», либо «Таблица», а так же установлен отбор по статусам обработки заказов.



Описание программного интерфейса
Перечень функций web-сервиса

Для работы с API реализовано несколько функций:

    GetParcelshopList / GetParcelshopListXML - Получение списка ПВЗ PushOrders / PushOrdersXML – Загрузка списка заказов GetOrdersHistory / GetOrdersHistoryXml – получение истории транзакций по заказу или за период GetOrdersList/ GetOrdersListXml – получение отчета по заказам по заказу или за период

В параметрах web-сервиса могут быть доступны так же другие функции, унаследованные от прошлых версий, либо используемые в личном кабинете.

Функции могут возвращать либо xdto-объект, либо строку xml в зависимости от способа вызова. Алгоритмы работы и состав возвращаемых данных при этом одинаковы.


Функция GetParcelshopList / GetParcelshopListXML

Функция возвращает список текущих активных ПВЗ с параметрами их работы.

GetParcelshopList Вызывается без параметров.

Для GetParcelshopListXML передается параметр Format, где указывается значение «XML» или «1CXML». При указании 1CXML формируется XML строка по правилам внутренней сеарилизации 1СV8 для объекта массив структур.

Расшифровка строки формата 1CXML в таком случае производится при помощи кода:

РезультатXML = WSПрокси. GetParcelshopListXML("1CXML");

ЧтениеXML = Новый ЧтениеXML();

ЧтениеXML. УстановитьСтроку(РезультатXML);

МассивПВЗ = СериализаторXDTO. ПрочитатьXML(ЧтениеXML);

Описание возвращаемых полей:


Имя поля

Пример

Описание

Parcelshop

Name

10001 Кожевники

Наименование ПВЗ

Code

10001

Код ПВЗ

GPSCoordinates

55.730395,37.645332

Координаты ПВЗ

Address

115114, Москва г, , строение 1

Адрес, сформированный по правилам КЛАДР

Region

Москва

City

Street

Кожевническая

House

7

Postcode

115114

AdditionalInfo

ТЦ "Кожевники" 4 этаж

Дополнительная информация как найти ПВЗ

Phone

+7 (926) 083-1941

PaymentMethods

Наличные / Карта

Варианты приема оплаты

Cash

«1»

Прием оплаты наличными

Card

«1» / «0»

Прием оплаты банковскими картами

DeliveryDelay

«1»

Срок доставки до ПВЗ

Area

«Москва»

Зона доставки

DressingRoomQty

7

Количество примерочных

SubwayStation

Бирюлево

Название ближайшей станции метро

SubwayStationDistance

700

Расстояние до метро, в метрах

WorkingHours

Day

Mon / Tue / Wed / Thu / Fri / Sat / Sun

День недели

Open

10

Closed

22

File

Name

Фото1

Имя файла-картинки

Тело элемента

[CDATA]

Бинарные данные файла-картинки. Формат файла. jpeg



Функция PushOrders / PushOrdersXML

Функция загружает заказы в систему. Заказы становятся доступны для приемки в ПВЗ. Передаются общие сведения о заказе и перечень товарных позиций.

Если договор доставки предполагает частичную выдачу товара, тогда необходимо передавать точный список товаров и корректными наименованием и штрих-кодом. Штрих-код товара должен соответствовать фактическому штрих-коду на товаре, наименование должно быть пригодно для печати на фискальном чеке.

Если частичной доставки не предполагается – достаточно передавать одну условную позицию с полной стоимостью заказа.

Правила поиска товара могут уточняться в процессе настройки модуля интеграции в зависимости от особенностей контракта.

Параметры:

    AuthorizationCode – код авторизации Orders – данные с заказами

Если в заказе присутствует более чем одна строка – передаются несколько записей OrderData с дублирующими полями шапки заказа: ParcelShopCode, DeliveryDate, OrderNum, CustomerName и т. д.

Пример XML строки с данными заказа:

<OrdersList>

       < OrderData

               ParcelShopCode = “10001 Кожевники“

               DeliveryDate = “2015-04-24T00:00:00”

               OrderNum = “123123“

               …

       />

</OrdersList>


Описание передаваемых полей

Имя поля

Пример

Описание

OrderData

ParcelShopCode

10001

Код ПВЗ

DeliveryDate

2015-04-24T00:00:00

Ожидаемая дата доставки

OrderNum

1234512345

Номер заказа

ParcelNum

1

Номер посылки, используется если в заказе более одной посылки

CustomerName

Михайлов Максим

Имя покупателя (не обязательно)

CustomerPhone

89160234665

Телефон покупателя (не обязательно)

Item

Сарафан (4667, Платья-макси) 44/46

Наименование товара как оно должно быть распечатано в накладных и в чеке.

Наименование должно быть уникальным.

ItemCode

AQ003EWJA184B80

Код товара, желательно уникальный

ItemBarcode

10021829721

Штрих-Код товара, желательно уникальный, может совпадать с кодом товара

ItemType

Product / DeliverySumm

Указывает, является ли строка заказа товаром или услугой доставки.

Если пусто - Product

Qty

1

Количество товара

ItemPrice

12.5

Цена единицы товара

PriceToPay

12.5

Цена, которую необходимо принять

Comment

Произвольный комментарий

Seller

Lamoda

Наименование интернет магазина продавца. (если есть)

OrderBarcode


123123

штрих-код отправления

Invoice


123123

номер накладной, по которой заказ отправлен в ПВЗ

AllowedToOpen

1

Признак ВозможноВскрытие. Указывается в зависимости от условий контракта.

AllowedPartialDelivery

1

Признак ВозможнаЧастичнаяВыдача. Указывается в зависимости от условий контракта.

AllowedToTryOn

1

Признак ВозможнаПримерка. Указывается в зависимости от условий контракта.


Пример возвращаемой XML строки:

<result status=”Загружено”>

  <order status='Загружено' numberPickup='AP-9322' numberSender='9322' />

Описание результата

</result>


Описание возвращаемых полей:

Имя поля

Пример

Описание

result

status

Ошибка / Загружено

Статус обработки запроса

Тело элемента

Текстовое описание ошибки или результата

order

status

Ошибка / Загружено

Статус обработки заказа

numberPickup

AP-9322

Номер по системе Pickup

numberSender

9322

Оригинальный номер заказа



Функция PushReceiptForm

Функция служит для загрузки печатной квитанции (заказа) в систему. Функция применяется если используется специфичная форма квитанции. В текущей версии используется только формат данных pdf

Параметры:

    AuthorizationCode – код авторизации OrderNr – номер заказа FileData – данные файла квитанции base64 FileType – тип данных (pdf)

Возвращаемое значение:

Строка,  «<result>Файл добавлен.</result >»


Функция GetOrdersHistory / GetOrdersHistoryXml

Функция возвращает отчет по истории обработки заказов.

Передаваемые параметры

    AuthorizationCode – код авторизации StartDate – дата начала для отчета EndDate – дата окончания OrderNr – номер заказа, если указано – значения даты начала и даты окончания игнорируются Format – XML /1CXML, при указании 1CXML формируется XML строка по правилам внутренней сеарилизации 1СV8 для объекта ТаблицаЗначений. (применимо только для GetOrdersHistoryXml)

Пример возвращаемой XML строки:

< Orderhistory>

< Row

OrderNum = “123123“

               ParcelShopCode = “10001“

               ParcelShopName = “10001 Кожевники“

               …

/>

</ Row>

</ Orderhistory>


При ошибке возвращается строка вида

<error>Неверный код авторизации</error>


Описание возвращаемых полей:

Имя поля XML

Имя поля 1C

Описание

Row

OrderNum

НомерЗаказа

Номер заказа

ParcelShopCode

ПВЗКод

Код пункта выдачи заказов

ParcelShopName

ПВЗНаименование

Наименование пункта выдачи заказов

TransactionDate

ДатаОперации

Дата операции

TransactionType

Операция

register / arrival / delivery / reject / return / lost

Item

Товар

Наименование товара

ItemCode

ТоварКод

Код товара

ItemBarcode

Штрихкод

Штрих-код тоара

Qty

Количество

Количество

Price

Цена

Цена


При использовании формата 1CXML результирующий XML расшифровывается при помощи следующего кода:

ЧтениеXML = Новый ЧтениеXML();

ЧтениеXML. УстановитьСтроку(РезультатХмл);

ТаблицаРезультат = СериализаторXDTO. ПрочитатьXML(ЧтениеXML);

Оптимальным вариантом использования метода для интеграции является его вызов в рабочее время через небольшие промежутки времени (10-20 минут) по всем заказам с отбором по периоду. Период задается 5-10 дней в зависимости от срока хранения заказов в ПВЗ, обозначенного в контракте.


Функция GetOrdersList / GetOrdersListXml

Функция возвращает отчет по обработке заказов.

Передаваемые параметры

    AuthorizationCode – код авторизации StartDate – дата начала для отчета EndDate – дата окончания OrderNr – номер заказа, если указано – значения даты начала и даты окончания игнорируются Format – XML /1CXML, при указании 1CXML формируется XML строка по правилам внутренней сеарилизации 1СV8 для объекта ТаблицаЗначений. (только для  GetOrdersListXml)

Пример возвращаемой XML строки:

< OrderList>

< Row

OrderNum = “123123“

               ParcelShopCode = “10001“

               ParcelShopName = “10001 Кожевники“

               …

/>

</ Row>

</ OrderList>


При ошибке возвращается строка вида

<error>Неверный код авторизации</error>


Описание возвращаемых полей:

Имя поля XML

Имя поля 1C

Описание

Row

OrderNum

Номер

Номер заказа

OrderDate

Дата

Код пункта выдачи заказов

CustomerName

ПокупательФИО

ФИО покупателя

CustomerPhone

ПокупательТелефон

Телефон покупателя

Item

Номенклатура

Наименование товара

ItemCode

НоменклатураКод

Код товара

OrderQty

Количество

Количество товара в заказе

OrderPrice

Цена

Цена товара в заказе

OrderSumm

Сумма

Сумма по товару в заказе

ParselshopCode

ПВЗКод

Код пункта выдачи заказов

ParselshopName

ПВЗ

Наименование пункта выдачи заказов

ArrivalDate

ДатаПоступления

Дата поступление заказа в ПВЗ

ArrivalNum

НомерПоступления

Номер накладной поступления

ArrivalQty

КоличествоПринято

Количество товара, принятого в ПВЗ

DeliveryDate

ДатаПродажи

Дата вручения товара

DeliveryQty

КоличествоВручено

Количество товара, проданного пользователю

DeliverySumm

СуммаПринято

Сумма принятых ден. средств

DeliverySummCard

СуммаПринятоБезнал

Сумма принятых ден. средств безнал

RefuseQty

КоличествоОтказ

Количество товара от которого покупатель отказался

ReturnDate

ДатаВозврата

Дата возврата товара в интернет магазин (по откзу, либо по если за заказом не пришли)

ReturnNum

НомерВозврата

Номер накладной возврата

ReturnQty

КоличествоВозврат

Количество товара возвращено

Status

Статус

Текущий статус позиции заказа: Зарегистрирован / Ожидает вручения / Вручен / Отказ клиента / Возвращен – Просрочен / Возвращен - По отказу / Утрачен


Оптимальным вариантом использования метода для интеграции является его вызов в рабочее время через небольшие промежутки времени (10-20 минут) по всем заказам с отбором по периоду. Период задается 5-10 дней в зависимости от срока хранения заказов в ПВЗ, обозначенного в контракте.



Примеры вызова API Примеры вызова через SoapUI

Примеры вызова функций GetParcelshopList и GetParcelshopListXML при помощи программы SoapUI



Пример вызова GetParcelshopListXML на VBS

set conn = CreateObject("WinHttp. WinHttpRequest.5.1")

conn. Open "POST", "http://ext. pick-up. ru/pickup_test/ws/pickupexchange2.1cws",0

conn. setRequestHeader "Content-Type", "text/xml;charset=UTF-8"

conn. SetCredentials "ws", "123", 0

SOAPRequest = "" _

& "<soapenv:Envelope xmlns:soapenv='http://schemas. xmlsoap. org/soap/envelope/' xmlns:exc='http://www. pick-up. ru/exchange2'>"_

& "  <soapenv:Header/>"_

& "  <soapenv:Body>"_

& "  <exc:GetParcelshopListXML>"_

& "         <exc:Format>XML</exc:Format>"_

& "  </exc:GetParcelshopListXML>"_

& "  </soapenv:Body>"_

& "</soapenv:Envelope>"

msgbox SOAPRequest

conn. send SOAPRequest

msgbox conn. StatusText

msgbox conn. ResponseText


Пример вызова PushOrdersXML на VBS

set conn = CreateObject("WinHttp. WinHttpRequest.5.1")

conn. Open "POST", "http://ext. pick-up. ru/pickup_test/ws/pickupexchange2.1cws",0

conn. setRequestHeader "Content-Type", "text/xml;charset=UTF-8"

conn. SetCredentials "ws", "123", 0

SOAPRequest = "" _

& "<soapenv:Envelope xmlns:soapenv='http://schemas. xmlsoap. org/soap/envelope/' xmlns:exc='http://www. pick-up. ru/exchange2'>" _

& "  <soapenv:Header/>" _

& "  <soapenv:Body>" _

& "  <exc:PushOrdersXML>" _

& "  <exc:AuthorizationCode>Idrp1VUUYm</exc:AuthorizationCode>" _

& "  <exc:Orders>" _

& "" _

& "&lt;OrdersList&gt;" _

& "  &lt;OrderData  ParcelShopCode='10001' DeliveryDate='2016-10-12T11:00:00' OrderNum='2311-18' ParcelNum='1'" _

& "  CustomerName='Михайлов Максим' CustomerPhone='89160234665'" _

& "  Item='Сарафан M&amp;amp;C(4667, Платья-макси) 44/46' ItemCode='AQ003EWJA184B80' ItemBarcode='10021829721'" _

& "  Qty='1'  ItemPrice='100' PriceToPay='100' Comment='Простой заказ' AllowedToOpen='1' AllowedPartialDelivery='1' /&gt;" _

& "" _

& "  &lt;OrderData  ParcelShopCode='10001' DeliveryDate='2016-10-12T11:00:00' OrderNum='2311-18' ParcelNum='1'" _

& "  CustomerName='Михайлов Максим' CustomerPhone='89160234665'" _

& "  Item='Платье мини' ItemCode='AQ003EWJA184B82' ItemBarcode='10021829723'" _

& "  Qty='1'  ItemPrice='110' PriceToPay='100' Comment='Простой заказ' AllowedToOpen='1' AllowedPartialDelivery='1' /&gt;" _

& "" _

& "&lt;/OrdersList&gt;" _

& "" _

& "  </exc:Orders>" _

& "  </exc:PushOrdersXML>" _

& "  </soapenv:Body>" _

& "</soapenv:Envelope>"

msgbox SOAPRequest

conn. send SOAPRequest

msgbox conn. StatusText

msgbox conn. ResponseText

Пример вызова GetOrdersListXml на 1CV8

ПараметрыПодключения = Новый Структура();

ПараметрыПодключения. Вставить("Адрес", “http://ext. pick-up. ru/pickup_test/ws/pickupexchange2.1cws”);

ПараметрыПодключения. Вставить("Пользователь", “ws”);

ПараметрыПодключения. Вставить("Пароль", “123”);

ПараметрыПодключения. Вставить("КодАвторизации", “Idrp1VUUYm”);

WSОпределения = Новый WSОпределения(ПараметрыПодключения. Адрес, ПараметрыПодключения. Пользователь, ПараметрыПодключения. Пароль);

       

WSПрокси = Новый WSПрокси(WSОпределения, "http://www. pick-up. ru/exchange2", "PickupExchange2", "PickupExchange2Soap");

WSПрокси. Пользователь = ПараметрыПодключения. Пользователь;

WSПрокси. Пароль        = ПараметрыПодключения. Пароль;

       

РезультатХмл = WSПрокси. GetOrdersListXml(ПараметрыПодключения. КодАвторизации, НачалоДня(ТекущаяДата()), ТекушаяДата(), "", "");

               

ЧтениеXML = Новый ЧтениеXML();

ЧтениеXML. УстановитьСтроку(РезультатХмл);

ТаблицаРезультат = СериализаторXDTO. ПрочитатьXML(ЧтениеXML);