Последовательность действий:
сгенерировать нужную библиотеку на базовой страницы API необходимой версии:
https://[Subdomain].kurs-log.ru/api/v1/
- распаковать полученный архив lgp-csharp-client.zip
- скомпилировать библиотеку, запустив скрипт build.bat (build.sh) или открыв файл Lgp.Api.Client.sln в MS Visual Studio
- создать новый проект в Visual Studio (например, консольное приложение под .Net Framework 4.5+)
- добавить в зависимости проекта скомпилированные библиотеки из подпапки /bin
- заменить содержимое файла Program.cs на следующий код:
Program.cs
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.kurs-log.ru/
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);
}
}
}
- исправить значения констант API_BASE_HOST, API_KEY, LOGIN, PASSWORD
- запустить приложение


