Как получить список ПВЗ СДЭК (API v2.0) в ASP.Core MVC?

Для получения списка ПВЗ СДЭК с использованием API v2.0 в ASP.Core MVC, вам понадобится выполнить следующие шаги:

1. Подключение к API СДЭК:
Вам понадобится получить доступ к API СДЭК, зарегистрировавшись на официальном сайте и получив логин и пароль. Затем вы можете получить индивидуальный ключ доступа для API.

2. Создание моделей данных:
Создайте модели данных для работы с ответами и запросами API СДЭК. Например, вы можете создать модель "CdekPvz" для хранения информации о ПВЗ.

public class CdekPvz
{
    public string Code { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    // Добавьте другие необходимые свойства
}

3. Создание класса для выполнения запросов к API:
Создайте класс "CdekApiClient" для выполнения запросов к API СДЭК. В этом классе вы будете использовать HttpClient для выполнения HTTP-запросов к API.

public class CdekApiClient
{
    private readonly HttpClient _httpClient;

    public CdekApiClient()
    {
        _httpClient = new HttpClient();
    }

    public async Task<List<CdekPvz>> GetPvzList()
    {
        var url = "https://integration.cdek.ru/v2/pvzlist/json"; // URL для получения списка ПВЗ

        var request = new HttpRequestMessage(HttpMethod.Get, url);
        request.Headers.Add("Authorization", "Bearer YOUR_API_KEY"); // Замените YOUR_API_KEY на ваш собственный ключ доступа

        var response = await _httpClient.SendAsync(request);
        
        if (response.IsSuccessStatusCode)
        {
            var responseContent = await response.Content.ReadAsStringAsync();
            var pvzList = JsonConvert.DeserializeObject<List<CdekPvz>>(responseContent);
            return pvzList;
        }

        return null;
    }
}

4. Использование API для получения списка ПВЗ:
В вашем контроллере или сервисе вы можете создать экземпляр "CdekApiClient" и вызвать метод "GetPvzList" для получения списка ПВЗ.

public class PvzController : Controller
{
    private readonly CdekApiClient _cdekApiClient;
    
    public PvzController(CdekApiClient cdekApiClient)
    {
        _cdekApiClient = cdekApiClient;
    }

    public async Task<IActionResult> Index()
    {
        var pvzList = await _cdekApiClient.GetPvzList();

        return View(pvzList);
    }
}

5. Отображение списка ПВЗ в представлении:
Создайте представление "Index.cshtml" для отображения полученного списка ПВЗ.

@model List<CdekPvz>

<h1>Список ПВЗ СДЭК</h1>

@if (Model != null && Model.Any())
{
    <ul>
        @foreach (var pvz in Model)
        {
            <li>@pvz.Name - @pvz.Address</li>
        }
    </ul>
}
else
{
    <p>Список ПВЗ пуст</p>
}

Это основные шаги для получения списка ПВЗ СДЭК с использованием API v2.0 в ASP.Core MVC. Обратите внимание, что вы должны заменить "YOUR_API_KEY" на ваш собственный ключ доступа, полученный от СДЭК. Также обратите внимание, что код в примере является упрощенным, и вы должны выполнить дополнительные проверки ошибок и обработку данных в своем приложении.