VignetimVignetim
Дом
Контакт
АвторизоватьсяЗарегистрировать
  1. Главная
  2. /
  3. Разработчики
  4. /
  5. Справочник API
  6. /
  7. Аутентификация

Начало работы

  • Введение
  • Аутентификация
  • Песочница
  • Ограничение запросов
  • Обработка ошибок

Продукты

  • Виньетки
  • eSIM-пакеты
  • Страхование
  • Категории транспорта

Заказы

  • Создание заказа
  • Список заказов
  • Детали заказа

Webhooks

  • Обзор Webhooks
  • Управление Webhooks

MCP

  • Обзор MCP
  • Vignetim Claude MCP
  • Vignetim OpenAI MCP

Аутентификация

Каждый запрос к Partner API должен быть аутентифицирован с использованием подписи HMAC-SHA256. Это гарантирует, что запросы являются подлинными и не были изменены при передаче.

Обязательные заголовки

ЗаголовокОписание
X-API-KeyAPI-ключ вашей организации
X-TimestampТекущая метка времени Unix в секундах (например, 1711000000)
X-NonceУникальная строка для каждого запроса (рекомендуется UUID v4)
X-SignatureHex-подпись запроса HMAC-SHA256

Формирование подписи

Подпись вычисляется путём построения строки сообщения с разделением точками и подписания её секретом вашего 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-дайджест должен быть закодирован в формате hex в нижнем регистре.

Примеры

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-тела для вычисления подписи. Не форматируйте и не пересериализуйте тело перед подписанием.
  • Подпись должна быть в формате hex в нижнем регистре. Не используйте base64.
Предыдущий← ВведениеСледующийПесочница→
VignetimVignetim
Visa
Mastercard
American Express

Виньетки и платы

  • Болгария виньетка
  • Чешская республика виньетка
  • Венгрия виньетка
  • Словакия виньетка
  • Словения виньетка
  • Румыния виньетка
  • Молдова виньетка
  • Швейцария виньетка
  • Эстония виньетка
  • Исландия
  • Нидерланды
  • Ирландия

Страхование

  • Медицинское страхование путешествий
  • Страхование зеленой карты

Компания

  • Часто задаваемые вопросы
  • О
  • Контакт
  • Справочник API
  • Fleet

Конфиденциальность

  • Условия и использование
  • политика конфиденциальности
  • Политика cookie
  • Инструкция по удалению пользовательских данных

Социальная

  • Instagram
  • LinkedIn
  • X (Twitter)
  • Facebook

Vignetim | E-виньетка, eSIM & Страховка

Покупайте и легко управляйте своими европейскими электронными виньетами, eSIMs и страховками за с помощью Vignetim.

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

Скачать в App StoreПолучить в Google Play

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