VignetimVignetim
Домашній
Контакт
УвійтиРеєстрація
  1. Головна
  2. /
  3. Розробники
  4. /
  5. Довідник API
  6. /
  7. Автентифікація

Початок роботи

  • Вступ
  • Автентифікація
  • Пісочниця
  • Обмеження запитів
  • Обробка помилок

Продукти

  • Віньєтки
  • eSIM-пакети
  • Страхові продукти
  • Категорії транспорту

Замовлення

  • Створення замовлення
  • Список замовлень
  • Деталі замовлення

Webhooks

  • Огляд Webhooks
  • Керування Webhooks

MCP

  • Огляд MCP
  • Vignetim Claude MCP
  • Vignetim OpenAI MCP

Автентифікація (Authentication)

Кожен запит до Partner API повинен бути автентифікований за допомогою підпису запитів HMAC-SHA256. Це гарантує, що запити є справжніми та не були змінені під час передачі.

Обов'язкові заголовки

ЗаголовокОпис
X-API-KeyВаш API-ключ організації
X-TimestampПоточна мітка часу Unix у секундах (наприклад, 1711000000)
X-NonceУнікальний рядок для кожного запиту (рекомендується UUID v4)
X-SignatureШістнадцятковий підпис HMAC-SHA256 запиту

Побудова підпису (Signature Construction)

Підпис обчислюється шляхом побудови рядка повідомлення, розділеного крапками, та його підписання вашим секретним ключем API:

message = "{timestamp}.{nonce}.{method}.{path}.{body}"
signature = HMAC-SHA256(apiKeySecret, message).hexDigest()

Компоненти повідомлення, з'єднані крапками (.):

  1. timestamp — Мітка часу Unix у секундах (те саме значення, що й у заголовку X-Timestamp)
  2. nonce — Те саме значення, що надіслане у заголовку X-Nonce
  3. method — HTTP-метод у верхньому регістрі (наприклад, GET, POST)
  4. path — Повний шлях запиту (наприклад, /v2/partners/products/tickets)
  5. body — Необроблений рядок JSON тіла запиту. Для GET-запитів без тіла використовуйте порожній рядок ""

Отриманий HMAC-дайджест повинен бути закодований як шістнадцятковий рядок у нижньому регістрі.

Приклади

API_KEY="your-api-key"
API_SECRET="your-api-secret"
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen | tr '[:upper:]' '[:lower:]')
METHOD="GET"
REQ_PATH="/v2/partners/products/tickets"
BODY=""

MESSAGE="${TIMESTAMP}.${NONCE}.${METHOD}.${REQ_PATH}.${BODY}"

SIGNATURE=$(echo -n "${MESSAGE}" | \
  openssl dgst -sha256 -hmac "${API_SECRET}" | \
  awk '{print $2}')

curl -X GET "https://api.vignetim.com${REQ_PATH}" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ${API_KEY}" \
  -H "X-Timestamp: ${TIMESTAMP}" \
  -H "X-Nonce: ${NONCE}" \
  -H "X-Signature: ${SIGNATURE}"

Важливі примітки

  • X-Timestamp повинен бути в межах 5 хвилин (300 секунд) від часу сервера. Запити із застарілими мітками часу будуть відхилені з помилкою 401.
  • Кожне значення X-Nonce повинно бути унікальним і може бути використане лише один раз. Повторне використання nonce призведе до помилки 401.
  • Завжди використовуйте необроблений, неформатований рядок JSON тіла для обчислення підпису. Не форматуйте та не перетворюйте тіло перед підписанням.
  • Підпис повинен бути закодований у шістнадцятковому форматі в нижньому регістрі. Не використовуйте base64.
Попередній← ВступНаступнийПісочниця→
VignetimVignetim
Visa
Mastercard
American Express

Віньєтки та плата

  • Болгарська віньєтка
  • Віньєтка Чехії
  • Угорщина віньєтка
  • Віньєтка Словаччини
  • Віньєтка Словенії
  • Віньєтка Румунії
  • Віньєтка Молдова
  • Швейцарська віньєтка
  • Естонія Віньєтка
  • Ісландія плата
  • Нідерланди
  • Ірландія

Страхування

  • Медичне страхування подорожей
  • Страхування зеленої картки

Компанія

  • Поширені запитання
  • Про
  • Контакт
  • Довідник API
  • Fleet

Приватність

  • Терміни та використання
  • Політика конфіденційності
  • Політика cookie
  • Інструкція з видалення даних користувача

Соціальний

  • Instagram
  • LinkedIn
  • X (Twitter)
  • Facebook

Vignetim | E-Vignette, eSIM & Insurance

Купуйте та легко керуйте своїми європейськими електронними віньєтками, eSIMs і страховки за допомогою Vignetim.

Доступно на iOS та Android.

Завантажте в App StoreОтримайте його в Google Play

Copyright © 2026 Vignetim | Віньєтка, eSIM & Страховка