...
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); var testResult = await testApi.TestPingGetAsync(); if (testResult != null) { Console.WriteLine("Error: " + testResult.Message); return; } // ----- // 2. авторизация в системе заданным пользователем // ----- var accountApi = new AccountApi(conf); var loginResult = await accountApi.AccountLoginPostAsync(new LoginResponseModel(LOGIN, PASSWORD); if (loginResult != null) { Console.WriteLine("Error: " + loginResult.Message); return; } // ----- // 3. получение списка актуальных запросов // ----- var tenderApi = new TenderApi(conf); var tenderListResult = await tenderApi.TenderListGetAsync(); if (tenderListResult == null) return; Console.WriteLine("Найдено запросов: " + tenderListResult.Items?.Count); } } } |
- исправить значения констант API_BASE_HOST, API_KEY, LOGIN, PASSWORD
- запустить приложение
...