NurCore API
SDKs & Examples

cURL Examples

Готовые примеры команд для тестирования API.

Setup

export API="https://api.nurcore.kg/api/v1"
export KEY="sk_test_your_secret_key_here"

# Единственный обязательный заголовок — X-API-Key.
# Тип клиента (consumer_app / agency / publishable) и client_id
# определяются автоматически по самому ключу.
export AUTH=(-H "X-API-Key: $KEY")

Schedules

Все catalog-запросы можно делать pk_* ключом (publishable — безопасно встраивать в frontend bundle).

# Поиск аэропортов
curl "${AUTH[@]}" "$API/schedules/airports?search=BSZ"

# Маршруты
curl "${AUTH[@]}" "$API/schedules/routes?origin=BSZ&destination=OSS"

# Карточка рейса
curl "${AUTH[@]}" "$API/schedules/flights/$FLIGHT_ID"

# Список рейсов на сегодня
curl "${AUTH[@]}" "$API/schedules/flights/?flight_date=$(date +%Y-%m-%d)"

# Календарь дат с рейсами
curl "${AUTH[@]}" "$API/schedules/flights/calendar?origin=BSZ&destination=OSS&date_from=2026-05-01&date_to=2026-05-31"

Bookings

# Создать броню
curl -X POST "${AUTH[@]}" \
  -H "Content-Type: application/json" \
  -d @booking.json \
  "$API/bookings/"

# Получить детали
curl "${AUTH[@]}" "$API/bookings/$BOOKING_ID"

# Подтвердить
curl -X POST "${AUTH[@]}" "$API/bookings/$BOOKING_ID/confirm"

# Magic-link просмотр (consumer flow, X-API-Key не нужен — auth через access_token)
curl "$API/bookings/$BOOKING_ID/public?access_token=$TOK"

# Find my trip
curl "$API/bookings/lookup-consumer?pnr=ABC123&email=user@example.com"

# Self-cancel через magic-link
curl -X POST "$API/bookings/$BOOKING_ID/cancel-consumer?access_token=$TOK"

# Скачать e-ticket
curl "${AUTH[@]}" -O "$API/bookings/$BOOKING_ID/eticket"

Online Check-in (consumer)

# Карта салона
curl "$API/checkin/flight/$FLIGHT_ID/seat-map?access_token=$TOK&booking_id=$BOOK_ID"

# Self check-in
curl -X POST -H "Content-Type: application/json" \
  -d '{
    "booking_id": "'$BOOK_ID'",
    "passenger_id": "'$PAX_ID'",
    "flight_id": "'$FLIGHT_ID'",
    "seat_number": "12A"
  }' "$API/checkin/consumer?access_token=$TOK"

# Скачать boarding pass
curl -O "$API/checkin/$CHECKIN_ID/boarding-pass/pdf?access_token=$TOK"

Payments

# Старт оплаты
curl -X POST "${AUTH[@]}" \
  -H "Content-Type: application/json" \
  -d '{"amount": 5000, "currency": "KGS", "return_url": "https://example.com/result"}' \
  "$API/bookings/$BOOK_ID/initiate-payment"

# Refund (B2B)
curl -X POST "${AUTH[@]}" \
  -H "Content-Type: application/json" \
  -d '{"amount": 1500, "reason": "Cancelled"}' \
  "$API/payments/$PAYMENT_ID/refund"

# Multi-currency wallet (B2B)
curl "${AUTH[@]}" "$API/partners/$PARTNER_ID/wallets"
curl "${AUTH[@]}" "$API/partners/$PARTNER_ID/wallet/transactions?currency=USD"

Common patterns

Pagination

curl "${AUTH[@]}" "$API/bookings/?page=1&page_size=50&status=confirmed"

Pretty print + jq

curl -s "${AUTH[@]}" "$API/bookings/$ID" | jq '.passengers[].last_name'

On this page