Имя: Пароль:
1C
 
Обновление статуса заказа на Озоне
0 DenisK2020
 
13.12.22
21:18
Вечер добрый, поделитесь примером как в Озоне обновить статус заказа
1 Локи-13
 
13.12.22
21:59
(0) обнови страничку - покажется актуальный статус
2 ejikbeznojek
 
13.12.22
23:06
Ты про метод ship вот отсюда?
https://docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUnarchive
3 Builder
 
13.12.22
23:39
(0) FBS видимо?
4 DenisK2020
 
14.12.22
19:01
(3) да
/v2/posting/fbs/ship    Делит заказ на отправления и переводит в статус awaiting_deliver. Версия 2.
/v3/posting/fbs/ship    Делит заказ на отправления и переводит в статус awaiting_deliver. Версия 3.
5 DenisK2020
 
14.12.22
19:14
мне бы кусок кода может получиться разобраться. Спасибо всем откликнувшимся
6 ttk
 
15.12.22
08:38
(5) Тебе надо как текст запроса сформировать или как этот запрос отправить с помощью HTTPСоедеинение?
Если первое, так это все индивидуально, а второе все в справке написано
7 DenisK2020
 
02.01.23
21:49
ИначеЕсли ЗаказТекущий.status = "awaiting_packaging" Тогда
                Попытка
                    СтруктураФильтр = Новый Структура;
                    Пакеты = Новый Массив;
                    Продукты = Новый Массив;
                    Для Каждого Товара Из ЗаказТекущий.products Цикл
                        Продукт = Новый Структура("product_id,quantity", Товара.offer_id, Товара.quantity);
                        Продукты.Вставить(Продукт);
                    КонецЦикла;
                    Пакет = Новый Структура("products",Продукты);
                    СтруктураФильтр.Вставить("packages",Пакеты);
                    СтруктураФильтр.Вставить("posting_number",НомерТекущего);
                    Пакеты.Вставить(Пакет);

                    //СтруктураФильтр.Вставить("with",Новый Массив);
                    ИмяВремФайла=ПолучитьИмяВременногоФайла();
                    ЗаписьДжейсон=Новый ЗаписьJSON;
                    ЗаписьДжейсон.УстановитьСтроку(Новый ПараметрыЗаписиJSON(,));
                    ЗаписатьJSON(ЗаписьДжейсон,СтруктураФильтр,НастройкиДат);
                    СтрокаЗапроса=ЗаписьДжейсон.Закрыть();
                    
                    ИмяФайлаОтвет = ПолучитьИмяВременногоФайла("json");
                    ЧтениеОтвета = Новый ЧтениеJSON;
                    Сообщить(ПривестиКJSON(СтрокаЗапроса));
                    HTTPЗапрос    = Новый HTTPЗапрос("/v3/posting/fbs/ship",Заголовки); //"/v1/product/list  /v2/posting/fbs/list
                    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать);
                    Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос,ИмяФайлаОтвет);
                    ОтветТело = Ответ.ПолучитьТелоКакСтроку();
                    Сообщить("Тело "+ОтветТело+" "+СокрЛП(Выборка.Ссылка)+" "+СокрЛП(Выборка.Ссылка.Комментарий));
                
                    ЧтениеОтвета.ОткрытьФайл(ИмяФайлаОтвет);
                    СтруктураОтветПодтверждения = ПрочитатьJSON(ЧтениеОтвета,,"shipment_date,created_at,in_process_at",ФорматДатыJSON.ISO);
                    ЧтениеОтвета.Закрыть();
                Исключение
                    Описание=ОписаниеОшибки();
                    Сообщить("NeUspeh"+Описание);
                    ПапкаДляЛогов ="D:\Log\ozon";
                        Если ПапкаДляЛогов <> "" Тогда
                            КопироватьФайл(ИмяФайлаОтвет,ПапкаДляЛогов+"\"+Формат(ТекущаяДата(),"ДФ=""ддММгг_ЧЧ-мм-сс""")+".json");
                        КонецЕсли;
                        УдалитьФайлы(ИмяФайлаОтвет);

КонецПопытки;
8 DenisK2020
 
02.01.23
21:50
строкаЗапроса возращает {¶"posting_number": "0117136700-3333-1",¶"with": {}¶}
как правильно структуру написать для изменения статуса заказа
9 FirstLine Support
 
02.01.23
22:20
хм.. а чем Синхрозон не подходит? Открытая система, хочешь используй как готовый модуль синхронизации, хочешь как библиотеку для своих поделок
10 DenisK2020
 
02.01.23
22:23
Рарус, альфа авто в доль и поперек переписанный, пытаюсь к Озону прикрутить
11 FirstLine Support
 
02.01.23
22:27
(10) едиственный простой вариант, ставишь чистую УТ, на неё Синхрозон, смотришь в отладчике как там запросы формируются, что в хедере отчета, что в теле. Повторяешь то же самое для своей системы (в даннос случае - альфа авто). Я всегда так делаю. Помому что справка-справкой, а в живую в отладчике посмотреть - это быстрее и понятнее.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший