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

TatneftApi (Татнефть)

Обзор

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

Класс

TatneftApiService Интерфейс: ITatneftApiService (расширяет IApiServiceNight) Расположение: FuelProcessing.Data/Services/ApiClients/Tatneft/TatneftApiService.cs

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

REST

Поле Тип Описание
ApiLogin string Логин API
ApiPassword string (зашифрован) Пароль API
ApiBearer string Bearer токен (сохраняется)
IdContractTatneft string? ID контракта

SOAP

Поле Тип Описание
Certificate byte[] Сертификат (.p12)
CertificatePassword string Пароль сертификата
ContractNumberTatneft string Номер контракта
AdressServerTatneft string Адрес сервера

Особенности

  • ✅ Двойной метод: REST API и SOAP
  • ⚠ SOAP требует VPN через GetVinkVPNSettings()
  • ✅ Пагинация через GetPagerResponse()
  • ✅ Месячные отчёты через задачу

Методы

GetTransactionsFromSoap

Получение транзакций через SOAP.

public void GetTransactionsFromSoap()
{
    var vpnSettings = GetVinkVPNSettings();
    // SOAP вызов с VPN
}

GetXLSTransactions

Конвертация SOAP транзакций в XLS формат.

SaveBearer

Сохранение bearer токена.

GetContractInfos

Получение информации о договорах.

ChangeCardStatus

Возвращает TatneftResponse с детальным статусом.

Специфичные задачи

Задача Интервал Описание
SyncTransactionTatneftJob 1 мин Синхронизация транзакций
TatneftBlockJob 1 мин Блокировка карт
TatneftLimitJob 1 мин Лимиты
BalanceTatneftUpdateJob 10 мин Баланс
TatneftFormationReportByMounthJob Ежедневно 02:00 Месячные отчёты

VPN настройка

private VinkVPNSettings GetVinkVPNSettings()
{
    return new VinkVPNSettings
    {
        Server = settings.AdressServerTatneft,
        UseCertificate = true,
        CertificatePath = "TempFiles/Cert/tatneft.p12"
    };
}

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

# REST: Получение карт
GET https://api.tatneft.ru/cards
Authorization: Bearer {bearer}

# REST: Получение баланса
GET https://api.tatneft.ru/balance
Authorization: Bearer {bearer}

# SOAP: Получение транзакций
POST https://soap.tatneft.ru/service
Content-Type: text/xml
<soap:Envelope>...</soap:Envelope>

Troubleshooting

Проблема Решение
SOAP не отвечает Проверьте VPN подключение
Токен истёк Вызовите SaveBearer()
Отчёт не генерируется Проверьте задачу TatneftFormationReportByMounthJob

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