Перейти к содержанию

LukoilApi (Лукойл)

Обзор

Интеграция с Лукойл — API для управления картами Лукойл с клиентским сертификатом.

Класс

LukoilApiService Расположение: FuelProcessing.Data/Services/ApiClients/Lukoil/LukoilApiService.cs

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

Поле Тип Описание
CertPath string Путь к сертификату (.p12)
Password string Пароль сертификата
UrlContract string URL контракта
ContractId string ID контракта

Сертификат хранится в TempFiles/Cert/.

Особенности

  • ✅ Клиентский сертификат для аутентификации
  • ✅ GetContractIdByNumber — получение ContractId из API
  • ✅ Ночная синхронизация через GetTransactionsByDay()
  • ✅ Синхронизация регионов через UpdateRegions()

Методы

GetContractIdByNumber

Получение ContractId из API при первой инициализации.

private string GetContractIdByNumber(string contractNumber)
{
    // Запрос к API для получения ID
}

UpdateRegions

Синхронизация регионов.

Пример запроса

# Получение карт
GET https://api.lukoil.ru/cards
X-Client-Cert: {certificate}

# Получение транзакций за день
GET https://api.lukoil.ru/transactions?date=2025-01-05
X-Client-Cert: {certificate}

Сертификат

# Конвертация сертификата для .NET
openssl pkcs12 -in cert.pem -out cert.p12 -export

# Размещение
cp cert.p12 TempFiles/Cert/lukoil.p12

Troubleshooting

Проблема Решение
Ошибка сертификата Проверьте срок действия
ContractId отсутствует Вызовите GetContractIdByNumber()

Назад к обзору