Работа с API на C#

Все вопросы/проблемы по установке и использовании.
Дмитрий
Сообщения: 9
Зарегистрирован: 26 окт 2019, 17:53
Имя: Дмитрий Пахомов
Откуда: Россия, Форос
Организация: Деловой разговор
Контактная информация:

Работа с API на C#

Сообщение Дмитрий »

Нужен пример, как с API Руководителя работать из C#.

У меня следующий код на C# работает с API-запросами:

using (HttpRequestMessage httpRequest = new HttpRequestMessage(method, URI))
{
httpRequest.Content = new StringContent(content, Encoding.UTF8, "application/json"/*ContentType*/);
try
{
using (HttpResponseMessage httpResponse = await httpClient.SendAsync(httpRequest))
{
http_result.Response = await httpResponse.Content.ReadAsStringAsync();
http_result.StatusCode = (int)httpResponse.StatusCode;
}
}
catch (Exception ex)
{
http_result.Response = ex.ToString();
http_result.StatusCode = -1;
}
}

Я пробую в переменной content передать запрос. Вот пример, как я это делаю:

content = "{\"key\":\"...\", \"username\":\"...\", \"password\":\"...\", \"limit\":\"10\", \"action\":\"select\", \"entity_id\":\"59\", \"filters\": {\"id\":\"1\"}}";

Но в результате запрос не отрабатывается. Руководитель не видит, что заданы параметры, которые я определяю в переменной content.

Хочу понять, как из C# делать API-запросы.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Работа с API на C#

Сообщение support »

Вы передаете json, а нужно GET или POST
Дмитрий
Сообщения: 9
Зарегистрирован: 26 окт 2019, 17:53
Имя: Дмитрий Пахомов
Откуда: Россия, Форос
Организация: Деловой разговор
Контактная информация:

Re: Работа с API на C#

Сообщение Дмитрий »

А вы с json не работаете?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Работа с API на C#

Сообщение support »

Пока нет.
Дмитрий
Сообщения: 9
Зарегистрирован: 26 окт 2019, 17:53
Имя: Дмитрий Пахомов
Откуда: Россия, Форос
Организация: Деловой разговор
Контактная информация:

Re: Работа с API на C#

Сообщение Дмитрий »

А пример, как такой запрос сделать на C# нет возможности привести? Пока сам не могу разобраться, как нужный мне запрос конвертировать в одну строку POST-запроса
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Работа с API на C#

Сообщение support »

К сожалению C# не знаю, по этому не помогу.
Дмитрий
Сообщения: 9
Зарегистрирован: 26 окт 2019, 17:53
Имя: Дмитрий Пахомов
Откуда: Россия, Форос
Организация: Деловой разговор
Контактная информация:

Re: Работа с API на C#

Сообщение Дмитрий »

Я правильно понимаю, что в конечном счете запрос должен преобразовываться к следующему виду:

https://localhost/api/rest.php?key=...& ... ers[id]="1"

Но у меня такой запрос выдает все сущности из категории 59. А мне нужна только одна сущность с id = 1. Если я пойму, как формировать строку https-запроса, то я это без проблем потом реализую на C#. Я пока не могу понять, как мне в этой строке указывать параметры фильтра. Не сможете подсказать?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Работа с API на C#

Сообщение support »

На данный момент нет фильтра по ID. Он появится в 2.6.
Дмитрий
Сообщения: 9
Зарегистрирован: 26 окт 2019, 17:53
Имя: Дмитрий Пахомов
Откуда: Россия, Форос
Организация: Деловой разговор
Контактная информация:

Re: Работа с API на C#

Сообщение Дмитрий »

Попробую описать свою задачу в общем виде, и хотелось бы услышать имеет ли она решение в рамках текущей версии, или нужно ждать следующей.

Есть база контрагентов и подчиненная ей база контактов. Контакт содержит информацию о номере телефона и ФИО его владельца. Мне нужно по номеру телефона найти контакт, а затем открыть карточку контрагента, содержащего найденный контакт. Сейчас почему-то поле [parent_item_id] в найденном результате отображается как пустое, и я не могу понять, как мне через API от карточки контакта перейти к родительской карточке контрагента.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Работа с API на C#

Сообщение support »

Да, сейчас parent_item_id не выбирается. Добавил в план для 2.6
Ответить