Главная
api-pay api-b2b api-b2b-agent api-bonus api-bonus-lk api-support
api-benzuber api-benzuber (goods) api-benzuber (с эквайрингом) webview-benzuber Сценарии заправки Случаи изменения заказов Чек-лист приложений
GS-Планшет GS-Desktop GS-Carwash
Поиск документов

Авторизация

или просто отсканируйте QR-код телефоном с установленным приложением Benzuber
Для получения полного доступа к документации введите свой номер сотового телефона.
При необходимости обращайтесь в службу поддержки Benzuber или по телефону 8 (800) 250-98-93.

API-B2B BENZUBER

API-B2B Benzuber – протокол для обеспечения взаимодействия между учетной системой партнера (PS) и сервером Benzuber (BZ).

Протокол позволяет реализовывать сценарии взаимодействия и обмен информацией с информационным сервисом «BENZUBER для бизнеса» для решения бизнес-задач каждого участника.

API предоставляется фактическим организациям, использующих сервис "Benzuber для Бизнеса".

Запросы доступные для организаций:

Топливный заказ для сотрудника организации:

Возможность для сотрудников организации самостоятельно создавать топливные заказы используя Web-интерфейс.



Для обеспечения безопасного доступа и идентификации партнера для работы с протоколом предоставляется уникальный ключ apikey, который используется для авторизации, и затем token, полученный при авторизации для всех дальнейших запросов.

Базовый URL_BZ – адрес для обращения к серверу BZ. HTTP/HTTPS POST-запрос вида: URL_BZ+/b2b/v1/команда В ответе партнер получает token и URL-адрес (HOST) для обращения по всем прочим запросам.

HOST – адрес для обращения к серверу BZ, полученный после успешной авторизации. Все дальнейшие запросы выполняются HTTP/HTTPS POST-запросами вида: HOST+/b2b/v1/команда

Базовый URL_PS – адрес для обращения к партнеру. Для реализации запросов от Benzuber к партнеру. Все запросы выполняются HTTP/HTTPS POST-запросами вида: URL_PS+/команда.

Запрос:
   {
       "параметр":"значение",
       ...
   }
Ответ:
   {
       "параметр":"значение",
       ...
   }

HTTP коды ответа на запросы:

200 – запрос выполнен успешно
404 – метод не найден
500 – ошибка выполнения запроса, некорректные параметры запроса

HTTP-код ответа при выполнении запросов означает только состояние получения (доставки) запроса, без учета анализа содержимого запроса. В случае успешного получения запроса сервером (статус 200), в ответе содержится параметр response, который определяет фактическое состояние обработки содержимого полученного запроса.

Возможные варианты response

Значение Описание
success Запрос успешно обработан.
invalid_authentication Неправильные логин/пароль.
invalid_token Не валидный token, требуется повторная авторизация
too_many_logon Превышен предел авторизаций, более 10 за прошлые 5 минут.
invalid_params Неправильные параметры, отсутствуют обязательные параметры в запросе.
internal_error Внутренняя ошибка сервера, необходимо выполнить запрос повторно.
host_disabled Недоступен обсуживающий хост, необходимо выполнить первичную авторизацию
. . . Прочие варианты, специфичные для каждого отдельного запроса, отражающие необходимую суть ответа

Авторизация

Для начала работы партнер должен пройти первичную авторизацию. Запрос необходимо выполнить по «Базовому URL». При успешной авторизации партнер получает токен (token) и его срок действия. Токен должен использоваться во всех последующих запросах для подтверждения источника запроса.

Срок действия токена назначается случайный образом в диапазоне от 1 до 2 часов.

img

Инфраструктура Benzuber имеет распределённую архитектуру, поэтому в целях безопасности и оптимизации дальнейшего обмена в успешном ответе содержится адрес хоста host, на который партнер должен отправлять все прочие запросы

Запрос

(POST) Базовый URL_BZ + /b2b/v1/auth/
Request body schema application/json

{
    "apikey": (string)
}
Параметр Описание
Обязательный
apikey
Строка
Ключ авторизации (из Личного кабинета)

Ответ

Content type: application/json

{
    "response": (string),
    "token": (string),
    "expiration": (int),
    "host": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
token
Строка
выданный токен
Обязательный
expiration
Число
срок действия токена (в секундах)
Обязательный
host
Строка
текущий обслуживающий хост

Параметры топливных лимитов сотрудников

В системе Benzuber, имеется возможность работы с топливными лимитами в формате установки значений по каждому виду топлива, с установкой значения лимита в день, неделю и месяц. Лимит может быть установлен в рублях или литрах (кубометрах) для каждого вида топлива. Для сотрудника может быть установлен "Общий лимит" на все доступные виды топлива.

Выполняя запрос, в ответе будет представлен актуальный перечень возможных значений параметров для работы с лимитами на топливо для сотрудника.

Запрос

(POST) HOST + /b2b/v1/clients/limit/reference/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "types": (array),
    "modes": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
types
array
Массив содержит элементы описывающие идентификаторы варинтов видов топлива, таких как {"id":"АИ-92"}
Один из предопределённых варинатов - это понятие общего лимита {"id":"Общий лимит"}.
Обязательный
modes
array
Массив содержит элементы описывающие идентификаторы варианты установки лимитов:
{"id":0,"description":"сумма в рублях"},
{"id":1,"description":"объем топлива в литрах или кубических метрах"}

Получение списка сотрудников

Возможность получения актуального списка зарегистрированных сотрудников их реквизиты и параметры

Запрос

(POST) HOST + /b2b/v1/clients/get/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "clients": (array),
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
clients
array
Значение присутствует в случае response = "success":
"id" (string) – идентификатор пользователя в системе Benzuber

"phone" (string) - номер сотового телефона, 11 цифр

"name" (string) - имя сотрудника. (может быть пустым)

"car" (string) - номер автомобиля сотрудника. (может быть пустым)

"units" (string) - идентификатор подразделения, которому принадлежит сотрудник. (может быть пустым)

"is_enable" (boolean) - признак активированности, возможность заправки сотруднику:
true - включена; false - отключена

"is_limit_fuel" (boolean) - наличие ограничений заправки сотрудника по виду топлива:
true - имеются; false - отсутствуют

"limit_fuels" (array) - информация об установленных лимитах на топливо, присутствует в случае если "is_limit_fuel"=true

"is_limit_time" (boolean) - наличие ограничений заправки сотрудника по времени:
true - имеются; false - отсутствуют

"is_balance" (boolean) - признак использования режима персонального баланса для сотрудника:
true - включен; false - выключен

"balance" (string) - баланс сотрудника, присутствует в случае если "is_balance"=true

"is_all_cars" (boolean) - признак доступности всех автомобилей организации для сотрудника:
true - доступны все; false - доступны только выбранные авто

"cars_available (array) - массив доступных для сотрудника автомобилей, присутствует в случае если "is_all_cars"=false
limit_fuels array
В массиве содержится набор элементов соответствующий установленным лимитам по видам топлива. Каждый элемент содержит данные:
"id" (string), - идентификатор топлива (из reference)

"mode" (int) - тип лимита (из reference)

"day" (int) - значение лимита в сутки

"week" (int) - значение лимита в неделю

"month" (int) - значение лимита в месяц

cars_available array
В массиве содержится список автомобилей доступных для сотрудника. Каждый элемент содержит данные:
"id" (string) - идентификатор автомобиля

"make" (string) - марка автомобиля

"color" (string) - цвет автомобиля

"lpn" (string) - регистрационный номер автомобиля

Добавление сотрудника

Возможность добавить нового сотрудника организации

Запрос

(POST) HOST + /b2b/v1/clients/add/
Request body schema application/json

{
    "token": (string),
    "phone": (string),
    "name": (string),
    "car": (string),
    "unit": (string),
    "is_enable": (boolean),
    "is_balance": (boolean),
    "is_odometer": (boolean)    
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
phone
Строка
номер сотового телефона, 11 цифр
name Строка
имя сотрудника
car Строка
номер автомобиля сотрудника
unit Строка
идентификатор подразделения, к которому относится сотрудник
Обязательный
is_enable
булево
признак активированности, возможность заправки сотруднику:
true - включена; false - отключена
Обязательный
is_balance
булево
признак использования режима персонального баланса сотрудника:
true - включен; false - отключен
Обязательный
is_odometer
булево
признак использования режима запроса показания одометра у сотрудника в момент заправки:
true - включен; false - отключен

Ответ

Content type: application/json

{
    "response": (string),
    "client_id": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
client_id
Строка
Идентификатор пользователя в системе Benzuber. Значение присутствует в случае response = "success"
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Редактирование сотрудника

Возможность изменения параметров сотрудника организации

Запрос

(POST) HOST + /b2b/v1/clients/edit/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "phone": (string),
    "name": (string),
    "car": (string),
    "unit": (string),
    "is_enable": (boolean),
    "is_balance": (boolean),
    "is_odometer": (boolean)    
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор редактируемого пользователя в системе Benzuber
Обязательный
phone
Строка
номер сотового телефона, 11 цифр
name Строка
имя сотрудника
car Строка
номер автомобиля сотрудника
unit Строка
идентификатор подразделения, к которому относится сотрудник
Обязательный
is_enable
булево
признак активированности, возможность заправки сотруднику:
true - включена; false - отключена
Обязательный
is_balance
булево
признак использования режима персонального баланса сотрудника:
true - включен; false - отключен
Обязательный
is_odometer
булево
признак использования режима запроса показания одометра у сотрудника в момент заправки:
true - включен; false - отключен

Ответ

Content type: application/json

{
    "response": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Изменение персонального баланса сотрудника

Возможность изменения личного баланса сотрудника (начисление и списание), в случае если для сотрудника включен режим персонального баланса.

Запрос

(POST) HOST + /b2b/v1/clients/payment/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "amount": (string)   
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор сотрудника
Обязательный
amount
Строка
Зачисляемые средства, содержит строковое представление double, от -1000000 до 1000000, например "1000.00", "-400.00". Значение НОЛЬ, недопустимое.

Ответ

Content type: application/json

{
    "response": (string),
    "balance": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
balance
Строка
Баланс сотрудника, с учетом выполненной операции. Значение присутствует в случае response="success"
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Установка персонального лимита на топливо для сотрудника

Возможность изменения личного баланса сотрудника (начисление и списание), в случае если для сотрудника включен режим персонального баланса.

Запрос

(POST) HOST + /b2b/v1/clients/limit/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "limits": (array)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор сотрудника
Обязательный
limits
Строка
Массив со значениями лимитов для установки. При успешном выполнении запроса для сотрудника устанавливаются только лимиты переданные в запросе (происходит полное замещение ранее установленных лимитов)

В случае передачи пустого массива - происходит сброс установленных лимитов.
Структура и данные массива, аналогичные полю "limit_fuels" в запросе clients/get.

Ответ

Content type: application/json

{
    "response": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Информация о подразделениях организации

Возможность получения актуального списка подразделений организации с установленными топливными лимитами и именами ответственных за подразделение.

Запрос

(POST) HOST + b2b/v1/units/get/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "units": (array),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
units
array
Значение присутствует в случае response = "success"

"id" - идентификатор подразделения

"name" - идентификатор подразделения

"is_enable"boolean - признак активированности, возможность заправки сотрудникам подразделения:
true - включена; false - отключена

"is_balance"boolean - признак использования режима персонального баланса для подразделения:
true - включена; false - отключена

"balance"string - баланс подразделения, присутствует в случае если "is_balance"=true

"is_limit_fuel"boolean - наличие ограничений заправки для подразделения по виду топлива:
true - имеются; false - отсутствуют

"limit_fuels"array - информация об установленных лимитах на топливо, присутствует в случае если "is_limit_fuel"=true


"responsibles"array - список ответственных за управление подразделением.
Элемент массива - информация об ответственном "id", "phone" и "name"

"clients"array - список сотрудников подразделения.
Элемент массива - информация о сотруднике "id", "phone", "name" и "is_enable"

Добавление подразделения

Возможность добавить новое подразделение организации

Запрос

(POST) HOST + /b2b/v1/units/add/
Request body schema application/json

{
    "token": (string),
    "name": (string),
    "is_enable": (boolean),
    "is_balance": (boolean)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
name
Строка
название подразделения
Обязательный
is_enable
Строка
признак активированности, возможность заправки сотрудникам подразделения:
true - включена; false - отключена
Обязательный
is_balance
Строка
признак использования режима персонального баланса подразделения:
true - включен; false - отключен

Ответ

Content type: application/json

{
    "response": (string),
    "unit_id": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
unit_id
Строка
Идентификатор подразделения в системе Benzuber. Значение присутствует в случае response = "success"
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Редактирование подразделения

Возможность изменения параметров подразделения организации

Запрос

(POST) HOST + /b2b/v1/units/edit/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "name": (string),
    "is_enable": (boolean),
    "is_balance": (boolean)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор редактируемого подразделения в системе Benzuber
name Строка
название подразделения
is_enable Строка
признак активированности, возможность заправки сотрудникам подразделения:
true - включена; false - отключена
is_balance Строка
признак использования режима персонального баланса подразделения:
true - включен; false - отключен

Ответ

Content type: application/json

{
    "response": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Изменение персонального баланса подразделения

Возможность изменения личного баланса подразделения (начисление и списание), в случае если для подразделения включен режим персонального баланса.

Запрос

(POST) HOST + /b2b/v1/units/payment/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "amount": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор редактируемого подразделения в системе Benzuber
Обязательный
amount
Строка
Зачисляемые средства, содержит строковое представление double, от -1000000 до 1000000, например "1000.00", "-400.00". Значение НОЛЬ, недопустимое.

Ответ

Content type: application/json

{
    "response": (string),
    "balance": (string),
    "description": (string),
    "timestamp": (int)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
balance
Строка
Баланс подразделения, с учетом выполненной операции. Значение присутствует в случае response="success"
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Установка персонального лимита на топливо для подразделения

Возможность установки, изменения или сброса персональных лимитов на топливо для подразделения

Запрос

(POST) HOST + /b2b/v1/units/limit/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "limits": (array)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор подразделения
Обязательный
limits
Строка
Массив со значениями лимитов для установки. При успешном выполнении запроса для подразделения устанавливаются только лимиты переданные в запросе (происходит полное замещение ранее установленных лимитов)

В случае передачи пустого массива - происходит сброс установленных лимитов.
Структура и данные массива, аналогичные полю "limit_fuels" в запросе units/get.

Ответ

Content type: application/json

{
    "response": (string),
    "description": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
description
Строка
Описание ошибки. Значение присутствует в случае ошибки, response <> "success"

Получение списка автомобилей организации

Возможность получения актуального списка автомобилей организации и их параметры

Запрос

(POST) HOST + /b2b/v1/cars/get/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "cars": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
cars
array
Значение присутствует в случае response = "success":

"id" string – идентификатор автомобиля в системе Benzuber

"make" string - марка автомобиля

"color" string - цвет автомобиля

"lpn" string - госномер автомобиля

"cdi" string - номер свидетельства регистрации автомобиля (может быть пустым)

"is_enable" boolean - признак активированности, возможность заправки автомобиля:
true - включена; false - отключена

"is_limit_fuel" boolean - наличие ограничений заправки автомобиля по виду топлива:
true - имеются; false - отсутствуют

"limit_fuels" array - информация об установленных лимитах на топливо, присутствует в случае если "is_limit_fuel"=true

"is_limit_clients" boolean - признак доступности автомобиля для всех сотрудников организации:
true - доступен всем; false - доступен только выбранным сотрудникам

"limit_clients array - массив сотрудников для которых установлена доступность автомобиля, присутствует в случае если "is_limit_clients"=false

"is_odometer" boolean - признак необходимости указания значения одометра при заправке автомобиля:
true - включена; false - отключена

"odometer" string - последнее установленное при заправке значение одометра автомобиля, присутствует в случае если "is_odometer"=true
limit_fuels array
В массиве содержится набор элементов соответствующий установленным лимитам по видам топлива. Каждый элемент содержит данные:
"id" string - идентификатор топлива (из reference)

"mode" int - тип лимита (из reference)

"day" int - значение лимита в сутки

"week" int - значение лимита в неделю

"month" int - значение лимита в месяц

limit_clients array
В массиве содержится список сотрудников для которых доступен автомобиль. Каждый элемент содержит данные:

"id" string - идентификатор сотрудника

"name" string- имя сотрудника

Информация о балансе организации

Возможность получения актуального значения текущего баланса, порога отключения и персональных балансов сотрудников

Запрос

(POST) HOST + /b2b/v1/finance/get/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "finance": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
finance
array
Значение присутствует в случае response = "success"
Массив содержит строковые представления double (например "-3210.00", "123.55") для следующих параметров:

"balance" string - текущий баланс организации

"threshold" string - порог отключения организации, при котором, сотрудники более не смогут использовать сервис

"users" string - сумма средств на всех персональных балансах сотрудников и подразделений организации

Получение списка транзакций

Возможность получения списка транзакций за выбранный период времени, с возможностью фильтрации по сотрудникам и подразделениям

В связи с тем, что количество фактических транзакций в выборке может быть большое, то предусмотрен асинхронный формат работы, с получением результирующих данных последовательно по частям.

Запрос

(POST) HOST + /b2b/v1/transactions/get/
Request body schema application/json

{
    "token": (string),
    "date_start": (string),
    "date_end": (string),
    "client_id": (string),
    "phone": (string),
    "unit_id": (string)
}

или

{
    "token": (string),
    "request_id": (string),
    "offset": (string),
    "limit": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Параметры для первичного запроса с указанием периода и фильтров

Параметр Описание
Обязательный
date_start
Строка
Дата начала выборки в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (часовой пояс UTC)
Обязательный
date_end
Строка
Дата конца выборки в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (UTC)
client_id Строка
Идентификатор сотрудника
phone Строка
Сотовый телефон сотрудника в формате 7хххххххххх
unit_id Строка
Идентификатор подразделения организации

Параметры для получения данных по ранее отправленному запросу, с использованием идентификатора запроса

Параметр Описание
Обязательный
request_id
Строка
идентификатор запроса
Обязательный
offset
Строка
начальная позиция запрашиваемых данных
limit Строка
количество запрашиваемых строк (по-умолчанию 1000)

Ответ

Content type: application/json

{
    "response": (string),
    "transactions": (array),
    "request": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса

в случае response = "success"
Означает, что в ответе содержатся данные по транзакциям, а также информация об общем количестве транзакций в ответе.

Параметр Описание
Обязательный
transactions
array
"id" string – идентификатор транзакции в системе Benzuber

"date" array – "utc": Время транзакции по UTC, "gs"- Время транзакции по времени АЗС

"client" array – Информация о сотруднике, о его местоположении в момент транзакции

"car" array – Информация об автомобиле выбранном сотрудником в момент транзакции.
Содержит данные: id - идентификатор авто, lpn - госномер, odometer - значение одометра, указанного в момент заправки

"station" string – Название АЗС

"brand" string – Бренд АЗС

"filler_id" string – номер ТРК

"fuel" string – Наименование топлива

"price" string – Цена топлива

"liters" string – объем топлива в литрах

"total" string – стоимость топлива в рублях

"acquire" array"value" - Сумма при взаиморасчетах (с учетом скидок), "source" - платежный метод оплаты заказа
Обязательный
request
array
"id" string – идентификатор запроса

"offset" string – начальная позиция в этом ответе по результирующей выборке

"limit" string – количество значений в этом ответе

"total" string – общее количество записей транзакций в исходном запросе

в случае response = "processing"
Означает, что предполагается большое количество строк в ответе, поэтому результат будет доступен не сразу. Для получения результата, необходимо выполнить запрос transactions/get/ позже, по идентификатору запроса

Параметр Описание
Обязательный
request
array
"id" string – идентификатор выполняемого запроса

Получение списка администраторов

Возможность получения актуального списка администраторов организации, их реквизиты и параметры

Запрос

(POST) HOST + /b2b/v1/admins/get/
Request body schema application/json

{
    "token": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен

Ответ

Content type: application/json

{
    "response": (string),
    "admins": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
admins
array
Значение присутствует в случае response = "success"

"id" string – идентификатор администратора в системе Benzuber

"name" string - имя администратора. (может быть пустым)

"phone" string - номер сотового телефона, 11 цифр

"email" string - адрес электронной почты

"is_enable" boolean - признак активированности, Доступа в ЛК организации
true - включена; false - отключена

"is_admin" boolean - права "Полный доступ":
true - включено; false - выключено

"is_finance" boolean - права "Доступ к расчетам, привязке карт, пополнению баланса организации":
true - включено; false - выключено

"can_transactions_show" boolean - права "Просмотр транзакций сотрудников организации":
true - включено; false - выключено

"can_clients_show" boolean - права "Просмотр сотрудников организации":
true - включено; false - выключено

"can_clients_edit" boolean - права "Управление сотрудниками организации":
true - включено; false - выключено

"can_clients_charge" boolean - права "Пополнение баланса сотрудникам организации":
true - включено; false - выключено

"can_clients_order" boolean - права "Заправка сотрудников организации":
true - включено; false - выключено

"can_clients_order_nolimit" boolean - права "Заправка сотрудников организации без учета персональными лимитов":
true - включено; false - выключено

"units" array - список подразделений, в которых администратор ответственный.
Элемент массива - информация о подразделении "id", "name"

Установка ответственного за подразделение

Возможность установки администратора организации ответственным за подразделение.

Запрос

(POST) HOST + /b2b/v1/admins/units/
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "units": (string)    
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор администратора организации в Benzuber
Обязательный
units
Строка
Строка с идентификаторами подразделений, через запятую. В случае передачи пустого значения, удаляется привязка администратора из всех ранее связанных подразделений.

Ответ

Content type: application/json

{
    "response": (string),
    "description": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
description
Строка
Информация об ошибке, в случае response<>success

Список сотрудников, которым доступно создание топливного заказа

Возможность получение списка сотрудников, которым доступно создание топливного заказа

Запрос

(POST) HOST + /b2b/v1/order/clients/get
Request body schema application/json

{
    "token": (string),
    "org_id": (string),
    "unit_id": (string)    
}
Параметр Описание
Обязательный
token
Строка
выданный токен
org_id Строка
фильтр по организации
unit_id Строка
фильтр по подразделению

Ответ

Content type: application/json

{
    "response": (string),
    "clients": (array)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
clients
array
Значение присутствует в случае response = "success"

"id" (string) – идентификатор пользователя в системе Benzuber

"phone" (string) – номер сотового телефона, 11 цифр

"name" (string) – ФИО сотрудника (может быть пустым)

"unit_id" (string) – идентификатор подразделения сотрудника (может быть пустым)

"unit" (string) – Название подразделения (может быть пустым)

"org_id" (string) – Идентификатор организации

"org" (string) – Наименование организации

Формирование "сессии" для оформления топливного заказа

Возможность формирование "сессии" для оформления топливного заказа сотрудником, полуение уникального URL, для использования в WEB-интерфейсе.

Запрос

(POST) HOST + /b2b/v1/order/session/create
Request body schema application/json

{
    "token": (string),
    "id": (string),
    "latitude": (string),
    "longitude": (string)
}
Параметр Описание
Обязательный
token
Строка
выданный токен
Обязательный
id
Строка
идентификатор пользователя в системе Benzuber
latitude Строка
координата (широта) нахождения пользователя
longitude Строка
координата (долгота) нахождения пользователя

Ответ

Content type: application/json

{
    "response": (string),
    "url": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
url
array
уникальный URL, который можно использовать для открытия в Web-интерфейсе

Callback-запрос получение токена партнёра

Для безопасной работы обратных запросов (callback), Benzuber периодически, при необходимости запрашивает актуальный token. В случае ошибки получения токена от партнёра, дальнейшие callback-запросы не отправляются.

CALLBACK_URL - устанавливается в Личном кабинете организации.

Запрос

(POST) CALLBACK_URL + /auth
Request body schema application/json

{
    "apikey": (string)
}
Параметр Описание
Обязательный
apikey
Строка
Ключ авторизации (из Личного кабинета)

Ответ

Content type: application/json

{
    "response": (string),
    "token": (string),
    "expiration": (int),
    "host": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
Обязательный
token
Строка
выданный токен
Обязательный
expiration
Число
срок действия токена (в секундах)
Обязательный
host
Строка
текущий обслуживающий хост

Callback-уведомление о выполненном заказе

Уведомление партнёра о факте завершения заказа. Запрос отправляется однократно, ответ партнёра на запрос не влияет на обработку.
При необходимости, перед отправкой запрос актуализируется токен партнера.

Запрос

(POST) CALLBACK_URL + /transaction/notify
Request body schema application/json

{
    "token": (string),
    "transaction": (array)
}
Параметр Описание
Обязательный
token
Строка
выданный токен партнёра
Обязательный
transaction
array
"id" string – идентификатор транзакции в системе Benzuber

"date" array – "utc": Время транзакции по UTC, "gs"- Время транзакции по времени АЗС

"client" array – Информация о сотруднике, о его местоположении в момент транзакции

"car" array – Информация об автомобиле выбранном сотрудником в момент транзакции.
Содержит данные: id - идентификатор авто, lpn - госномер, odometer - значение одометра, указанного в момент заправки

"station" string – Название АЗС

"brand" string – Бренд АЗС

"filler_id" string – номер ТРК

"fuel" string – Наименование топлива

"price" string – Цена топлива

"liters" string – объем топлива в литрах

"total" string – стоимость топлива в рублях

"acquire" array"value" - Сумма при взаиморасчетах (с учетом скидок), "source" - платежный метод оплаты заказа

Ответ

Content type: application/json

{
    "response": (string),
    "timestamp": (string)
}
Параметр Описание
Обязательный
response
Строка
статус выполнения запроса
timestamp array
время формирования ответа
Описание API-b2b Авторизация Параметры топливных лимитов сотрудников Запрос на получение списка сотрудников Запрос на добавление сотрудника Запрос на редактирование сотрудника Запрос на изменение баланса сотрудника Запрос на установку топливного лимита сотрудника Запрос информации о подразделениях Запрос на добавление подразделения Запрос на редактирование подразделения Запрос на изменение баланса подразделения Запрос на установку топливного лимита подразделения Запрос на получение информации об автомобилях Запрос баланса организации Запрос списка транзакций Запрос списка администраторов организации Запрос установки ответственного за подразделение Запрос списка сотрудников для топливного заказа Формирование "сессии" для оформления топливного заказа Callback-запрос получение токена партнёра Callback-уведомление о выполненном заказе
© 2024 ООО ТД "Смарт-технологии"