Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagec#
titleProgra,Program.cs
linenumberstrue
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);
        }
    }
}

...