Выгрузка заказов
Выгрузка заказов — это экспорт данных заказа или заказов для различных компонентов системы Nemo.
Содержание
- 1 Описание
- 2 Настройки
- 3 Форматы выгрузки заказов
- 4 Пакетный экспорт заказов
- 5 См. также
Описание
Модуль позволяет внешней системе получать данные по заказам для дальнейшей обработки.
Процесс выгрузки
Схематично процесс выгрузки заказов представлен на блок-схеме.
Настройки
На странице настроек выгрузки заказов доступны следующие опции:
- Выгрузка одновременно и 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 <transactionNumber>63483439</transactionNumber>
85 <trainNumber>356ЙА</trainNumber>
86 <trainName />
87 <departureStation>МОСКВА КАЗ</departureStation>
88 <arrivalStation>УФА</arrivalStation>
89 <trainCategory>0</trainCategory>
90 <beginStation>МОСКВА</beginStation>
91 <endStation>РЯЗАНЬ</endStation>
92 <startDate>2014.04.11-12:26</startDate>
93 <endDate>2014.04.11-15:18</endDate>
94 <timeInRoad>10320</timeInRoad>
95 <carNumber>6</carNumber>
96 <carType>4</carType>
97 <!--Возможные варианты: 1 - общий вагон, 2 - сидячий вагон, 3 - плацкарта, 4 - купе, 5 - люкс,
98 6 - мягкий, 7 - неизвестный тип-->
99 <choosenSeats>
100 <type>
101 <lower>1</lower>
102 </type>
103 <type>
104 <upper>0</upper>
105 </type>
106 <type>
107 <lower_side>0</lower_side>
108 </type>
109 <type>
110 <upper_side>0</upper_side>
111 </type>
112 <type>
113 <undefined>0</undefined>
114 </type>
115 </choosenSeats>
116 <choosenRange>
117 <start>17</start>
118 <end>17</end>
119 </choosenRange>
120 <serviceClass>Вагон без услуг. В стоимость входит - постельное белье.
121 Наличие установки кондиционирования воздуха не гарантировано.</serviceClass>
122 </Info>
123 </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] | «Штрафы» | выбранные даты |