B2C

Создание заказа в Альфа-Тревел

Пром
POST https://baas.alfabank.ru/api/order-core/pp/v1/travel/orders
Scope

travelorder

Описание

Метод позволяет создать заказ в Альфа-Тревел.

Параметры запроса
HEADERS
Атрибут
Описание
Authorization
stringrequired
Accept
stringrequired

application/json

Content-Type
stringrequired

application/json

BODY
Атрибут
Описание
objectrequired

Данные заказа

externalId
stringrequired

Идентификатор заказа в системе партнёра

accountType
stringoptional

Тип бонусного счёта для оплаты

ruleId
integeroptional

Идентификатор правила расчёта комиссии (Банк сообщает правило партнёру при настройке интеграции)

type
stringrequired

Тип заказа. Возможные значения:

  • •
    AVIA - авиабилеты;
  • •
    RAILWAY - железнодорожные билеты;
  • •
    HOTEL - бронирование отелей;
  • •
    TOUR - пакетные туры
dateTime
stringrequired

Дата и время

totalSum
numberrequired

Общая сумма заказа (RUB)

array of objectsoptional

Данные бонусной части оплаты заказа

type
integerrequired

Тип бонусной операции. Возможные значения:

  • •
    0 - оплата основного заказа;
  • •
    1 - фиксированная ставка;
  • •
    2 - процент от суммы;
  • •
    3 - комиссия третьих лиц
sumRubEquivalent
numberrequired

Сумма оплаты бонусными единицами в рублёвом эквиваленте

sum
numberrequired

Сумма оплаты

comment
stringoptional

Комментарий к оплате бонусной частью

array of objectsoptional

Данные денежной части оплаты заказа

type
stringrequired

Тип оплаты рублями

sum
numberrequired

Сумма оплаты

currency
stringrequired

Валюта оплаты

objectrequired

Содержимое заказа

utilizationDate
stringoptional

Дата утилизации тура

reservationSource
stringrequired

Источник бронирования. Возможные значения:

  • •
    WEBVIEW - вебвью;
  • •
    SITE - сайт
array of objectsoptional

Данные дополнительных услуг

name
stringrequired

Наименование доп. услуги

type
stringrequired

Тип доп. услуги

sum
numberrequired

Сумма оплаты

currency
stringrequired

Валюта оплаты

tripType
stringoptional

Тип путешествия. Возможные значения:

  • •
    OW - в одну сторону;
  • •
    RT - туда-обратно;
  • •
    CX - сложный маршрут
array of objectsoptional

Данные перелёта или ЖД переезда

class
stringoptional

Класс билета

type
stringrequired

Тип рейса/поезда

sequence
integeroptional

Последовательность

number
stringoptional

Номер рейса/поезда

supplier
stringoptional

Название перевозчика

direction
stringoptional

Направление

objectrequired

Данные отправления

dateTime
stringoptional

Дата и время

city
stringrequired

Код города отправления/прибытия

country
stringrequired

Код страны отправления/прибытия:

  • •
    для перелётов в формате ISO 3166-1 Alpha-2;
  • •
    для ЖД переездов в соответствии со справочником РЖД
point
stringrequired

Код аэропорта/вокзала отправления/прибытия:

  • •
    для аэропортов в формате IATA Alpha-3;
  • •
    для вокзалов в соответствии со справочником РЖД
pointName
stringoptional

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

objectrequired

Данные прибытия

dateTime
stringoptional

Дата и время

city
stringrequired

Код города отправления/прибытия

country
stringrequired

Код страны отправления/прибытия:

  • •
    для перелётов в формате ISO 3166-1 Alpha-2;
  • •
    для ЖД переездов в соответствии со справочником РЖД
point
stringrequired

Код аэропорта/вокзала отправления/прибытия:

  • •
    для аэропортов в формате IATA Alpha-3;
  • •
    для вокзалов в соответствии со справочником РЖД
pointName
stringoptional

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

array of objectsoptional

Данные багажа

type
stringrequired

Тип багажа

amount
integerrequired

Количество багажа

weight
numberrequired

Вес багажа (кг)

width
numberoptional

Ширина багажа (см)

length
numberoptional

Длина багажа (см)

height
numberoptional

Высота багажа (см)

objectoptional

Данные отеля

name
stringrequired

Наименование отеля

roomType
stringrequired

Тип комнаты

checkInDate
stringrequired

Дата и время заезда

checkOutDate
stringrequired

Дата и время выезда

city
stringrequired

Код города отеля

country
stringrequired

Код страны отеля (ISO 3166-1 Alpha-2)

stars
integeroptional

Количество звёзд отеля

mealType
stringoptional

Тип питания

objectoptional

Данные тура

operator
stringrequired

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

provider
stringoptional

Наименование провайдера тура

objectrequired

Данные путешественников

adults
integerrequired

Количество взрослых

children
integerrequired

Количество детей

infants
integerrequired

Количество младенцев

objectoptional

Данные для аналитики

bookingType
stringoptional

Тип бронирования

startPrice
numberoptional

Цена нетто (RUB)

markup
numberoptional

Наценка (RUB)

aviakassaFee
numberoptional

Комиссия авиакассы (RUB)

supplierFee
numberoptional

Комиссия поставщика (RUB)

gdsBonus
numberoptional

Комиссия GDS (RUB)

comissionFee
numberoptional

Комиссионное вознаграждение (RUB)

array of objectsoptional

Данные билетов и идентификаторов пассажиров

id
integeroptional

Идентификатор пассажира

ticketNumber
stringoptional

Номер билета

array of objectsoptional

Данные перелётов

flightNumber
stringoptional

Номер рейса

locator
stringoptional

Локатор

Пример запроса
Язык
1curl --location 'https://baas.alfabank.ru/api/order-core/pp/v1/travel/orders' \
2--header 'Authorization: Bearer {access-token}' \
3--header 'Content-Type: application/json' \
4--header 'Accept: application/json' \
5--data '{
6  "order": {
7    "externalId": "3248901",
8    "accountType": "Мили",
9    "ruleId": 12,
10    "type": "AVIA",
11    "dateTime": "2023-10-05T14:30:00.000Z",
12    "totalSum": 254.1,
13    "bonusPayment": [
14      {
15        "type": 0,
16        "sumRubEquivalent": 1000,
17        "sum": 500,
18        "comment": "Оплачиваю часть милями"
19      }
20    ],
21    "cashPayment": [
22      {
23        "type": "Оплата комиссии в пользу 3-их лиц",
24        "sum": 500,
25        "currency": "RUB"
26      }
27    ],
28    "content": {
29      "utilizationDate": "2023-10-05T14:30:00.000Z",
30      "reservationSource": "WEBVIEW",
31      "additionalServices": [
32        {
33          "name": "Выбор места",
34          "type": "place_choice",
35          "sum": 500,
36          "currency": "RUB"
37        }
38      ],
39      "tripType": "OW",
40      "segments": [
41        {
42          "class": "A",
43          "type": "REGULAR",
44          "sequence": 1,
45          "number": "P-06-28921",
46          "supplier": "Ural Airlines",
47          "direction": "0",
48          "departure": {
49            "dateTime": "2023-10-05T14:30:00.000Z",
50            "city": "MOW",
51            "country": "RU",
52            "point": "VKO",
53            "pointName": "Внуково"
54          },
55          "arrival": {
56            "dateTime": "2023-10-05T14:30:00.000Z",
57            "city": "MOW",
58            "country": "RU",
59            "point": "VKO",
60            "pointName": "Внуково"
61          },
62          "luggage": [
63            {
64              "type": "Wheeled Duffel Bags",
65              "amount": 5,
66              "weight": 10,
67              "width": 10,
68              "length": 5,
69              "height": 5
70            }
71          ]
72        }
73      ],
74      "hotel": {
75        "name": "Горный пик",
76        "roomType": "Номер эконом с 1 двуспальной кроватью",
77        "checkInDate": "2020-10-12T12:00:00.000Z",
78        "checkOutDate": "2020-10-14T15:00:00.000Z",
79        "city": "MOW",
80        "country": "RU",
81        "stars": 4,
82        "mealType": "halfBoardDinner"
83      },
84      "tour": {
85        "operator": "SpaceTravel",
86        "provider": "Travel"
87      },
88      "travelers": {
89        "adults": 2,
90        "children": 1,
91        "infants": 1
92      }
93    },
94    "reportData": {
95      "bookingType": "GDS",
96      "startPrice": 255.55,
97      "markup": 255.96,
98      "aviakassaFee": 100000,
99      "supplierFee": 555657,
100      "gdsBonus": 1000,
101      "comissionFee": 5898,
102      "passengers": [
103        {
104          "id": 756,
105          "ticketNumber": "E584"
106        }
107      ],
108      "flights": [
109        {
110          "flightNumber": "ST006",
111          "locator": "26W4GS"
112        }
113      ]
114    }
115  }
116}'
Параметры ответа
Пример ответа 200 (OK)
1{
2  "orderId": "40b3c2d2-e491-4b19-94cd-461e6fa35a60",
3  "status": "Order already exists"
4}
BODY
атрибут
описание
orderId
stringoptional

Идентификатор заказа в Банке

status
stringoptional

Результат создания заказа

Пример ответа 200 (OK)
1{
2  "orderId": "40b3c2d2-e491-4b19-94cd-461e6fa35a60",
3  "status": "Order already exists"
4}
BODY
атрибут
описание
orderId
stringoptional

Идентификатор заказа в Банке

status
stringoptional

Результат создания заказа

Пример ответа 201 (Created)
1{
2  "orderId": "40b3c2d2-e491-4b19-94cd-461e6fa35a60",
3  "status": "Created"
4}
BODY
атрибут
описание
error
stringoptional

Код ошибки. Принимает возможные значения:

  • •
    validation_error - неверные входные параметры запроса
error_description
stringoptional

Описание ошибки

Пример ошибки 400 (Bad Request)
1{
2  "error": "validation_error",
3  "error_description": "Field order.type: must not be null"
4}
BODY
атрибут
описание
error
stringoptional

Код ошибки. Принимает возможные значения:

  • •
    invalid_token - предоставленный токен просрочен, отозван, имеет неправильный формат или недействителен по другим причинам. При истечении срока жизни токена необходимо обновить его с помощью refresh_token. При отзыве токена необходимо заново пройти авторизацию
error_description
stringoptional

Описание ошибки

Пример ошибки 401 (Unauthorized)
1{
2  "error": "invalid_token",
3  "error_description": "The access token provided is expired, revoked, malformed, or invalid for other reasons"
4}
BODY
атрибут
описание
error
stringoptional

Описание ошибки. Принимает возможные значения:

  • •
    forbidden / insufficient_scope - у пользователя нет прав на использование запрашиваемого сервиса, доступ к которому не предусмотрен настройками scope
error_description
stringoptional

Описание ошибки

Пример ошибки 403 (Forbidden)
1{
2  "error": "insufficient_scope",
3  "error_description": "The request requires higher privileges than provided by the access token"
4}
BODY
атрибут
описание
error
stringoptional

Код ошибки. Принимает возможные значения:

  • •
    unknown_endpoint - эндпоинт не найден или неактивен
error_description
stringoptional

Описание ошибки

Пример ошибки 404 (Not Found)
1{
2  "error": "unknown_endpoint",
3  "error_description": "Endpoint is not found or not active"
4}
Нет тела ответа
BODY
атрибут
описание
error
stringoptional

Код ошибки. Принимает возможные значения:

  • •
    internal_server_error - внутренняя ошибка сервиса при выполнении обработки запроса
error_description
stringoptional

Описание ошибки

Пример ошибки 500 (Internal Server Error)
1{
2  "error": "internal_server_error",
3  "error_description": "Internal server error"
4}
BODY
атрибут
описание
error
stringoptional

Код ошибки. Принимает возможные значения:

  • •
    bad_gateway - ошибка взаимодействия с внешним сервисом при обработке запроса
error_description
stringoptional

Описание ошибки

Пример ошибки 502 (Bad Gateway)
1{
2  "error": "bad_gateway",
3  "error_description": "Can't hold miles"
4}
Нет тела ответа