Выгрузка заказов
Выгрузка заказов — это экспорт данных заказа или заказов для различных компонентов системы Nemo.
Содержание
Описание
Модуль позволяет внешней системе получать данные по заказам для дальнейшей обработки.
Процесс выгрузки
Схематично процесс выгрузки заказов представлен на блок-схеме.
Настройки
На странице настроек выгрузки заказов доступны следующие опции:
- Выгрузка одновременно и Nemo, и Софи — настройка позволяет производить экспорт данных одновременно в двух форматах.
Внимание! Опция доступна только для компонента «Авиабилеты», при включенном модуле «Выгрузка заказов Софи». - Тип выгрузки — настройка определяет один из доступных форматов выгрузки заказов:
- Выгрузка заказов Nemo — внутренний формат системы Nemo, доступен по умолчанию.
- Выгрузка заказов Софи — дополнительный формат, становится доступным при включении модуля «Выгрузка заказов Софи».
- Url стороннего скрипта для XML уведомлений — URL, на который будет производиться выгрузка данных.
- Код сайта в системе Софи
Внимание! Необходимо заполнить поля "Url стороннего скрипта для XML уведомлений" и "Код сайта в системе Софи", которые становятся доступными только при переключении "Типа выгрузки" в значение "Выгрузка заказов Софи", а также поле "Url стороннего скрипта для XML уведомлений" для типа выгрузки "Nemo". - Повторная отправка в случае неудачи — настройка позволяет производить повторные попытки экспорта заказа через определенный интервал времени (максимум 3 попытки).
- Список адресов для уведомлений (разделяется запятыми) — настройка позволяет определить один или более адресов электронной почты, на которые будет отправлено уведомление о проблемном заказе, в случае, если все попытки выгрузки заказа закончатся неудачно.
- Экспортировать после оплаты — настройка позволяет дополнительно производить выгрузку заказов после события оплаты заказа.
Внимание! Доступно только для формата Nemo. - Отправлять нотификацию о необходимости установки кода валидатора в реквизитах — настройка позволяет автоматически отправлять нотификацию при выгрузке заказа в Софи без кода валидатора.
- E-mail для отправки нотификации о необходимости установки кода валидатора в реквизитах
Форматы выгрузки заказов
Система поддерживает выгрузку заказов в форматах Nemo и Софи.
Компоненты, поддерживающие выгрузку заказов
Авиабилеты | Отели | ЖД | |
---|---|---|---|
Формат Nemo | + | + | + |
Формат Софи | + | − | − |
События, поддерживающие выгрузку заказов
Авиабилеты | Бронирование | Оплата* | Синхронизация** | Выписка | Войдирование | Аннуляция |
---|---|---|---|---|---|---|
Формат Nemo | + | + | + | + | + | + |
Формат Софи | − | − | + | + | + | − |
Отели | Бронирование | Оплата* | Синхронизация** | Выписка | Войдирование | Аннуляция |
---|---|---|---|---|---|---|
Формат Nemo | + | + | + | − | войдирование отсутствует | + |
ЖД | Бронирование | Оплата | Синхронизация** | Выписка | Войдирование | Аннуляция |
---|---|---|---|---|---|---|
Формат Nemo | + | + | + | + | + | + |
* Выгрузка заказа при оплате произойдет только если включена настройка «Экспортировать после оплаты» в разделе «Заказы» → «Выгрузка заказов».
** Выгрузка заказа при синхронизации произойдет только если в заказе произошли изменения.
Статусы выгрузки заказа
Коды статусов выгрузки заказа соответствуют кодам состояния HTTP. Фактически указывается последний полученный код состояния HTTP, полученный при выгрузке данных по адресу, указанному в настройках выгрузки. Коды относятся к серверу, на который происходит выгрузка заказов.
Код | Описание |
---|---|
0 | Неизвестный ответ. Адрес для выгрузки не доступен. |
200 | OK — успешный запрос. |
301 | Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. |
403 | Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. |
404 | Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. |
500 | Любая внутренняя ошибка сервера. |
Выгрузка заказа для компонента «Авиабилеты»
Для компонента «Авиабилеты» доступна выгрузка заказов в форматах Nemo и/или Софи (при включенном модуле «Выгрузка заказов Софи»).
Формат Nemo
1 <?xml version="1.0" encoding="UTF-8"?>
2 <PNR>
3 <Common>
4 <id>263440</id>
5 <Type>FLIGHTS</Type>
6 <Service>SABRE</Service>
7 <Locator>MHKPTF</Locator>
8 <BeginDateTime>2014.04.22-11:55</BeginDateTime>
9 <EndDateTime>2014.04.22-13:25</EndDateTime>
10 <TotalPrice>
11 <Amount>2189</Amount>
12 <CurrencyCode>RUB</CurrencyCode>
13 </TotalPrice>
14 <UserId>123</UserId>
15 <EEUserId />
16 <UserLogin>userLogin</UserLogin>
17 <GroupId>122</GroupId>
18 <UserStatus>Менеджер</UserStatus>
19 <DateCreate>2014.03.21-13:33</DateCreate>
20 </Common>
21 <Payment>
22 <Title>Testpay</Title>
23 <Method>Testpay</Method>
24 <BillingId>117601216</BillingId>
25 <Date>2014-03-21 13:38:26</Date>
26 <CreateDate>2014-03-21 13:38:24</CreateDate>
27 <Status>ticket</Status>
28 <PenaltyDate />
29 <Timelimit>2014-03-28 23:59:00</Timelimit>
30 <Charge>
31 <Amount>0</Amount>
32 <CurrencyCode>RUB</CurrencyCode>
33 </Charge>
34 <BaseFare>
35 <Amount>2000</Amount>
36 <CurrencyCode>RUB</CurrencyCode>
37 </BaseFare>
38 <Book>
39 <Amount>2189</Amount>
40 <CurrencyCode>RUB</CurrencyCode>
41 </Book>
42 <Penalty>
43 <Amount>0</Amount>
44 <CurrencyCode>RUB</CurrencyCode>
45 </Penalty>
46 <Total>
47 <Amount>2189</Amount>
48 <CurrencyCode>RUB</CurrencyCode>
49 </Total>
50 <Commission>
51 <Amount>0</Amount>
52 <CurrencyCode>RUB</CurrencyCode>
53 </Commission>
54 <AirlineCommission>
55 <Amount>20</Amount>
56 <CurrencyCode>RUB</CurrencyCode>
57 </AirlineCommission>
58 <PaidValue>
59 <Amount>2189</Amount>
60 <CurrencyCode>RUB</CurrencyCode>
61 </PaidValue>
62 </Payment>
63 <Client>
64 <LastName>Сидоров</LastName>
65 <Name>Владимир</Name>
66 <MiddleName>Константинович</MiddleName>
67 <Number>1806326598</Number>
68 <Birth>1987-05-20</Birth>
69 <Email>mail@host.com</Email>
70 <Phone>+79871234567</Phone>
71 </Client>
72 <PassengersCount>1</PassengersCount>
73 <Passengers>
74 <Passenger>
75 <nationality>RU</nationality>
76 <passenger_type>ADT</passenger_type>
77 <lastname>IVANOV</lastname>
78 <name>IVAN</name>
79 <gender>M</gender>
80 <date_of_birth>20.05.1987</date_of_birth>
81 <doc_type>C</doc_type>
82 <passport_number>1806326598</passport_number>
83 <currency_of_passport>20.03.2019</currency_of_passport>
84 <middlename />
85 <passenger_id>36801</passenger_id>
86 <email>MAIL@HOST.COM</email>
87 <Tickets>
88 <Seg>1</Seg>
89 <Num>5554659179055</Num>
90 <Date>2014-03-21 13:39:00</Date>
91 </Tickets>
92 <PriceInfo>
93 <BaseFare>
94 <Amount>2000</Amount>
95 <CurrencyCode>RUB</CurrencyCode>
96 </BaseFare>
97 <TotalFare>
98 <Amount>2189</Amount>
99 <CurrencyCode>RUB</CurrencyCode>
100 </TotalFare>
101 <Commission>
102 <Amount>0</Amount>
103 <CurrencyCode>RUB</CurrencyCode>
104 </Commission>
105 <AirlineCommission>
106 <Amount>20</Amount>
107 <CurrencyCode>RUB</CurrencyCode>
108 </AirlineCommission>
109 </PriceInfo>
110 </Passenger>
111 </Passengers>
112 <FlightType>Внутренний</FlightType>
113 <OrderInfo>
114 <Info>
115 <Company>Аэрофлот - Российские авиалинии</Company>
116 <CompanyCode>SU</CompanyCode>
117 <StartDate>2014.04.22</StartDate>
118 <StartTime>11:55</StartTime>
119 <StartDayOfWeek>Tuesday</StartDayOfWeek>
120 <FlightNumber>0014 (SU0014)</FlightNumber>
121 <StartAirportCode>SVO</StartAirportCode>
122 <StartAirportName>Шереметьево, Москва</StartAirportName>
123 <StartCountry>Россия</StartCountry>
124 <StartCountryCode>RU</StartCountryCode>
125 <EndAirportCode>LED</EndAirportCode>
126 <EndAirportName>Санкт-Петербург, Пулково</EndAirportName>
127 <EndCountry>Россия</EndCountry>
128 <EndCountryCode>RU</EndCountryCode>
129 <Time>1:30</Time>
130 <Equip>
131 <Name>Airbus 320</Name>
132 <Type>320</Type>
133 </Equip>
134 <ClassType>economy</ClassType>
135 <ClassTypeCode>N</ClassTypeCode>
136 <Meal>L</Meal>
137 </Info>
138 </OrderInfo>
139 <Remarks>Debit</Remarks>
140 </PNR>
Ремарка <Remarks>Debit</Remarks> является не обязательной, означает что заказ был оплачен с помощью способа оплаты «Депозит»; если же заказ был оплачен с использованием депозитного кредита, и депозит ушел в минус даже на 1 руб., то будет <Remarks>Credit</Remarks>.
Элемент <TotalFare> возвращает стоимость уже оплаченного заказа. Если же заказ забронирован, но не оплачен, то значение будет 0 RUB.
Элемент <CreateDate> в зависимости от состояния брони возвращает время окончания бронирования, если бронирование было завершено, иначе возвращает время создания брони.
Формат Софи
1 <?xml version="1.0" encoding="UTF-8"?>
2 <order_snapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3 <header currency="RUB" time_gmt="2014-03-21 09:39:47" time="2014-03-21 13:39:47" ord_id="263440" site="332" />
4 <customer email="mail@host.com" phone="XXXX4567" name="Сидоров В. К." corp_code="332" />
5 <products>
6 <product>
7 <air_ticket_prod prod_id="0" psg_type="A" title="Москва - Санкт-Петербург" taxes="189" fare="2000" origin="MOW" service_fee="0" form_owner="SU" validating_carrier="SU" destination="LED" comission="0">
8 <air_seg segment_id="0" carrier="SU" flight_number="0014" op_carrier="SU" departure_datetime="2014-04-22 11:55:00" arrival_datetime="2014-04-22 13:25:00" departure_airport="SVO" arrival_airport="LED" fare_basis="NPXOWRF" />
9 </air_ticket_prod>
10 </product>
11 </products>
12 <reservations>
13 <reservation crs="SABRE" rloc="MHKPTF" />
14 </reservations>
15 <passengers>
16 <passenger doc_number="1806326598" psgr_id="0" doc_country="RU" psgr_type="A" doc_type="C" birth_date="1987-05-20" name="IVAN" gender="M" first_name="IVANOV" />
17 </passengers>
18 <travel_docs>
19 <travel_doc>
20 <air_ticket_doc tkt_oper="TKT" tkt_number="5554659179055" tkt_date="2014-03-21 13:39:00" prod_id="0" psgr_id="0" />
21 </travel_doc>
22 </travel_docs>
23 <payments>
24 <payment pay_id="117601216" pay_oper="PAY" pay_time="2014-03-21 13:38:26" psp_code="011" psp_name="Testpay" psp_pay_id="" amount="2189" fop="CA" />
25 </payments>
26 </order_snapshot>
Выгрузка заказа для компонента «Отели»
Для компонента «Авиабилеты» доступна выгрузка заказов в формате Nemo.
Формат Nemo
1 <?xml version="1.0" encoding="UTF-8"?>
2 <PNR>
3 <Common>
4 <id>263462</id>
5 <Type>HOTELS</Type>
6 <Service>ACADEM</Service>
7 <Locator>3028655</Locator>
8 <BeginDateTime>2014.04.15-00:00</BeginDateTime>
9 <EndDateTime>2014.04.16-00:00</EndDateTime>
10 <TotalPrice>
11 <Amount>1950</Amount>
12 <CurrencyCode>RUB</CurrencyCode>
13 </TotalPrice>
14 <UserId>123</UserId>
15 <EEUserId />
16 <UserLogin>userLogin</UserLogin>
17 <GroupId>332</GroupId>
18 <UserStatus>Менеджер</UserStatus>
19 <DateCreate>2014.03.21-16:11</DateCreate>
20 </Common>
21 <Payment>
22 <Status>booked</Status>
23 <PenaltyDate>2014.04.13-00:00</PenaltyDate>
24 <Timelimit>2014-04-13 00:00:00</Timelimit>
25 <Charge>
26 <Amount>0</Amount>
27 <CurrencyCode>RUB</CurrencyCode>
28 </Charge>
29 <Book>
30 <Amount>1950</Amount>
31 <CurrencyCode>RUB</CurrencyCode>
32 </Book>
33 <Penalty>
34 <Amount>0</Amount>
35 <CurrencyCode>RUB</CurrencyCode>
36 </Penalty>
37 <Total>
38 <Amount>1950</Amount>
39 <CurrencyCode>RUB</CurrencyCode>
40 </Total>
41 <Commission>
42 <Amount>112</Amount>
43 <CurrencyCode>RUB</CurrencyCode>
44 </Commission>
45 <PaidValue>
46 <Amount>0</Amount>
47 <CurrencyCode>RUB</CurrencyCode>
48 </PaidValue>
49 </Payment>
50 <Client>
51 <LastName>Сидоров</LastName>
52 <Name>Владимир</Name>
53 <MiddleName>Константинович</MiddleName>
54 <Number>1806326598</Number>
55 <Birth>1987-05-20</Birth>
56 <Email>mail@host.com</Email>
57 <Phone>+79871234567</Phone>
58 </Client>
59 <Passengers>
60 <Passenger>
61 <nationality>RU</nationality>
62 <lastname>IVANOV</lastname>
63 <name>IVAN</name>
64 </Passenger>
65 </Passengers>
66 <Info>
67 <Name>Интурист</Name>
68 <City>
69 <Code>34</Code>
70 <Name>Великий Новгород</Name>
71 </City>
72 <Location />
73 <StarRating>3</StarRating>
74 <Days>2</Days>
75 <Nights>1</Nights>
76 <CheckInDate>2014.04.15</CheckInDate>
77 <CheckOutDate>2014.04.16</CheckOutDate>
78 <CheckInTime>14:00</CheckInTime>
79 <CheckOutTime>12:00</CheckOutTime>
80 <OnRequest>false</OnRequest>
81 </Info>
82 <Rooms>
83 <Room>
84 <Name>Двухместный стандарт (две кровати)</Name>
85 <Type>SNGL</Type>
86 <FareId>1</FareId>
87 </Room>
88 </Rooms>
89 <Fares>
90 <Fare>
91 <Id>1</Id>
92 <Price>
93 <Amount>1950</Amount>
94 <CurrencyCode>RUB</CurrencyCode>
95 </Price>
96 <Meals>Завтрак "Шведский стол",Отсутствует</Meals>
97 <Description>Одноместный</Description>
98 </Fare>
99 </Fares>
100 <CancelCharges>
101 <Charge>
102 <DateFrom>2014.04.13-00:00</DateFrom>
103 <DateTo>2014.04.15-00:00</DateTo>
104 <Amount>1488</Amount>
105 <CurrencyCode>RUB</CurrencyCode>
106 </Charge>
107 </CancelCharges>
108 <ModifyCharges />
109 <ModificationMethods>
110 <Method>MOD_PASS_NAMES</Method>
111 <Method>MOD_DATES</Method>
112 </ModificationMethods>
113 </PNR>
Выгрузка заказа для компонента «ЖД»
Для компонента «ЖД» доступна выгрузка заказов в формате Nemo.
Формат Nemo
1 <?xml version="1.0" encoding="UTF-8"?>
2 <PNR>
3 <Common>
4 <id>263470</id>
5 <Type>TRAINS</Type>
6 <Service>UFS</Service>
7 <Locator>63483439</Locator>
8 <BeginDateTime>2014.04.11-12:26</BeginDateTime>
9 <EndDateTime>2014.04.11-15:18</EndDateTime>
10 <TotalPrice>
11 <Amount>1562.2</Amount>
12 <CurrencyCode>RUB</CurrencyCode>
13 </TotalPrice>
14 <UserId>123</UserId>
15 <EEUserId />
16 <UserLogin>userLogin</UserLogin>
17 <GroupId>122</GroupId>
18 <UserStatus>Менеджер</UserStatus>
19 <DateCreate>2014.03.21-17:10</DateCreate>
20 </Common>
21 <Payment>
22 <Title>Deposit</Title>
23 <Method>Deposit</Method>
24 <!--Список платежные шлюзов: Acquiro, Chronopay, Copayco, CourierNew, Deposit, EasyPay, GatelineNew, ITransfer, Invoice,
25 Offices, PayU, Payture, Platron, PrivatBank, Qiwi, Rapida, Receipt, Sberbank, Sirena, Sirena2, UnitellerNew, WebMoney-->
26 <BillingId>117601226</BillingId>
27 <Date>2014-03-21 17:12:39</Date>
28 <CreateDate>2014-03-21 17:12:36</CreateDate>
29 <Status>ticket</Status>
30 <!--Возможные значения: booked - зарезервирован, ticket - выписан, cancelled - отменен-->
31 <PenaltyDate />
32 <Timelimit>2014-03-21 20:10:56</Timelimit>
33 <Charge>
34 <Amount>500</Amount>
35 <CurrencyCode>RUB</CurrencyCode>
36 </Charge>
37 <Book>
38 <Amount>1062.2</Amount>
39 <CurrencyCode>RUB</CurrencyCode>
40 </Book>
41 <Penalty>
42 <Amount>0</Amount>
43 <CurrencyCode>RUB</CurrencyCode>
44 </Penalty>
45 <Total>
46 <Amount>1562.2</Amount>
47 <CurrencyCode>RUB</CurrencyCode>
48 </Total>
49 <PaidValue>
50 <Amount>1562.2</Amount>
51 <CurrencyCode>RUB</CurrencyCode>
52 </PaidValue>
53 </Payment>
54 <Client>
55 <LastName>Сидоров</LastName>
56 <Name>Владимир</Name>
57 <MiddleName>Константинович</MiddleName>
58 <Number>1806326598</Number>
59 <Birth>1987-05-20</Birth>
60 <Email>mail@host.com</Email>
61 <Phone>+79871234567</Phone>
62 </Client>
63 <Passengers>
64 <Passenger>
65 <nationality>RU</nationality>
66 <middlename>генадьевич</middlename>
67 <passenger_type>ADT</passenger_type>
68 <lastname>иванов</lastname>
69 <name>петр</name>
70 <doc_type>C</doc_type>
71 <!--Варианты: P - загран паспорт, C - Российский паспорт, B - свидетельство о рождении, M - воинское удостоверение,
72 S - паспорт моряка, A - иностранный документ-->
73 <passport_number>1806123456</passport_number>
74 <passenger_id>1</passenger_id>
75 <gender>M</gender>
76 <date_of_birth>20.05.1980</date_of_birth>
77 <TicketNumber>72844662735711</TicketNumber>
78 <SeatNumber>001</SeatNumber>
79 <HasSeat>true</HasSeat>
80 <!--false - для ребенка до 5 лет без места-->
81 </Passenger>
82 </Passengers>
83 <Info>
84 <trainNumber>356ЙА</trainNumber>
85 <trainName />
86 <departureStation>МОСКВА КАЗ</departureStation>
87 <arrivalStation>УФА</arrivalStation>
88 <trainCategory>0</trainCategory>
89 <beginStation>МОСКВА</beginStation>
90 <endStation>РЯЗАНЬ</endStation>
91 <startDate>2014.04.11-12:26</startDate>
92 <endDate>2014.04.11-15:18</endDate>
93 <timeInRoad>10320</timeInRoad>
94 <carNumber>6</carNumber>
95 <carType>4</carType>
96 <!--Возможные варианты: 1 - общий вагон, 2 - сидячий вагон, 3 - плацкарта, 4 - купе, 5 - люкс,
97 6 - мягкий, 7 - неизвестный тип-->
98 <choosenSeats>
99 <type>
100 <lower>1</lower>
101 </type>
102 <type>
103 <upper>0</upper>
104 </type>
105 <type>
106 <lower_side>0</lower_side>
107 </type>
108 <type>
109 <upper_side>0</upper_side>
110 </type>
111 <type>
112 <undefined>0</undefined>
113 </type>
114 </choosenSeats>
115 <choosenRange>
116 <start>17</start>
117 <end>17</end>
118 </choosenRange>
119 <serviceClass>Вагон без услуг. В стоимость входит - постельное белье.
120 Наличие установки кондиционирования воздуха не гарантировано.</serviceClass>
121 </Info>
122 </PNR>
Пакетный экспорт заказов
Сервис выгрузки заказов позволяет экспортировать интересующие выборки по заказам в формате XML. Например, можно выбрать все заказы по дате бронирования и получить информацию по ним в XML-виде.
Экспорт заказов под авторизованным пользователем (в личном кабинете)
Порядок пользования сервисом:
- Перейти в личный кабинет
- В адресной строке браузера к текущему адресу дописать параметр &exportxml. Должен получиться адрес вида:
http://DOMAIN/index.php?go=poffice/table&exportxml
- После обновления страницы под блоком фильтров должна появиться кнопка «Экспортировать в XML». При ее нажатии на странице появляется предложение сохранить в XML-файл выборку отфильтрованных заказов.
Пользователь может произвести выгрузку только своих заказов.
Экспорт заказов под неавторизованным пользователем (под «гостем»)
В Nemo существует возможность получить выборку заказов под неавторизованным пользователем («гостем»). Для этого необходимо выполнить запрос вида:
http://DOMAIN/index.php?go=export_xml_key/search&параметры экспорта&xmlKey=ХХХ
где
- host — доменное имя сайта, с которого необходимо сделать экспорт;
- параметры поиска — параметры, по которым следует сделать экспорт;
- xmlKey — ключ, который задается в разделе «Администрирование» → «Настройки агентства» → «Ключ безопасности для сервиса выставления оплаты и получения XML выгрузки».
Параметры экспорта заказов
Название | Описание | Возможные значения |
---|---|---|
service | Поставщик | GALILEO, SABRE, SIRENA2000, GTA, MIKI, SERHS, DOTW, HOTELBEDS и т.д. |
type | Компонент | FLIGHTS, HOTELS и т.д. |
set_user | Id пользователя | числовые |
status | статус бронирования | booked - забронирован, cancelled - аннулирован, ticket - выписан, waiting - в работе (только для компонента «Отели»), pending confirmation - ожидает подтверждения (только для «отелей»). Для выборки заказов с любым статусом - этот параметр нужно не указывать. |
payment | Статус оплаты | 1 - не оплачен, 2 - частично оплачен, 3 - оплачен. |
document | Статус загрузки документа | 1 - документ не загружался, 2 - документ загружался |
book_date[from], book_date[to] | «Забронировано» | выбранные даты |
date_begin[from], date_begin[to] | «Начало» | выбранные даты |
update_date[from], update_date[to] | «Изменен» | выбранные даты |
autocancel_date[from], autocancel_date[to] | «Истекает» | выбранные даты |
penalty[from], penalty[to] | «Штрафы» | выбранные даты |