Всем привет! Я хочу с помощью вебхуков добавлять лидов в CRM с сайта, написанном на ASP.NET Создал входящий вебхук и вижу в CRM, что я к нему обращаюсь. Я нашел статью, как это сделать на php Пытаюсь сделать это на C#, но на строке запрос возвращает в ответ ошибку 400 Я почти уверен, что ошибка в строке const string data = @"{""TITLE"": ""new lead""}"; я, видимо, некорректно задаю параметры POST-запроса. Подскажите пожалуйста, как это исправить?
index.aspx.cs
Код
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
namespace webHookTest
{
public partial class index : System.Web.UI.Page
{
protected void RegButton1_Click(object sender, EventArgs e)
{
Method1();
}
private static void Method1()
{
const string url = @"https://companyname.bitrix24.ru/rest/14/key/crm.lead.add.json";
const string data = @"{""TITLE"": ""new lead""}";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
byte[] cred = Encoding.UTF8.GetBytes("email:password");
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred));
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpContent content = new StringContent(data, Encoding.UTF8, "application/json");
HttpResponseMessage messge = client.PostAsync(url, content).Result;
string description;
if (messge.IsSuccessStatusCode)
{
string result = messge.Content.ReadAsStringAsync().Result;
description = result;
}
}
}
}
какая разница на чем делать http-запросы. хоть из bash через curl.
почитайте как правильно составлять http запросы из .NET - это стандартные возможности .NET фрейморка описанные в документации. нафига это index.aspx
сделайте тестовый скрипт без интерфейса, без ничего чтобы локализовать проблему. я думал уровень .NET разработчиков намного больше. пишут unit тесты всякие и т.п. а тут такое