...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
using System;
using System.Net;
using System.Threading.Tasks;
using Lgp.Api.Client.Api;
namespace Lgp.Api.Test
{
class Program
{
// базовые настройки доступа
private const string API_BASE_HOST = "https://..."; // например: https://testdev2.logistpro.su
private const string API_BASE_URL = API_BASE_HOST + "/api/v1/";
// API ключ личного кабинета компании
private const string API_KEY = "...";
// логин/пароль технического аккаунта с максимальными правами доступа
private const string LOGIN = "...";
private const string PASSWORD = "...";
static async Task Main()
{
var conf = Client.Client.Configuration.Default;
conf.BasePath = API_BASE_URL;
// передача API ключа в заголовке HTTP запросов
conf.AddDefaultHeader("X-ApiKey", API_KEY);
// использования контейнера для передачи куки между запросами
conf.ApiClient.RestClient.CookieContainer = new CookieContainer();
// -----
// 1. тестирование доступа (запрос не требует авторизации, только ключ API в заголовках запроса)
// -----
var testApi = new TestApi(conf);
await testApi.TestPingGetAsync();
// -----
// 2. авторизация в системе заданным пользователем
// -----
var accountApi = new AccountApi(conf);
await accountApi.AccountLoginPostAsync(new LoginResponseModel(LOGIN, PASSWORD));
// -----
// 3. получение списка актуальных запросов
// -----
var tenderApi = new TenderApi(conf);
var tenderListResult = await tenderApi.TenderListGetAsync();
if (tenderListResult == null) return;
Console.WriteLine("Найдено запросов: " + tenderListResult.Items?.Count);
}
}
}
|
...