Добрый день. Помогите разобраться! Имеется рабочий код: PHP: $arrUpdateBanners[] = array ( 'Id' => $arrBnr['Id'], 'TextAd' => array ( 'Title' => setPrice($products[$url]->price, $arrBnr['TextAd']['Title']), 'Text' => setPrice($products[$url]->price, $arrBnr['TextAd']['Text']), ), ); Создаётся переменная для отправки запроса в ЯД по API. Корректируется заголовок и корректируется цена. У Директа появилась новая функция, теперь можно менять/добавлять цену в мануале это выглядит так: Код (Text): { "method": "update", "params": { /* params */ "Ads": [{ /* AdUpdateItem */ "Id": (long), /* required */ "TextAd": { /* TextAdUpdate */ "Title": (string), "Title2": (string), /* nillable */ "Text": (string), "Href": (string), /* nillable */ "AgeLabel": ( "AGE_0" | ... | "MONTHS_12" ), "DisplayUrlPath": (string), /* nillable */ "VCardId": (long), /* nillable */ "AdImageHash": (string), /* nillable */ "SitelinkSetId": (long), /* nillable */ "CalloutSetting": { /* AdExtensionSetting */ "AdExtensions": [{ /* AdExtensionSettingItem */ "AdExtensionId": (long), /* required */ "Operation": ( "ADD" | "REMOVE" | "SET" ) /* required */ }, ... ] /* required */ }, /* nillable */ "VideoExtension": { /* VideoExtensionUpdateItem */ "CreativeId": (long), /* nillable */ }, "PriceExtension": { /* PriceExtensionUpdateItem */ "Price": (long), "OldPrice": (long), /* nillable */ "PriceQualifier": ( "FROM" | "UP_TO" | "NONE" ), "PriceCurrency": ( "RUB" | "BYN" | "CHF" | "EUR" | "KZT" | "TRY" | "UAH" | "USD" ) } /* nillable */ }, Интересует строка: Код (Text): "PriceExtension": { /* PriceExtensionUpdateItem */ "Price": (long), никак не получается создать запрос, вариант: PHP: $arrUpdateBanners[] = array ( 'Id' => $arrBnr['Id'], 'TextAd' => array ( 'Title' => setPrice($products[$url]->price, $arrBnr['TextAd']['Title']), 'Text' => setPrice($products[$url]->price, $arrBnr['TextAd']['Text']), ), 'PriceExtension' => array ( 'Price' => $teststst ), ); работать не хочет. Как правильно составить строку? Спасибо.
PHP: { } - говорят о том что, это объект [ ] - говорят о том что, это массив по всей видимости из за этого работать не хочет )
Всё заработало, нужно было всё в один массив поместить: PHP: $arrUpdateBanners[] = array ( 'Id' => $arrBnr['Id'], 'TextAd' => array ( 'Title' => setPrice($products[$url]->price, $arrBnr['TextAd']['Title']), 'Text' => setPrice($products[$url]->price, $arrBnr['TextAd']['Text']), 'PriceExtension' => array ( 'Price' => $teststst ), ), ); Возможно кому то будет полезно. Если в объявлении не проставлена цена, то по API цена не добавляется. Т.е. изначально в изменяемом объявлении должна быть прописана любая цифра, только в этом случае происходит подстановка нужной цены. Из за этого идиотского косяка провозился целые сутки.