← Справочник / Reference Български English

FleetBee API — ръководство (бета)

Адрес: https://data.fleetbee.eu/v1. Само четене, JSON. Пълният списък на маршрутите е в справочника.

Ключове

Ключ създава Администраторът на фирмата: настройки → „API ключове“. Избира права по вид данни (коли, шофьори, курсове, позиции, пътни листове, аларми, OBD, дневник, срокове), по желание списък с IP адреси. Ключът се показва веднъж. До два активни ключа едновременно (за смяна без прекъсване); отнемането важи веднага (до 5 s).

curl -H "Authorization: Bearer fb_live_…" https://data.fleetbee.eu/v1/vehicles

Тестов ключ fb_test_… — демо фирма с изкуствени данни, само четене; ползва се от бутона „Опитай“ в справочника. Има собствен, по-строг лимит.

Лимити

КаквоСтойност
Заявки на ключ30 в минута
Заявки на фирма (всички ключове)60 в минута
Едновременни заявки на фирма2 (следващата чака до 5 s, после 429 BUSY)
Записи на страницадо 1000 (limit, cursor / nextCursor)
Позициидо 1 ден на заявка; назад до 3 месеца
Размер на отговорадо 2 MB, иначе 400 RESPONSE_TOO_LARGE

При 429 изчакайте Retry-After секунди (и в полето error.retryAfterSec).

Лентата GET /feed

Грешки

Тялото винаги е { "error": { "code", "message", "details?", "retryAfterSec?" } }.

HTTPКодЗначение
400VALIDATION_ERRORНевалидни параметри или курсор.
400RESPONSE_TOO_LARGEОтговорът надхвърля тавана; поискайте по-малка страница или по-кратък период.
401AUTH_REQUIREDЛипсва, невалиден или отнет ключ.
403FORBIDDENКлючът няма право за ресурса или не е разрешен от този IP адрес.
404NOT_FOUNDНяма такъв запис (или е на друга фирма).
409CONFLICTКонфликт със състоянието на ресурса (напр. износ, който още се подготвя).
410CURSOR_EXPIREDКурсорът на лентата е изтекъл — започнете без курсор.
429RATE_LIMITED / BUSYЛимит на заявки или твърде много едновременни; виж Retry-After.
500INTERNAL_ERRORНаша грешка; посочете requestId в поддръжката.

Промени в бета

Версията е в адреса (/v1). Докато API-то е бета, добавящи промени (нов маршрут, ново поле в отговор, нова стойност в списък) се правят без предизвестие — игнорирайте непознати полета. Несъвместима промяна (махане или преименуване на маршрут/поле, промяна на тип или значение) се обявява поне 2 седмици предварително по имейл до Администратора на всяка фирма с активен ключ. CI проверката oasdiff breaking спира такава промяна, докато не е обявена.

FleetBee API guide (beta)

Base URL: https://data.fleetbee.eu/v1. Read-only JSON. Every route is listed in the reference.

API keys

A company Administrator creates a key under Settings → “API keys”, choosing per-resource read scopes (vehicles, drivers, trips, positions, waybills, alarms, OBD, log, deadlines) and optionally an IP allow-list. The key is shown once. Up to two active keys at a time (rotate without downtime); revocation takes effect within 5 s.

curl -H "Authorization: Bearer fb_live_…" https://data.fleetbee.eu/v1/vehicles

The test key fb_test_… reads a demo company with synthetic data, read-only; the reference’s “Try it” button uses it. It has its own stricter limit.

Limits

WhatValue
Requests per key30 per minute
Requests per company (all keys)60 per minute
Concurrent requests per company2 (the next waits up to 5 s, then 429 BUSY)
Page sizeup to 1000 (limit, cursor / nextCursor)
Positionsat most 1 day per request, going back at most 3 months
Response sizeup to 2 MB, otherwise 400 RESPONSE_TOO_LARGE

On 429 wait Retry-After seconds (also in error.retryAfterSec).

The feed GET /feed

Errors

The body is always { "error": { "code", "message", "details?", "retryAfterSec?" } }.

HTTPCodeMeaning
400VALIDATION_ERRORInvalid parameters or cursor.
400RESPONSE_TOO_LARGEResponse above the cap; ask for a smaller page or a shorter period.
401AUTH_REQUIREDMissing, invalid or revoked key.
403FORBIDDENThe key lacks the scope, or the caller IP is not allowed.
404NOT_FOUNDNo such record (or it belongs to another company).
409CONFLICTConflict with the resource state (e.g. an export still being prepared).
410CURSOR_EXPIREDThe feed cursor expired — restart without a cursor.
429RATE_LIMITED / BUSYRate limit or too many concurrent requests; see Retry-After.
500INTERNAL_ERROROur fault; quote requestId to support.

Change policy during beta

The version is in the URL (/v1). While the API is in beta, additive changes (new route, new response field, new enum value) ship without notice — ignore unknown fields. A breaking change (removing or renaming a route or field, changing a type or meaning) is announced at least 2 weeks ahead by email to the Administrator of every company with an active key. The CI check oasdiff breaking blocks such a change until it has been announced.