VignetimVignetim
Начало
Контакти
ВлезтеРегистрация
  1. Начало
  2. /
  3. Разработчици
  4. /
  5. API справочник
  6. /
  7. Удостоверяване

Начало

  • Въведение
  • Удостоверяване
  • Sandbox
  • Ограничение на заявки
  • Обработка на грешки

Продукти

  • Винетки
  • eSIM пакети
  • Застрахователни продукти
  • Категории превозни средства

Поръчки

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

Webhooks

  • Преглед на Webhooks
  • Управление на Webhooks

MCP

  • Преглед на MCP
  • Vignetim Claude MCP
  • Vignetim OpenAI MCP

Удостоверяване

Всяка заявка към партньорския API (Partner API) трябва да бъде удостоверена чрез HMAC-SHA256 подписване на заявки. Това гарантира, че заявките са автентични и не са били променяни по време на предаването.

Задължителни хедъри

HeaderОписание
X-API-KeyВашият API ключ на организацията
X-TimestampТекущ Unix timestamp в секунди (напр. 1711000000)
X-NonceУникален низ за всяка заявка (препоръчва се UUID v4)
X-SignatureHMAC-SHA256 hex подпис на заявката

Конструиране на подписа

Подписът се изчислява чрез изграждане на низ от съобщение, разделен с точки, и подписването му с тайната на вашия API ключ:

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

Компонентите на съобщението, свързани с точки (.):

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

Полученият HMAC дайджест трябва да бъде кодиран като шестнадесетичен низ с малки букви (lowercase 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 секунди) от сървърното време. Заявки с изтекъл timestamp ще бъдат отхвърлени с грешка 401.
  • Всяка стойност на X-Nonce трябва да бъде уникална и може да се използва само веднъж. Повторното използване на nonce ще доведе до грешка 401.
  • Винаги използвайте необработения, неформатиран JSON низ на тялото за изчисляване на подписа. Не форматирайте и не ресериализирайте тялото преди подписването.
  • Подписът трябва да бъде кодиран в шестнадесетичен формат с малки букви (lowercase hex). Не използвайте base64.
Предишна← ВъведениеСледващаSandbox→
VignetimVignetim
Visa
Mastercard
American Express

Винетки и тол такси

  • Винетка за България
  • Винетка за Чехия
  • Винетка за Унгария
  • Винетка за Словакия
  • Винетка за Словения
  • Винетка за Румъния
  • Винетка за Молдова
  • Винетка за Швейцария
  • Винетка за Естония
  • Тол такси - Исландия
  • Тол такси - Нидерландия
  • Тол такси - Ирландия

Застраховки

  • Здравна застраховка при пътуване
  • Застраховка „Зелена карта“

Компания

  • Често задавани въпроси
  • За нас
  • Контакти
  • API справочник
  • Fleet

Поверителност

  • Условия и употреба
  • Политика за поверителност
  • Политика за бисквитки
  • Инструкция за изтриване на потребителски данни

Социални мрежи

  • Instagram
  • LinkedIn
  • X (Twitter)
  • Facebook

Vignetimum | E-velt, esim & застраховка

Закупете и управлявайте лесно свойте европейски електронни винетки, eSIMs и застраховки с Vignetim.

Предлага се на iOS и Android.

Изтеглете от App StoreИзтеглете от Google Play

Copyright © 2026 Vignetim | Vignette, ESIM & застраховка