Всем привет в документации есть пример с добавление нового контакта по средствам веб запроса. Сделал все работает. Щас пытаюсь записать лид, но получаю:"Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.". Подскажите что я делаю не так?
В тесте пытаюсь записать лид с одним заполненным полем(Название контрагента)
Мой код:
public static void insertData()
{
Console.WriteLine("Попытка создать лид");
// Экземпляр класса запроса.
var insertQuery = new InsertQuery()
{
// Название корневой схемы.
RootSchemaName = "Lead",
// Коллекция добавляемых значений колонок.
ColumnValues = new ColumnValues()
};
var columnExpressionName = new ColumnExpression
{
// Тип выражения запроса к схеме объекта — параметр.
ExpressionType = EntitySchemaQueryExpressionType.Parameter,
// Параметр выражения запроса.
Parameter = new Parameter
{
// Значение параметра.
Value = "ЛИД C САЙТА",
// Тип данных параметра — строка.
DataValueType = DataValueType.Text
}
};
// Инициализация коллекции колонок запроса.
insertQuery.ColumnValues.Items = new Dictionary<string, ColumnExpression>();
// Добавление выражений запроса в коллекцию добавляемых колонок.
// Колонка [Название контрагента].
insertQuery.ColumnValues.Items.Add("Account", columnExpressionName);
// Сериализация экземпляра класса запроса на добавление в JSON-строку.
var json = new JavaScriptSerializer().Serialize(insertQuery);
// Преобразование строки JSON-объекта в массив байтов.
byte[] jsonArray = Encoding.UTF8.GetBytes(json);
// Создание экземпляра HTTP-запроса.
var insertRequest = HttpWebRequest.Create(insertQueryUri) as HttpWebRequest;
// Определение метода запроса.
insertRequest.Method = "POST";
// Определение типа содержимого запроса.
insertRequest.ContentType = "application/json";
// Добавление полученных ранее аутентификационных cookie в запрос на получение данных.
insertRequest.CookieContainer = AuthCookie;
// Установить длину содержимого запроса.
insertRequest.ContentLength = jsonArray.Length;
// Добавление CSRF-токена в заголовок запроса.
CookieCollection cookieCollection = AuthCookie.GetCookies(new Uri(authServiceUri));
string csrfToken = cookieCollection["BPMCSRF"].Value;
insertRequest.Headers.Add("BPMCSRF", csrfToken);
// Помещение в содержимое запроса JSON-объекта.
using (var requestStream = insertRequest.GetRequestStream())
{
requestStream.Write(jsonArray, 0, jsonArray.Length);
}
// Выполнение HTTP-запроса и получение ответа от сервера.
using (var response = (HttpWebResponse)insertRequest.GetResponse())
{
// Вывод ответа в консоль.
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
Console.WriteLine("JSON ответ от сервера");
Console.WriteLine(reader.ReadToEnd());
}
}
}