API от GetTransfer

 

Данная документация содержит все необходимые данные для успешной интеграции с процессом бронирования трансферов на платформе GetTransfer.com. Ответы могут содержать дополнительные данные, но следует учитывать только те, что описаны в этой документации.

Ограничения по частоте запросов (Rate Limit)

Если приложение превышает лимит запросов для конкретного метода API, будет возвращён HTTP-код 429. В заголовке Retry-After будет указано время в секундах, которое нужно подождать перед повторной попыткой запроса.

Токен доступа

Напишите в поддержку по адресу support@travelpayouts.com, чтобы получить токен доступа. Для этого предоставьте email, используемый при регистрации в веб-интерфейсе (как для тестовой, так и для рабочей среды). После получения токена добавляйте его в заголовок каждого запроса:

X-ACCESS-TOKEN: <ваш_токен>

Пространства

Получение цен (предложения book_now)

Обязательные параметры:

  • points[] — координаты отправления и назначения;
  • with_prices — всегда true;
  • date_to — дата и время поездки (локальное);
  • pax — количество пассажиров (включая детей с креслами).

Дополнительные параметры:

  • date_return — если нужна поездка туда-обратно;
  • currency — ISO-код нужной валюты (если требуется результат не в валюте аккаунта);
  • distance_unit — "km" или "miles".

Важные замечания:

  • Время поездки должно быть минимум через 6 часов после времени запроса;
  • Цены для клиента находятся в поле book_now внутри объекта prices;
  • Если book_now отсутствует, маршрут недоступен для бронирования;
  • Цены обновляются раз в день (ночью, по UTC).

Пример запроса

GET /api/route_info?points[]=<lat,long>&points[]=<lat,long>&with_prices=true&pax=2&date_to=2025-11-15T18:30:00+07:00&currency=USD&distance_unit=km

Ответ сервера

{
  "result": "success",
  "data": {
    "success": true,
    "distance": 705,
    "duration": 468,
    "prices": {
      "economy": {
        "min": "€191",
        "min_float": 191.0,
        "book_now": "€2,319"
      },
      "business": {
        "min": "€213",
        "min_float": 213.0,
        "book_now": "€4,659"
      }
    }
  }
}

Создание заявки на трансфер

Обязательные параметры:

  • from, to — объект с названием, координатами и place_id;
  • trip_to — объект с датой и временем (локальное время);
  • transport_type_ids — массив типов транспорта (может быть null);
  • pax — общее число пассажиров (включая детей);
  • child_seats_infant / convertible / booster — количество каждого типа кресел (обязательно, >=0);
  • partner_passenger — данные пассажира (email, имя, телефон);

Пример тела запроса

{
  "transfer": {
    "from": {
      "name": "Heathrow Airport (LHR)",
      "point": "(51.4679914,-0.455051)"
    },
    "to": {
      "name": "City of London",
      "point": "(51.5123443,-0.0909852)"
    },
    "trip_to": {
      "date": "2025-11-15T18:30:00+07:00"
    },
    "transport_type_ids": ["limousine", "economy"],
    "pax": 3,
    "child_seats_infant": 0,
    "child_seats_convertible": 1,
    "child_seats_booster": 0,
    "partner_passenger": {
      "full_name": "Sam Smith",
      "email": "email@example.com",
      "phone": "+18005553535"
    }
  }
}

Оплата бронирования

Запрос

POST /api/payments

Параметры:

  • transfer_id — ID трансфера;
  • gateway_type — всегда "ground" (оплата с баланса);
  • book_now_transport_type — тип транспорта, выбранный для бронирования.

Пример

{
  "transfer_id": "16456",
  "gateway_type": "ground",
  "book_now_transport_type": "economy"
}

Получение данных перевозчика и автомобиля

При изменении статуса трансфера на "performed", вы можете получить данные о водителе и транспорте.

Callback-уведомление:

{
  "event": "transfer_status_changed",
  "transfer_id": 16456,
  "new_status": "performed"
}

Если требуется получать уведомления, передайте URL для callback в поддержку support@travelpayouts.com.

Получение информации:

GET /api/transfers/:id/offers

Обновление контактов пассажира

PUT /api/transfers/:id

Пример:

{
  "transfer": {
    "partner_passenger": {
      "full_name": "March",
      "phone": "+449087897987"
    }
  }
}

Разрешено обновлять только поля, указанные в массиве editable_fields трансфера.

Отмена трансфера

Неоплаченный трансфер

POST /api/transfers/:id/cancel

Оплаченный трансфер с возвратом

POST /api/transfers/:id/refund

Возможен только если не истёк период возврата. Возврат возможен за 24 часа до поездки.

Получение ваучера

GET /api/transfers/voucher/:id

Ответ содержит ссылку на PDF-ваучер