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 |