Для получения списка ПВЗ СДЭК с использованием 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" на ваш собственный ключ доступа, полученный от СДЭК. Также обратите внимание, что код в примере является упрощенным, и вы должны выполнить дополнительные проверки ошибок и обработку данных в своем приложении.