Имя: Пароль:
1C
 
Что не так с моим http-запросом?
0 ArturDoo
 
20.05.21
16:06
Пишу запрос для амо, хочу изменить статус сделки:

    ПараметрыПодключения = РегистрыСведений.ns_НастройкиCRM.ПолучитьСписокНастроек();
    Соединение = ns_Core.ПолучитьHTTPСоединение(ПараметрыПодключения);
    ЗаписьJSON = Новый ЗаписьJSON;

    тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);  
    ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
    
    СоответствиеJason = Новый Соответствие;
    СоответствиеJason.Вставить("status_id", 38446171);
    СоответствиеJason.Вставить("pipeline_id", 3959986);
    СоответствиеJason.Вставить("id", 9339101);
    
    МассивСоответствий = Новый Массив;
        МассивСоответствий .Добавить(СоответствиеJason);
  
    ЗаписатьJSON(ЗаписьJSON, МассивСоответствий );
    
    СтрокаJS = ЗаписьJSON.Закрыть();
    
    ЗначениеAccessToken = ПараметрыПодключения[Перечисления.ns_ВидыНастроекCRM.AccessToken];
    AccessToken = Новый Соответствие;
    AccessToken.Вставить("Authorization","Bearer "+ЗначениеAccessToken);
    AccessToken.Вставить("Content-Type","application/json");
    HTTPЗапрос=Новый HTTPЗапрос("/api/v4/leads/"+id,AccessToken);
    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJS,,ИспользованиеByteOrderMark.НеИспользовать);
    Ответ=Соединение.ВызватьHTTPМетод("PATCH",HTTPЗапрос);
    Сообщить(Ответ.КодСостояния);

В ответ присылает 200 код и неполный джесон. Вот ссылка на документацию:https://www.amocrm.com/developers/content/api_v4/leads-api/#leads-edit
1 ДенисЧ
 
20.05.21
16:09
"неполный джесон"
Это как? Бодинегативный?
2 VKS
 
20.05.21
16:19
постман что говорит?
3 ArturDoo
 
20.05.21
16:21
(1)Ответ.ПолучитьТелоКакСтроку() =
{
    "id": 9339101,
    "updated_at": 1621516833,
    "_links": {
        "self": {
            "href": "https://***.amocrm.ru/api/v4/leads/9339101"
        }
    }
}
, а должен:
{
    "_links": {
        "self": {
            "href": "https://example.amocrm.com/api/v4/leads"
        }
    },
    "_embedded": {
        "leads": [
            {
                "id": 54886,
                "updated_at": 1589556420,
                "request_id": "0",
                "_links": {
                    "self": {
                        "href": "https://example.amocrm.com/api/v4/leads/54886"
                    }
                }
            }
4 Kassern
 
20.05.21
16:26
(3) ну и что на том конце провода поддержка говорит? Может возвращать нечего по вашему запросу, поэтому и нет блока _embedded
5 ArturDoo
 
20.05.21
16:27
(4)Поддержка рассказывает, какие у них @хуительные партнеры, и какие у них хорошие интеграции через свои серваки.
6 rsv
 
20.05.21
16:30
(0) Отправте в поддержку  сам текст запроса . Что передаете.
7 rsv
 
20.05.21
16:33
Да и просто на отладке строку соберите без всяких соответсвий , запись.закрыть и тд
8 rsv
 
20.05.21
16:38
(0) хэлп толковый примеры запросов приведены

Копируйте и свои значения в подставляйте в секции.
И гоните строкой.
9 Garykom
 
гуру
20.05.21
16:39
(0) две ошибки:

1.
id=9339101;
url="/api/v4/leads/"+id;

вопрос чему равно url?

2. зачем внутри тела ?
СоответствиеJason.Вставить("id", 9339101);
10 Про100Филя
 
20.05.21
16:40
В апдейте лида, не нашел параметр ID, точно правильно json сформировал?
11 Garykom
 
гуру
20.05.21
16:41
(10) да косякнул он на олибке новичка вероятно
когда число в строку и вместо
"/api/v4/leads/9339101"
у него
"/api/v4/leads/9 339 101"