[{"data":1,"prerenderedAt":3749},["ShallowReactive",2],{"navigation_docs_ru":3,"-ru-media-upload":180,"-ru-media-upload-surround":3744},[4,36,57,87,107,127,143,154,163],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Начало работы","i-lucide-rocket","/ru/getting-started","ru/1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Введение","/ru/getting-started/introduction","ru/1.getting-started/1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Регистрация агентства","/ru/getting-started/agency-setup","ru/1.getting-started/2.agency-setup","i-lucide-building-2",{"title":21,"path":22,"stem":23,"icon":24},"Аутентификация","/ru/getting-started/authentication","ru/1.getting-started/3.authentication","i-lucide-key",{"title":26,"path":27,"stem":28,"icon":29},"Быстрый старт","/ru/getting-started/quick-start","ru/1.getting-started/4.quick-start","i-lucide-zap",{"title":31,"path":32,"stem":33,"icon":34},"Коллекция Postman","/ru/getting-started/postman","ru/1.getting-started/5.postman","i-lucide-download",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Концепции","i-lucide-lightbulb","/ru/concepts","ru/2.concepts",[42,47,52],{"title":43,"path":44,"stem":45,"icon":46},"External ID","/ru/concepts/external-ids","ru/2.concepts/1.external-ids","i-lucide-link",{"title":48,"path":49,"stem":50,"icon":51},"Upsert паттерн","/ru/concepts/upsert-pattern","ru/2.concepts/2.upsert-pattern","i-lucide-refresh-cw",{"title":53,"path":54,"stem":55,"icon":56},"Асинхронные задачи","/ru/concepts/async-jobs","ru/2.concepts/3.async-jobs","i-lucide-clock",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":35},"Объявления","i-lucide-home","/ru/listings","ru/3.listings",[63,68,73,78,83],{"title":64,"path":65,"stem":66,"icon":67},"Обзор объявлений","/ru/listings/overview","ru/3.listings/1.overview","i-lucide-layout-list",{"title":69,"path":70,"stem":71,"icon":72},"Создание и обновление","/ru/listings/create-update","ru/3.listings/2.create-update","i-lucide-plus",{"title":74,"path":75,"stem":76,"icon":77},"Получение объявлений","/ru/listings/retrieve","ru/3.listings/3.retrieve","i-lucide-search",{"title":79,"path":80,"stem":81,"icon":82},"Bulk операции","/ru/listings/bulk","ru/3.listings/4.bulk","i-lucide-layers",{"title":84,"path":85,"stem":86,"icon":46},"Привязка external ID","/ru/listings/external-id-linking","ru/3.listings/5.external-id-linking",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":35},"Пользователи","i-lucide-users","/ru/users","ru/4.users",[93,98,103],{"title":94,"path":95,"stem":96,"icon":97},"Обзор пользователей","/ru/users/overview","ru/4.users/1.overview","i-lucide-user",{"title":99,"path":100,"stem":101,"icon":102},"Обновление профиля","/ru/users/update","ru/4.users/2.update","i-lucide-user-pen",{"title":104,"path":105,"stem":106,"icon":77},"Получение пользователей","/ru/users/retrieve","ru/4.users/3.retrieve",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":35},"Медиафайлы","i-lucide-image","/ru/media","ru/5.media",[113,117,122],{"title":114,"path":115,"stem":116,"icon":109},"Обзор медиафайлов","/ru/media/overview","ru/5.media/1.overview",{"title":118,"path":119,"stem":120,"icon":121},"Загрузка файлов","/ru/media/upload","ru/5.media/2.upload","i-lucide-upload",{"title":123,"path":124,"stem":125,"icon":126},"Управление файлами","/ru/media/manage","ru/5.media/3.manage","i-lucide-folder",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":35},"Справочники","i-lucide-book-open","/ru/reference","ru/6.reference",[133,138],{"title":134,"path":135,"stem":136,"icon":137},"Схема полей","/ru/reference/schema","ru/6.reference/1.schema","i-lucide-file-json",{"title":139,"path":140,"stem":141,"icon":142},"Валюты и курсы","/ru/reference/currencies","ru/6.reference/2.currencies","i-lucide-wallet",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":35},"Ошибки","i-lucide-alert-triangle","/ru/errors","ru/7.errors",[149],{"title":150,"path":151,"stem":152,"icon":153},"Обработка ошибок","/ru/errors/error-handling","ru/7.errors/1.error-handling","i-lucide-shield-alert",{"title":155,"path":156,"stem":157,"children":158,"icon":162},"Changelog","/ru/changelog","ru/8.changelog/1.index",[159],{"title":160,"path":156,"stem":157,"icon":161},"История изменений","i-lucide-scroll-text","i-lucide-history",{"title":164,"path":165,"stem":166,"children":167,"page":35},"Guides","/ru/guides","ru/9.guides",[168,172,176],{"title":169,"path":170,"stem":171,"icon":129},"Руководства по интеграции","/ru/guides/overview","ru/9.guides/1.overview",{"title":173,"path":174,"stem":175,"icon":121},"Первичная синхронизация","/ru/guides/first-sync","ru/9.guides/2.first-sync",{"title":177,"path":178,"stem":179,"icon":51},"Непрерывная синхронизация","/ru/guides/continuous-sync","ru/9.guides/3.continuous-sync",{"id":181,"title":118,"body":182,"description":3737,"extension":3738,"links":3739,"meta":3740,"navigation":3741,"path":119,"seo":3742,"stem":120,"__hash__":3743},"docs_ru/ru/5.media/2.upload.md",{"type":183,"value":184,"toc":3715},"minimark",[185,189,212,215,220,228,526,532,534,537,540,545,969,1049,1058,1062,1068,1558,1765,1767,1770,1773,1777,2172,2289,2297,2301,2304,2347,2351,2357,2820,2822,2826,2829,2833,2895,2899,2968,2972,3073,3075,3079,3085,3153,3157,3327,3330,3336,3637,3639,3643,3711],[186,187,188],"p",{},"Три способа загрузки фото, от простого к сложному:",[190,191,192,200,206],"ol",{},[193,194,195,199],"li",{},[196,197,198],"strong",{},"URL в объявлении"," — передайте ссылки прямо при создании объявления",[193,201,202,205],{},[196,203,204],{},"Импорт по URL"," — загрузите фото отдельно, затем привяжите к объявлению",[193,207,208,211],{},[196,209,210],{},"Signed URL"," — для загрузки файлов с клиента",[213,214],"hr",{},[216,217,219],"h2",{"id":218},"url-в-объявлении-рекомендуется","URL в объявлении (рекомендуется)",[186,221,222,223,227],{},"Самый простой способ — передать URL фотографий прямо при создании или обновлении объявления. Рекомендуется добавлять ",[224,225,226],"code",{},"externalFileId"," для отслеживания:",[229,230,235],"pre",{"className":231,"code":232,"language":233,"meta":234,"style":234},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"externalId\": \"apt-001\",\n  \"announcementStatus\": \"active\",\n  \"announcementType\": \"rent\",\n  \"propertyType\": \"residential\",\n  \"propertySecondaryType\": \"apartment\",\n  \"announcementValue\": 500,\n  \"files\": [\n    { \"url\": \"https://placehold.co/1920x1080/jpg?text=Гостиная\", \"externalFileId\": \"apt-001-photo-1\" },\n    { \"url\": \"https://placehold.co/1920x1080/jpg?text=Спальня\", \"externalFileId\": \"apt-001-photo-2\" },\n    { \"url\": \"https://placehold.co/1920x1080/jpg?text=Кухня\", \"externalFileId\": \"apt-001-photo-3\" }\n  ]\n}\n","json","",[224,236,237,246,274,295,316,337,358,376,391,435,474,514,520],{"__ignoreMap":234},[238,239,242],"span",{"class":240,"line":241},"line",1,[238,243,245],{"class":244},"sMK4o","{\n",[238,247,249,252,256,259,262,265,269,271],{"class":240,"line":248},2,[238,250,251],{"class":244},"  \"",[238,253,255],{"class":254},"spNyl","externalId",[238,257,258],{"class":244},"\"",[238,260,261],{"class":244},":",[238,263,264],{"class":244}," \"",[238,266,268],{"class":267},"sfazB","apt-001",[238,270,258],{"class":244},[238,272,273],{"class":244},",\n",[238,275,277,279,282,284,286,288,291,293],{"class":240,"line":276},3,[238,278,251],{"class":244},[238,280,281],{"class":254},"announcementStatus",[238,283,258],{"class":244},[238,285,261],{"class":244},[238,287,264],{"class":244},[238,289,290],{"class":267},"active",[238,292,258],{"class":244},[238,294,273],{"class":244},[238,296,298,300,303,305,307,309,312,314],{"class":240,"line":297},4,[238,299,251],{"class":244},[238,301,302],{"class":254},"announcementType",[238,304,258],{"class":244},[238,306,261],{"class":244},[238,308,264],{"class":244},[238,310,311],{"class":267},"rent",[238,313,258],{"class":244},[238,315,273],{"class":244},[238,317,319,321,324,326,328,330,333,335],{"class":240,"line":318},5,[238,320,251],{"class":244},[238,322,323],{"class":254},"propertyType",[238,325,258],{"class":244},[238,327,261],{"class":244},[238,329,264],{"class":244},[238,331,332],{"class":267},"residential",[238,334,258],{"class":244},[238,336,273],{"class":244},[238,338,340,342,345,347,349,351,354,356],{"class":240,"line":339},6,[238,341,251],{"class":244},[238,343,344],{"class":254},"propertySecondaryType",[238,346,258],{"class":244},[238,348,261],{"class":244},[238,350,264],{"class":244},[238,352,353],{"class":267},"apartment",[238,355,258],{"class":244},[238,357,273],{"class":244},[238,359,361,363,366,368,370,374],{"class":240,"line":360},7,[238,362,251],{"class":244},[238,364,365],{"class":254},"announcementValue",[238,367,258],{"class":244},[238,369,261],{"class":244},[238,371,373],{"class":372},"sbssI"," 500",[238,375,273],{"class":244},[238,377,379,381,384,386,388],{"class":240,"line":378},8,[238,380,251],{"class":244},[238,382,383],{"class":254},"files",[238,385,258],{"class":244},[238,387,261],{"class":244},[238,389,390],{"class":244}," [\n",[238,392,394,397,399,403,405,407,409,412,414,417,419,421,423,425,427,430,432],{"class":240,"line":393},9,[238,395,396],{"class":244},"    {",[238,398,264],{"class":244},[238,400,402],{"class":401},"sBMFI","url",[238,404,258],{"class":244},[238,406,261],{"class":244},[238,408,264],{"class":244},[238,410,411],{"class":267},"https://placehold.co/1920x1080/jpg?text=Гостиная",[238,413,258],{"class":244},[238,415,416],{"class":244},",",[238,418,264],{"class":244},[238,420,226],{"class":401},[238,422,258],{"class":244},[238,424,261],{"class":244},[238,426,264],{"class":244},[238,428,429],{"class":267},"apt-001-photo-1",[238,431,258],{"class":244},[238,433,434],{"class":244}," },\n",[238,436,438,440,442,444,446,448,450,453,455,457,459,461,463,465,467,470,472],{"class":240,"line":437},10,[238,439,396],{"class":244},[238,441,264],{"class":244},[238,443,402],{"class":401},[238,445,258],{"class":244},[238,447,261],{"class":244},[238,449,264],{"class":244},[238,451,452],{"class":267},"https://placehold.co/1920x1080/jpg?text=Спальня",[238,454,258],{"class":244},[238,456,416],{"class":244},[238,458,264],{"class":244},[238,460,226],{"class":401},[238,462,258],{"class":244},[238,464,261],{"class":244},[238,466,264],{"class":244},[238,468,469],{"class":267},"apt-001-photo-2",[238,471,258],{"class":244},[238,473,434],{"class":244},[238,475,477,479,481,483,485,487,489,492,494,496,498,500,502,504,506,509,511],{"class":240,"line":476},11,[238,478,396],{"class":244},[238,480,264],{"class":244},[238,482,402],{"class":401},[238,484,258],{"class":244},[238,486,261],{"class":244},[238,488,264],{"class":244},[238,490,491],{"class":267},"https://placehold.co/1920x1080/jpg?text=Кухня",[238,493,258],{"class":244},[238,495,416],{"class":244},[238,497,264],{"class":244},[238,499,226],{"class":401},[238,501,258],{"class":244},[238,503,261],{"class":244},[238,505,264],{"class":244},[238,507,508],{"class":267},"apt-001-photo-3",[238,510,258],{"class":244},[238,512,513],{"class":244}," }\n",[238,515,517],{"class":240,"line":516},12,[238,518,519],{"class":244},"  ]\n",[238,521,523],{"class":240,"line":522},13,[238,524,525],{"class":244},"}\n",[186,527,528,529,531],{},"Система автоматически загрузит фотографии, оптимизирует их и привяжет к объявлению. При повторной отправке того же ",[224,530,226],{}," система использует уже загруженный файл, избегая дублирования.",[213,533],{},[216,535,204],{"id":536},"импорт-по-url",[186,538,539],{},"Используйте этот способ, если хотите загрузить фото заранее или управлять ими отдельно от объявлений.",[541,542,544],"h3",{"id":543},"загрузить-одно-фото","Загрузить одно фото",[546,547,548,811,887],"code-group",{},[229,549,554],{"className":550,"code":551,"filename":552,"language":553,"meta":234,"style":234},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch('https://crm.rentix.md/api/v1/media/upload-from-url', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'ApiKey YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    url: 'https://placehold.co/1920x1080/jpg?text=Гостиная',\n    externalId: 'apt-001-photo-1'\n  })\n});\n\nconst result = await response.json();\nconsole.log(`Media ID: ${result.mediaId}, Статус: ${result.status}`);\n","Node.js","js",[224,555,556,592,610,619,640,659,664,684,699,712,720,731,737,760],{"__ignoreMap":234},[238,557,558,561,565,568,572,576,579,582,585,587,589],{"class":240,"line":241},[238,559,560],{"class":254},"const",[238,562,564],{"class":563},"sTEyZ"," response ",[238,566,567],{"class":244},"=",[238,569,571],{"class":570},"s7zQu"," await",[238,573,575],{"class":574},"s2Zo4"," fetch",[238,577,578],{"class":563},"(",[238,580,581],{"class":244},"'",[238,583,584],{"class":267},"https://crm.rentix.md/api/v1/media/upload-from-url",[238,586,581],{"class":244},[238,588,416],{"class":244},[238,590,591],{"class":244}," {\n",[238,593,594,598,600,603,606,608],{"class":240,"line":248},[238,595,597],{"class":596},"swJcz","  method",[238,599,261],{"class":244},[238,601,602],{"class":244}," '",[238,604,605],{"class":267},"POST",[238,607,581],{"class":244},[238,609,273],{"class":244},[238,611,612,615,617],{"class":240,"line":276},[238,613,614],{"class":596},"  headers",[238,616,261],{"class":244},[238,618,591],{"class":244},[238,620,621,624,627,629,631,633,636,638],{"class":240,"line":297},[238,622,623],{"class":244},"    '",[238,625,626],{"class":596},"Authorization",[238,628,581],{"class":244},[238,630,261],{"class":244},[238,632,602],{"class":244},[238,634,635],{"class":267},"ApiKey YOUR_API_KEY",[238,637,581],{"class":244},[238,639,273],{"class":244},[238,641,642,644,647,649,651,653,656],{"class":240,"line":318},[238,643,623],{"class":244},[238,645,646],{"class":596},"Content-Type",[238,648,581],{"class":244},[238,650,261],{"class":244},[238,652,602],{"class":244},[238,654,655],{"class":267},"application/json",[238,657,658],{"class":244},"'\n",[238,660,661],{"class":240,"line":339},[238,662,663],{"class":244},"  },\n",[238,665,666,669,671,674,677,680,682],{"class":240,"line":360},[238,667,668],{"class":596},"  body",[238,670,261],{"class":244},[238,672,673],{"class":563}," JSON",[238,675,676],{"class":244},".",[238,678,679],{"class":574},"stringify",[238,681,578],{"class":563},[238,683,245],{"class":244},[238,685,686,689,691,693,695,697],{"class":240,"line":378},[238,687,688],{"class":596},"    url",[238,690,261],{"class":244},[238,692,602],{"class":244},[238,694,411],{"class":267},[238,696,581],{"class":244},[238,698,273],{"class":244},[238,700,701,704,706,708,710],{"class":240,"line":393},[238,702,703],{"class":596},"    externalId",[238,705,261],{"class":244},[238,707,602],{"class":244},[238,709,429],{"class":267},[238,711,658],{"class":244},[238,713,714,717],{"class":240,"line":437},[238,715,716],{"class":244},"  }",[238,718,719],{"class":563},")\n",[238,721,722,725,728],{"class":240,"line":476},[238,723,724],{"class":244},"}",[238,726,727],{"class":563},")",[238,729,730],{"class":244},";\n",[238,732,733],{"class":240,"line":516},[238,734,736],{"emptyLinePlaceholder":735},true,"\n",[238,738,739,741,744,746,748,751,753,755,758],{"class":240,"line":522},[238,740,560],{"class":254},[238,742,743],{"class":563}," result ",[238,745,567],{"class":244},[238,747,571],{"class":570},[238,749,750],{"class":563}," response",[238,752,676],{"class":244},[238,754,233],{"class":574},[238,756,757],{"class":563},"()",[238,759,730],{"class":244},[238,761,763,766,768,771,773,776,779,782,785,787,790,792,795,797,799,801,804,807,809],{"class":240,"line":762},14,[238,764,765],{"class":563},"console",[238,767,676],{"class":244},[238,769,770],{"class":574},"log",[238,772,578],{"class":563},[238,774,775],{"class":244},"`",[238,777,778],{"class":267},"Media ID: ",[238,780,781],{"class":244},"${",[238,783,784],{"class":563},"result",[238,786,676],{"class":244},[238,788,789],{"class":563},"mediaId",[238,791,724],{"class":244},[238,793,794],{"class":267},", Статус: ",[238,796,781],{"class":244},[238,798,784],{"class":563},[238,800,676],{"class":244},[238,802,803],{"class":563},"status",[238,805,806],{"class":244},"}`",[238,808,727],{"class":563},[238,810,730],{"class":244},[229,812,817],{"className":813,"code":814,"filename":815,"language":816,"meta":234,"style":234},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https://crm.rentix.md/api/v1/media/upload-from-url \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"url\": \"https://placehold.co/1920x1080/jpg?text=Гостиная\",\n    \"externalId\": \"apt-001-photo-1\"\n  }'\n","curl","bash",[224,818,819,835,849,862,871,876,881],{"__ignoreMap":234},[238,820,821,823,826,829,832],{"class":240,"line":241},[238,822,815],{"class":401},[238,824,825],{"class":267}," -X",[238,827,828],{"class":267}," POST",[238,830,831],{"class":267}," https://crm.rentix.md/api/v1/media/upload-from-url",[238,833,834],{"class":563}," \\\n",[238,836,837,840,842,845,847],{"class":240,"line":248},[238,838,839],{"class":267},"  -H",[238,841,264],{"class":244},[238,843,844],{"class":267},"Authorization: ApiKey YOUR_API_KEY",[238,846,258],{"class":244},[238,848,834],{"class":563},[238,850,851,853,855,858,860],{"class":240,"line":276},[238,852,839],{"class":267},[238,854,264],{"class":244},[238,856,857],{"class":267},"Content-Type: application/json",[238,859,258],{"class":244},[238,861,834],{"class":563},[238,863,864,867,869],{"class":240,"line":297},[238,865,866],{"class":267},"  -d",[238,868,602],{"class":244},[238,870,245],{"class":267},[238,872,873],{"class":240,"line":318},[238,874,875],{"class":267},"    \"url\": \"https://placehold.co/1920x1080/jpg?text=Гостиная\",\n",[238,877,878],{"class":240,"line":339},[238,879,880],{"class":267},"    \"externalId\": \"apt-001-photo-1\"\n",[238,882,883,885],{"class":240,"line":360},[238,884,716],{"class":267},[238,886,658],{"class":244},[229,888,892],{"className":889,"code":890,"filename":891,"language":891,"meta":234,"style":234},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$data = [\n  'url' => 'https://placehold.co/1920x1080/jpg?text=Гостиная',\n  'externalId' => 'apt-001-photo-1'\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/media/upload-from-url');\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n  'Authorization: ApiKey YOUR_API_KEY',\n  'Content-Type: application/json'\n]);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$response = curl_exec($ch);\n$result = json_decode($response, true);\n","php",[224,893,894,899,904,909,914,918,923,928,933,938,943,948,953,958,963],{"__ignoreMap":234},[238,895,896],{"class":240,"line":241},[238,897,898],{},"$data = [\n",[238,900,901],{"class":240,"line":248},[238,902,903],{},"  'url' => 'https://placehold.co/1920x1080/jpg?text=Гостиная',\n",[238,905,906],{"class":240,"line":276},[238,907,908],{},"  'externalId' => 'apt-001-photo-1'\n",[238,910,911],{"class":240,"line":297},[238,912,913],{},"];\n",[238,915,916],{"class":240,"line":318},[238,917,736],{"emptyLinePlaceholder":735},[238,919,920],{"class":240,"line":339},[238,921,922],{},"$ch = curl_init('https://crm.rentix.md/api/v1/media/upload-from-url');\n",[238,924,925],{"class":240,"line":360},[238,926,927],{},"curl_setopt($ch, CURLOPT_POST, true);\n",[238,929,930],{"class":240,"line":378},[238,931,932],{},"curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\n",[238,934,935],{"class":240,"line":393},[238,936,937],{},"curl_setopt($ch, CURLOPT_HTTPHEADER, [\n",[238,939,940],{"class":240,"line":437},[238,941,942],{},"  'Authorization: ApiKey YOUR_API_KEY',\n",[238,944,945],{"class":240,"line":476},[238,946,947],{},"  'Content-Type: application/json'\n",[238,949,950],{"class":240,"line":516},[238,951,952],{},"]);\n",[238,954,955],{"class":240,"line":522},[238,956,957],{},"curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n",[238,959,960],{"class":240,"line":762},[238,961,962],{},"$response = curl_exec($ch);\n",[238,964,966],{"class":240,"line":965},15,[238,967,968],{},"$result = json_decode($response, true);\n",[229,970,973],{"className":231,"code":971,"filename":972,"language":233,"meta":234,"style":234},"{\n  \"mediaId\": 123,\n  \"status\": \"pending\",\n  \"externalId\": \"apt-001-photo-1\",\n  \"jobId\": 456\n}\n","Ответ",[224,974,975,979,994,1013,1031,1045],{"__ignoreMap":234},[238,976,977],{"class":240,"line":241},[238,978,245],{"class":244},[238,980,981,983,985,987,989,992],{"class":240,"line":248},[238,982,251],{"class":244},[238,984,789],{"class":254},[238,986,258],{"class":244},[238,988,261],{"class":244},[238,990,991],{"class":372}," 123",[238,993,273],{"class":244},[238,995,996,998,1000,1002,1004,1006,1009,1011],{"class":240,"line":276},[238,997,251],{"class":244},[238,999,803],{"class":254},[238,1001,258],{"class":244},[238,1003,261],{"class":244},[238,1005,264],{"class":244},[238,1007,1008],{"class":267},"pending",[238,1010,258],{"class":244},[238,1012,273],{"class":244},[238,1014,1015,1017,1019,1021,1023,1025,1027,1029],{"class":240,"line":297},[238,1016,251],{"class":244},[238,1018,255],{"class":254},[238,1020,258],{"class":244},[238,1022,261],{"class":244},[238,1024,264],{"class":244},[238,1026,429],{"class":267},[238,1028,258],{"class":244},[238,1030,273],{"class":244},[238,1032,1033,1035,1038,1040,1042],{"class":240,"line":318},[238,1034,251],{"class":244},[238,1036,1037],{"class":254},"jobId",[238,1039,258],{"class":244},[238,1041,261],{"class":244},[238,1043,1044],{"class":372}," 456\n",[238,1046,1047],{"class":240,"line":339},[238,1048,525],{"class":244},[186,1050,1051,1052,1054,1055,1057],{},"Статус ",[224,1053,1008],{}," означает, что файл поставлен в очередь на загрузку и оптимизацию. Поле ",[224,1056,1037],{}," позволяет отследить статус обработки.",[541,1059,1061],{"id":1060},"bulk-загрузка","Bulk-загрузка",[186,1063,1064,1065,261],{},"Для загрузки нескольких файлов используйте bulk endpoint с операцией ",[224,1066,1067],{},"upload-from-url",[546,1069,1070,1410,1485],{},[229,1071,1073],{"className":550,"code":1072,"filename":552,"language":553,"meta":234,"style":234},"const response = await fetch('https://crm.rentix.md/api/v1/media/bulk', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'ApiKey YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    operations: [\n      { op: 'upload-from-url', url: 'https://placehold.co/1920x1080/jpg?text=Фото+1', externalId: 'apt-001-photo-1' },\n      { op: 'upload-from-url', url: 'https://placehold.co/1920x1080/jpg?text=Фото+2', externalId: 'apt-001-photo-2' },\n      { op: 'upload-from-url', url: 'https://placehold.co/1920x1080/jpg?text=Фото+3', externalId: 'apt-001-photo-3' }\n    ]\n  })\n});\n\nconst result = await response.json();\nconsole.log(`Загружено: ${result.summary.succeeded} из ${result.summary.total}`);\n",[224,1074,1075,1100,1114,1122,1140,1156,1160,1176,1185,1230,1271,1312,1317,1323,1331,1335,1356],{"__ignoreMap":234},[238,1076,1077,1079,1081,1083,1085,1087,1089,1091,1094,1096,1098],{"class":240,"line":241},[238,1078,560],{"class":254},[238,1080,564],{"class":563},[238,1082,567],{"class":244},[238,1084,571],{"class":570},[238,1086,575],{"class":574},[238,1088,578],{"class":563},[238,1090,581],{"class":244},[238,1092,1093],{"class":267},"https://crm.rentix.md/api/v1/media/bulk",[238,1095,581],{"class":244},[238,1097,416],{"class":244},[238,1099,591],{"class":244},[238,1101,1102,1104,1106,1108,1110,1112],{"class":240,"line":248},[238,1103,597],{"class":596},[238,1105,261],{"class":244},[238,1107,602],{"class":244},[238,1109,605],{"class":267},[238,1111,581],{"class":244},[238,1113,273],{"class":244},[238,1115,1116,1118,1120],{"class":240,"line":276},[238,1117,614],{"class":596},[238,1119,261],{"class":244},[238,1121,591],{"class":244},[238,1123,1124,1126,1128,1130,1132,1134,1136,1138],{"class":240,"line":297},[238,1125,623],{"class":244},[238,1127,626],{"class":596},[238,1129,581],{"class":244},[238,1131,261],{"class":244},[238,1133,602],{"class":244},[238,1135,635],{"class":267},[238,1137,581],{"class":244},[238,1139,273],{"class":244},[238,1141,1142,1144,1146,1148,1150,1152,1154],{"class":240,"line":318},[238,1143,623],{"class":244},[238,1145,646],{"class":596},[238,1147,581],{"class":244},[238,1149,261],{"class":244},[238,1151,602],{"class":244},[238,1153,655],{"class":267},[238,1155,658],{"class":244},[238,1157,1158],{"class":240,"line":339},[238,1159,663],{"class":244},[238,1161,1162,1164,1166,1168,1170,1172,1174],{"class":240,"line":360},[238,1163,668],{"class":596},[238,1165,261],{"class":244},[238,1167,673],{"class":563},[238,1169,676],{"class":244},[238,1171,679],{"class":574},[238,1173,578],{"class":563},[238,1175,245],{"class":244},[238,1177,1178,1181,1183],{"class":240,"line":378},[238,1179,1180],{"class":596},"    operations",[238,1182,261],{"class":244},[238,1184,390],{"class":563},[238,1186,1187,1190,1193,1195,1197,1199,1201,1203,1206,1208,1210,1213,1215,1217,1220,1222,1224,1226,1228],{"class":240,"line":393},[238,1188,1189],{"class":244},"      {",[238,1191,1192],{"class":596}," op",[238,1194,261],{"class":244},[238,1196,602],{"class":244},[238,1198,1067],{"class":267},[238,1200,581],{"class":244},[238,1202,416],{"class":244},[238,1204,1205],{"class":596}," url",[238,1207,261],{"class":244},[238,1209,602],{"class":244},[238,1211,1212],{"class":267},"https://placehold.co/1920x1080/jpg?text=Фото+1",[238,1214,581],{"class":244},[238,1216,416],{"class":244},[238,1218,1219],{"class":596}," externalId",[238,1221,261],{"class":244},[238,1223,602],{"class":244},[238,1225,429],{"class":267},[238,1227,581],{"class":244},[238,1229,434],{"class":244},[238,1231,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1255,1257,1259,1261,1263,1265,1267,1269],{"class":240,"line":437},[238,1233,1189],{"class":244},[238,1235,1192],{"class":596},[238,1237,261],{"class":244},[238,1239,602],{"class":244},[238,1241,1067],{"class":267},[238,1243,581],{"class":244},[238,1245,416],{"class":244},[238,1247,1205],{"class":596},[238,1249,261],{"class":244},[238,1251,602],{"class":244},[238,1253,1254],{"class":267},"https://placehold.co/1920x1080/jpg?text=Фото+2",[238,1256,581],{"class":244},[238,1258,416],{"class":244},[238,1260,1219],{"class":596},[238,1262,261],{"class":244},[238,1264,602],{"class":244},[238,1266,469],{"class":267},[238,1268,581],{"class":244},[238,1270,434],{"class":244},[238,1272,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1296,1298,1300,1302,1304,1306,1308,1310],{"class":240,"line":476},[238,1274,1189],{"class":244},[238,1276,1192],{"class":596},[238,1278,261],{"class":244},[238,1280,602],{"class":244},[238,1282,1067],{"class":267},[238,1284,581],{"class":244},[238,1286,416],{"class":244},[238,1288,1205],{"class":596},[238,1290,261],{"class":244},[238,1292,602],{"class":244},[238,1294,1295],{"class":267},"https://placehold.co/1920x1080/jpg?text=Фото+3",[238,1297,581],{"class":244},[238,1299,416],{"class":244},[238,1301,1219],{"class":596},[238,1303,261],{"class":244},[238,1305,602],{"class":244},[238,1307,508],{"class":267},[238,1309,581],{"class":244},[238,1311,513],{"class":244},[238,1313,1314],{"class":240,"line":516},[238,1315,1316],{"class":563},"    ]\n",[238,1318,1319,1321],{"class":240,"line":522},[238,1320,716],{"class":244},[238,1322,719],{"class":563},[238,1324,1325,1327,1329],{"class":240,"line":762},[238,1326,724],{"class":244},[238,1328,727],{"class":563},[238,1330,730],{"class":244},[238,1332,1333],{"class":240,"line":965},[238,1334,736],{"emptyLinePlaceholder":735},[238,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354],{"class":240,"line":1337},16,[238,1339,560],{"class":254},[238,1341,743],{"class":563},[238,1343,567],{"class":244},[238,1345,571],{"class":570},[238,1347,750],{"class":563},[238,1349,676],{"class":244},[238,1351,233],{"class":574},[238,1353,757],{"class":563},[238,1355,730],{"class":244},[238,1357,1359,1361,1363,1365,1367,1369,1372,1374,1376,1378,1381,1383,1386,1388,1391,1393,1395,1397,1399,1401,1404,1406,1408],{"class":240,"line":1358},17,[238,1360,765],{"class":563},[238,1362,676],{"class":244},[238,1364,770],{"class":574},[238,1366,578],{"class":563},[238,1368,775],{"class":244},[238,1370,1371],{"class":267},"Загружено: ",[238,1373,781],{"class":244},[238,1375,784],{"class":563},[238,1377,676],{"class":244},[238,1379,1380],{"class":563},"summary",[238,1382,676],{"class":244},[238,1384,1385],{"class":563},"succeeded",[238,1387,724],{"class":244},[238,1389,1390],{"class":267}," из ",[238,1392,781],{"class":244},[238,1394,784],{"class":563},[238,1396,676],{"class":244},[238,1398,1380],{"class":563},[238,1400,676],{"class":244},[238,1402,1403],{"class":563},"total",[238,1405,806],{"class":244},[238,1407,727],{"class":563},[238,1409,730],{"class":244},[229,1411,1413],{"className":813,"code":1412,"filename":815,"language":816,"meta":234,"style":234},"curl -X POST https://crm.rentix.md/api/v1/media/bulk \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"operations\": [\n      { \"op\": \"upload-from-url\", \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+1\", \"externalId\": \"apt-001-photo-1\" },\n      { \"op\": \"upload-from-url\", \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+2\", \"externalId\": \"apt-001-photo-2\" }\n    ]\n  }'\n",[224,1414,1415,1428,1440,1452,1460,1465,1470,1475,1479],{"__ignoreMap":234},[238,1416,1417,1419,1421,1423,1426],{"class":240,"line":241},[238,1418,815],{"class":401},[238,1420,825],{"class":267},[238,1422,828],{"class":267},[238,1424,1425],{"class":267}," https://crm.rentix.md/api/v1/media/bulk",[238,1427,834],{"class":563},[238,1429,1430,1432,1434,1436,1438],{"class":240,"line":248},[238,1431,839],{"class":267},[238,1433,264],{"class":244},[238,1435,844],{"class":267},[238,1437,258],{"class":244},[238,1439,834],{"class":563},[238,1441,1442,1444,1446,1448,1450],{"class":240,"line":276},[238,1443,839],{"class":267},[238,1445,264],{"class":244},[238,1447,857],{"class":267},[238,1449,258],{"class":244},[238,1451,834],{"class":563},[238,1453,1454,1456,1458],{"class":240,"line":297},[238,1455,866],{"class":267},[238,1457,602],{"class":244},[238,1459,245],{"class":267},[238,1461,1462],{"class":240,"line":318},[238,1463,1464],{"class":267},"    \"operations\": [\n",[238,1466,1467],{"class":240,"line":339},[238,1468,1469],{"class":267},"      { \"op\": \"upload-from-url\", \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+1\", \"externalId\": \"apt-001-photo-1\" },\n",[238,1471,1472],{"class":240,"line":360},[238,1473,1474],{"class":267},"      { \"op\": \"upload-from-url\", \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+2\", \"externalId\": \"apt-001-photo-2\" }\n",[238,1476,1477],{"class":240,"line":378},[238,1478,1316],{"class":267},[238,1480,1481,1483],{"class":240,"line":393},[238,1482,716],{"class":267},[238,1484,658],{"class":244},[229,1486,1488],{"className":889,"code":1487,"filename":891,"language":891,"meta":234,"style":234},"$data = [\n  'operations' => [\n    ['op' => 'upload-from-url', 'url' => 'https://placehold.co/1920x1080/jpg?text=Фото+1', 'externalId' => 'apt-001-photo-1'],\n    ['op' => 'upload-from-url', 'url' => 'https://placehold.co/1920x1080/jpg?text=Фото+2', 'externalId' => 'apt-001-photo-2']\n  ]\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/media/bulk');\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n  'Authorization: ApiKey YOUR_API_KEY',\n  'Content-Type: application/json'\n]);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$response = curl_exec($ch);\n",[224,1489,1490,1494,1499,1504,1509,1513,1517,1521,1526,1530,1534,1538,1542,1546,1550,1554],{"__ignoreMap":234},[238,1491,1492],{"class":240,"line":241},[238,1493,898],{},[238,1495,1496],{"class":240,"line":248},[238,1497,1498],{},"  'operations' => [\n",[238,1500,1501],{"class":240,"line":276},[238,1502,1503],{},"    ['op' => 'upload-from-url', 'url' => 'https://placehold.co/1920x1080/jpg?text=Фото+1', 'externalId' => 'apt-001-photo-1'],\n",[238,1505,1506],{"class":240,"line":297},[238,1507,1508],{},"    ['op' => 'upload-from-url', 'url' => 'https://placehold.co/1920x1080/jpg?text=Фото+2', 'externalId' => 'apt-001-photo-2']\n",[238,1510,1511],{"class":240,"line":318},[238,1512,519],{},[238,1514,1515],{"class":240,"line":339},[238,1516,913],{},[238,1518,1519],{"class":240,"line":360},[238,1520,736],{"emptyLinePlaceholder":735},[238,1522,1523],{"class":240,"line":378},[238,1524,1525],{},"$ch = curl_init('https://crm.rentix.md/api/v1/media/bulk');\n",[238,1527,1528],{"class":240,"line":393},[238,1529,927],{},[238,1531,1532],{"class":240,"line":437},[238,1533,932],{},[238,1535,1536],{"class":240,"line":476},[238,1537,937],{},[238,1539,1540],{"class":240,"line":516},[238,1541,942],{},[238,1543,1544],{"class":240,"line":522},[238,1545,947],{},[238,1547,1548],{"class":240,"line":762},[238,1549,952],{},[238,1551,1552],{"class":240,"line":965},[238,1553,957],{},[238,1555,1556],{"class":240,"line":1337},[238,1557,962],{},[229,1559,1561],{"className":231,"code":1560,"filename":972,"language":233,"meta":234,"style":234},"{\n  \"results\": [\n    { \"op\": \"upload-from-url\", \"externalId\": \"apt-001-photo-1\", \"mediaId\": 123, \"success\": true },\n    { \"op\": \"upload-from-url\", \"externalId\": \"apt-001-photo-2\", \"mediaId\": 124, \"success\": true }\n  ],\n  \"summary\": { \"total\": 2, \"succeeded\": 2, \"failed\": 0 }\n}\n",[224,1562,1563,1567,1580,1643,1704,1709,1761],{"__ignoreMap":234},[238,1564,1565],{"class":240,"line":241},[238,1566,245],{"class":244},[238,1568,1569,1571,1574,1576,1578],{"class":240,"line":248},[238,1570,251],{"class":244},[238,1572,1573],{"class":254},"results",[238,1575,258],{"class":244},[238,1577,261],{"class":244},[238,1579,390],{"class":244},[238,1581,1582,1584,1586,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1634,1636,1638,1641],{"class":240,"line":276},[238,1583,396],{"class":244},[238,1585,264],{"class":244},[238,1587,1588],{"class":401},"op",[238,1590,258],{"class":244},[238,1592,261],{"class":244},[238,1594,264],{"class":244},[238,1596,1067],{"class":267},[238,1598,258],{"class":244},[238,1600,416],{"class":244},[238,1602,264],{"class":244},[238,1604,255],{"class":401},[238,1606,258],{"class":244},[238,1608,261],{"class":244},[238,1610,264],{"class":244},[238,1612,429],{"class":267},[238,1614,258],{"class":244},[238,1616,416],{"class":244},[238,1618,264],{"class":244},[238,1620,789],{"class":401},[238,1622,258],{"class":244},[238,1624,261],{"class":244},[238,1626,991],{"class":372},[238,1628,416],{"class":244},[238,1630,264],{"class":244},[238,1632,1633],{"class":401},"success",[238,1635,258],{"class":244},[238,1637,261],{"class":244},[238,1639,1640],{"class":244}," true",[238,1642,434],{"class":244},[238,1644,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1690,1692,1694,1696,1698,1700,1702],{"class":240,"line":297},[238,1646,396],{"class":244},[238,1648,264],{"class":244},[238,1650,1588],{"class":401},[238,1652,258],{"class":244},[238,1654,261],{"class":244},[238,1656,264],{"class":244},[238,1658,1067],{"class":267},[238,1660,258],{"class":244},[238,1662,416],{"class":244},[238,1664,264],{"class":244},[238,1666,255],{"class":401},[238,1668,258],{"class":244},[238,1670,261],{"class":244},[238,1672,264],{"class":244},[238,1674,469],{"class":267},[238,1676,258],{"class":244},[238,1678,416],{"class":244},[238,1680,264],{"class":244},[238,1682,789],{"class":401},[238,1684,258],{"class":244},[238,1686,261],{"class":244},[238,1688,1689],{"class":372}," 124",[238,1691,416],{"class":244},[238,1693,264],{"class":244},[238,1695,1633],{"class":401},[238,1697,258],{"class":244},[238,1699,261],{"class":244},[238,1701,1640],{"class":244},[238,1703,513],{"class":244},[238,1705,1706],{"class":240,"line":318},[238,1707,1708],{"class":244},"  ],\n",[238,1710,1711,1713,1715,1717,1719,1722,1724,1726,1728,1730,1733,1735,1737,1739,1741,1743,1745,1747,1749,1752,1754,1756,1759],{"class":240,"line":339},[238,1712,251],{"class":244},[238,1714,1380],{"class":254},[238,1716,258],{"class":244},[238,1718,261],{"class":244},[238,1720,1721],{"class":244}," {",[238,1723,264],{"class":244},[238,1725,1403],{"class":401},[238,1727,258],{"class":244},[238,1729,261],{"class":244},[238,1731,1732],{"class":372}," 2",[238,1734,416],{"class":244},[238,1736,264],{"class":244},[238,1738,1385],{"class":401},[238,1740,258],{"class":244},[238,1742,261],{"class":244},[238,1744,1732],{"class":372},[238,1746,416],{"class":244},[238,1748,264],{"class":244},[238,1750,1751],{"class":401},"failed",[238,1753,258],{"class":244},[238,1755,261],{"class":244},[238,1757,1758],{"class":372}," 0",[238,1760,513],{"class":244},[238,1762,1763],{"class":240,"line":360},[238,1764,525],{"class":244},[213,1766],{},[216,1768,210],{"id":1769},"signed-url",[186,1771,1772],{},"Используйте этот способ для загрузки файлов напрямую с клиента или когда файлы недоступны по публичному URL.",[541,1774,1776],{"id":1775},"шаг-1-запросите-url-для-загрузки","Шаг 1. Запросите URL для загрузки",[546,1778,1779,2030,2100],{},[229,1780,1782],{"className":550,"code":1781,"filename":552,"language":553,"meta":234,"style":234},"const response = await fetch('https://crm.rentix.md/api/v1/media/request-upload-url', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'ApiKey YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    files: [\n      { fileName: 'living-room.jpg', size: 245000, contentType: 'image/jpeg', externalId: 'apt-001-photo-1' }\n    ]\n  })\n});\n\nconst result = await response.json();\nconsole.log(`URL загрузки: ${result.upload[0].url}`);\n",[224,1783,1784,1809,1823,1831,1849,1865,1869,1885,1894,1948,1952,1958,1966,1970,1990],{"__ignoreMap":234},[238,1785,1786,1788,1790,1792,1794,1796,1798,1800,1803,1805,1807],{"class":240,"line":241},[238,1787,560],{"class":254},[238,1789,564],{"class":563},[238,1791,567],{"class":244},[238,1793,571],{"class":570},[238,1795,575],{"class":574},[238,1797,578],{"class":563},[238,1799,581],{"class":244},[238,1801,1802],{"class":267},"https://crm.rentix.md/api/v1/media/request-upload-url",[238,1804,581],{"class":244},[238,1806,416],{"class":244},[238,1808,591],{"class":244},[238,1810,1811,1813,1815,1817,1819,1821],{"class":240,"line":248},[238,1812,597],{"class":596},[238,1814,261],{"class":244},[238,1816,602],{"class":244},[238,1818,605],{"class":267},[238,1820,581],{"class":244},[238,1822,273],{"class":244},[238,1824,1825,1827,1829],{"class":240,"line":276},[238,1826,614],{"class":596},[238,1828,261],{"class":244},[238,1830,591],{"class":244},[238,1832,1833,1835,1837,1839,1841,1843,1845,1847],{"class":240,"line":297},[238,1834,623],{"class":244},[238,1836,626],{"class":596},[238,1838,581],{"class":244},[238,1840,261],{"class":244},[238,1842,602],{"class":244},[238,1844,635],{"class":267},[238,1846,581],{"class":244},[238,1848,273],{"class":244},[238,1850,1851,1853,1855,1857,1859,1861,1863],{"class":240,"line":318},[238,1852,623],{"class":244},[238,1854,646],{"class":596},[238,1856,581],{"class":244},[238,1858,261],{"class":244},[238,1860,602],{"class":244},[238,1862,655],{"class":267},[238,1864,658],{"class":244},[238,1866,1867],{"class":240,"line":339},[238,1868,663],{"class":244},[238,1870,1871,1873,1875,1877,1879,1881,1883],{"class":240,"line":360},[238,1872,668],{"class":596},[238,1874,261],{"class":244},[238,1876,673],{"class":563},[238,1878,676],{"class":244},[238,1880,679],{"class":574},[238,1882,578],{"class":563},[238,1884,245],{"class":244},[238,1886,1887,1890,1892],{"class":240,"line":378},[238,1888,1889],{"class":596},"    files",[238,1891,261],{"class":244},[238,1893,390],{"class":563},[238,1895,1896,1898,1901,1903,1905,1908,1910,1912,1915,1917,1920,1922,1925,1927,1929,1932,1934,1936,1938,1940,1942,1944,1946],{"class":240,"line":393},[238,1897,1189],{"class":244},[238,1899,1900],{"class":596}," fileName",[238,1902,261],{"class":244},[238,1904,602],{"class":244},[238,1906,1907],{"class":267},"living-room.jpg",[238,1909,581],{"class":244},[238,1911,416],{"class":244},[238,1913,1914],{"class":596}," size",[238,1916,261],{"class":244},[238,1918,1919],{"class":372}," 245000",[238,1921,416],{"class":244},[238,1923,1924],{"class":596}," contentType",[238,1926,261],{"class":244},[238,1928,602],{"class":244},[238,1930,1931],{"class":267},"image/jpeg",[238,1933,581],{"class":244},[238,1935,416],{"class":244},[238,1937,1219],{"class":596},[238,1939,261],{"class":244},[238,1941,602],{"class":244},[238,1943,429],{"class":267},[238,1945,581],{"class":244},[238,1947,513],{"class":244},[238,1949,1950],{"class":240,"line":437},[238,1951,1316],{"class":563},[238,1953,1954,1956],{"class":240,"line":476},[238,1955,716],{"class":244},[238,1957,719],{"class":563},[238,1959,1960,1962,1964],{"class":240,"line":516},[238,1961,724],{"class":244},[238,1963,727],{"class":563},[238,1965,730],{"class":244},[238,1967,1968],{"class":240,"line":522},[238,1969,736],{"emptyLinePlaceholder":735},[238,1971,1972,1974,1976,1978,1980,1982,1984,1986,1988],{"class":240,"line":762},[238,1973,560],{"class":254},[238,1975,743],{"class":563},[238,1977,567],{"class":244},[238,1979,571],{"class":570},[238,1981,750],{"class":563},[238,1983,676],{"class":244},[238,1985,233],{"class":574},[238,1987,757],{"class":563},[238,1989,730],{"class":244},[238,1991,1992,1994,1996,1998,2000,2002,2005,2007,2009,2011,2014,2017,2020,2022,2024,2026,2028],{"class":240,"line":965},[238,1993,765],{"class":563},[238,1995,676],{"class":244},[238,1997,770],{"class":574},[238,1999,578],{"class":563},[238,2001,775],{"class":244},[238,2003,2004],{"class":267},"URL загрузки: ",[238,2006,781],{"class":244},[238,2008,784],{"class":563},[238,2010,676],{"class":244},[238,2012,2013],{"class":563},"upload[",[238,2015,2016],{"class":372},"0",[238,2018,2019],{"class":563},"]",[238,2021,676],{"class":244},[238,2023,402],{"class":563},[238,2025,806],{"class":244},[238,2027,727],{"class":563},[238,2029,730],{"class":244},[229,2031,2033],{"className":813,"code":2032,"filename":815,"language":816,"meta":234,"style":234},"curl -X POST https://crm.rentix.md/api/v1/media/request-upload-url \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"files\": [\n      { \"fileName\": \"living-room.jpg\", \"size\": 245000, \"contentType\": \"image/jpeg\", \"externalId\": \"apt-001-photo-1\" }\n    ]\n  }'\n",[224,2034,2035,2048,2060,2072,2080,2085,2090,2094],{"__ignoreMap":234},[238,2036,2037,2039,2041,2043,2046],{"class":240,"line":241},[238,2038,815],{"class":401},[238,2040,825],{"class":267},[238,2042,828],{"class":267},[238,2044,2045],{"class":267}," https://crm.rentix.md/api/v1/media/request-upload-url",[238,2047,834],{"class":563},[238,2049,2050,2052,2054,2056,2058],{"class":240,"line":248},[238,2051,839],{"class":267},[238,2053,264],{"class":244},[238,2055,844],{"class":267},[238,2057,258],{"class":244},[238,2059,834],{"class":563},[238,2061,2062,2064,2066,2068,2070],{"class":240,"line":276},[238,2063,839],{"class":267},[238,2065,264],{"class":244},[238,2067,857],{"class":267},[238,2069,258],{"class":244},[238,2071,834],{"class":563},[238,2073,2074,2076,2078],{"class":240,"line":297},[238,2075,866],{"class":267},[238,2077,602],{"class":244},[238,2079,245],{"class":267},[238,2081,2082],{"class":240,"line":318},[238,2083,2084],{"class":267},"    \"files\": [\n",[238,2086,2087],{"class":240,"line":339},[238,2088,2089],{"class":267},"      { \"fileName\": \"living-room.jpg\", \"size\": 245000, \"contentType\": \"image/jpeg\", \"externalId\": \"apt-001-photo-1\" }\n",[238,2091,2092],{"class":240,"line":360},[238,2093,1316],{"class":267},[238,2095,2096,2098],{"class":240,"line":378},[238,2097,716],{"class":267},[238,2099,658],{"class":244},[229,2101,2103],{"className":889,"code":2102,"filename":891,"language":891,"meta":234,"style":234},"$data = [\n  'files' => [\n    ['fileName' => 'living-room.jpg', 'size' => 245000, 'contentType' => 'image/jpeg', 'externalId' => 'apt-001-photo-1']\n  ]\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/media/request-upload-url');\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n  'Authorization: ApiKey YOUR_API_KEY',\n  'Content-Type: application/json'\n]);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$response = curl_exec($ch);\n$result = json_decode($response, true);\n",[224,2104,2105,2109,2114,2119,2123,2127,2131,2136,2140,2144,2148,2152,2156,2160,2164,2168],{"__ignoreMap":234},[238,2106,2107],{"class":240,"line":241},[238,2108,898],{},[238,2110,2111],{"class":240,"line":248},[238,2112,2113],{},"  'files' => [\n",[238,2115,2116],{"class":240,"line":276},[238,2117,2118],{},"    ['fileName' => 'living-room.jpg', 'size' => 245000, 'contentType' => 'image/jpeg', 'externalId' => 'apt-001-photo-1']\n",[238,2120,2121],{"class":240,"line":297},[238,2122,519],{},[238,2124,2125],{"class":240,"line":318},[238,2126,913],{},[238,2128,2129],{"class":240,"line":339},[238,2130,736],{"emptyLinePlaceholder":735},[238,2132,2133],{"class":240,"line":360},[238,2134,2135],{},"$ch = curl_init('https://crm.rentix.md/api/v1/media/request-upload-url');\n",[238,2137,2138],{"class":240,"line":378},[238,2139,927],{},[238,2141,2142],{"class":240,"line":393},[238,2143,932],{},[238,2145,2146],{"class":240,"line":437},[238,2147,937],{},[238,2149,2150],{"class":240,"line":476},[238,2151,942],{},[238,2153,2154],{"class":240,"line":516},[238,2155,947],{},[238,2157,2158],{"class":240,"line":522},[238,2159,952],{},[238,2161,2162],{"class":240,"line":762},[238,2163,957],{},[238,2165,2166],{"class":240,"line":965},[238,2167,962],{},[238,2169,2170],{"class":240,"line":1337},[238,2171,968],{},[229,2173,2175],{"className":231,"code":2174,"filename":972,"language":233,"meta":234,"style":234},"{\n  \"uuid\": \"abc123\",\n  \"upload\": [\n    {\n      \"url\": \"https://storage.googleapis.com/bucket/abc123_living-room.jpg?signature=...\",\n      \"generatedFileName\": \"abc123_living-room.jpg\",\n      \"externalId\": \"apt-001-photo-1\"\n    }\n  ]\n}\n",[224,2176,2177,2181,2201,2214,2219,2239,2259,2276,2281,2285],{"__ignoreMap":234},[238,2178,2179],{"class":240,"line":241},[238,2180,245],{"class":244},[238,2182,2183,2185,2188,2190,2192,2194,2197,2199],{"class":240,"line":248},[238,2184,251],{"class":244},[238,2186,2187],{"class":254},"uuid",[238,2189,258],{"class":244},[238,2191,261],{"class":244},[238,2193,264],{"class":244},[238,2195,2196],{"class":267},"abc123",[238,2198,258],{"class":244},[238,2200,273],{"class":244},[238,2202,2203,2205,2208,2210,2212],{"class":240,"line":276},[238,2204,251],{"class":244},[238,2206,2207],{"class":254},"upload",[238,2209,258],{"class":244},[238,2211,261],{"class":244},[238,2213,390],{"class":244},[238,2215,2216],{"class":240,"line":297},[238,2217,2218],{"class":244},"    {\n",[238,2220,2221,2224,2226,2228,2230,2232,2235,2237],{"class":240,"line":318},[238,2222,2223],{"class":244},"      \"",[238,2225,402],{"class":401},[238,2227,258],{"class":244},[238,2229,261],{"class":244},[238,2231,264],{"class":244},[238,2233,2234],{"class":267},"https://storage.googleapis.com/bucket/abc123_living-room.jpg?signature=...",[238,2236,258],{"class":244},[238,2238,273],{"class":244},[238,2240,2241,2243,2246,2248,2250,2252,2255,2257],{"class":240,"line":339},[238,2242,2223],{"class":244},[238,2244,2245],{"class":401},"generatedFileName",[238,2247,258],{"class":244},[238,2249,261],{"class":244},[238,2251,264],{"class":244},[238,2253,2254],{"class":267},"abc123_living-room.jpg",[238,2256,258],{"class":244},[238,2258,273],{"class":244},[238,2260,2261,2263,2265,2267,2269,2271,2273],{"class":240,"line":360},[238,2262,2223],{"class":244},[238,2264,255],{"class":401},[238,2266,258],{"class":244},[238,2268,261],{"class":244},[238,2270,264],{"class":244},[238,2272,429],{"class":267},[238,2274,2275],{"class":244},"\"\n",[238,2277,2278],{"class":240,"line":378},[238,2279,2280],{"class":244},"    }\n",[238,2282,2283],{"class":240,"line":393},[238,2284,519],{"class":244},[238,2286,2287],{"class":240,"line":437},[238,2288,525],{"class":244},[2290,2291,2292,2293,2296],"warning",{},"URL действителен ",[196,2294,2295],{},"30 минут",". Загрузите файл до истечения срока.",[541,2298,2300],{"id":2299},"шаг-2-загрузите-файл","Шаг 2. Загрузите файл",[186,2302,2303],{},"Отправьте файл PUT-запросом на полученный URL:",[229,2305,2307],{"className":813,"code":2306,"language":816,"meta":234,"style":234},"curl -X PUT \"https://storage.googleapis.com/bucket/abc123_living-room.jpg?signature=...\" \\\n  -H \"Content-Type: image/jpeg\" \\\n  --data-binary @living-room.jpg\n",[224,2308,2309,2326,2339],{"__ignoreMap":234},[238,2310,2311,2313,2315,2318,2320,2322,2324],{"class":240,"line":241},[238,2312,815],{"class":401},[238,2314,825],{"class":267},[238,2316,2317],{"class":267}," PUT",[238,2319,264],{"class":244},[238,2321,2234],{"class":267},[238,2323,258],{"class":244},[238,2325,834],{"class":563},[238,2327,2328,2330,2332,2335,2337],{"class":240,"line":248},[238,2329,839],{"class":267},[238,2331,264],{"class":244},[238,2333,2334],{"class":267},"Content-Type: image/jpeg",[238,2336,258],{"class":244},[238,2338,834],{"class":563},[238,2340,2341,2344],{"class":240,"line":276},[238,2342,2343],{"class":267},"  --data-binary",[238,2345,2346],{"class":267}," @living-room.jpg\n",[541,2348,2350],{"id":2349},"шаг-3-подтвердите-загрузку","Шаг 3. Подтвердите загрузку",[186,2352,2353,2354,261],{},"Используйте bulk endpoint с операцией ",[224,2355,2356],{},"confirm-upload",[546,2358,2359,2634,2725],{},[229,2360,2362],{"className":550,"code":2361,"filename":552,"language":553,"meta":234,"style":234},"const response = await fetch('https://crm.rentix.md/api/v1/media/bulk', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'ApiKey YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    operations: [\n      {\n        op: 'confirm-upload',\n        uuid: 'abc123',\n        generatedFileName: 'abc123_living-room.jpg',\n        externalId: 'apt-001-photo-1'\n      }\n    ]\n  })\n});\n\nconst result = await response.json();\nconsole.log(`Подтверждено: ${result.summary.succeeded} из ${result.summary.total}`);\n",[224,2363,2364,2388,2402,2410,2428,2444,2448,2464,2472,2477,2492,2507,2522,2535,2540,2544,2550,2558,2563,2584],{"__ignoreMap":234},[238,2365,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386],{"class":240,"line":241},[238,2367,560],{"class":254},[238,2369,564],{"class":563},[238,2371,567],{"class":244},[238,2373,571],{"class":570},[238,2375,575],{"class":574},[238,2377,578],{"class":563},[238,2379,581],{"class":244},[238,2381,1093],{"class":267},[238,2383,581],{"class":244},[238,2385,416],{"class":244},[238,2387,591],{"class":244},[238,2389,2390,2392,2394,2396,2398,2400],{"class":240,"line":248},[238,2391,597],{"class":596},[238,2393,261],{"class":244},[238,2395,602],{"class":244},[238,2397,605],{"class":267},[238,2399,581],{"class":244},[238,2401,273],{"class":244},[238,2403,2404,2406,2408],{"class":240,"line":276},[238,2405,614],{"class":596},[238,2407,261],{"class":244},[238,2409,591],{"class":244},[238,2411,2412,2414,2416,2418,2420,2422,2424,2426],{"class":240,"line":297},[238,2413,623],{"class":244},[238,2415,626],{"class":596},[238,2417,581],{"class":244},[238,2419,261],{"class":244},[238,2421,602],{"class":244},[238,2423,635],{"class":267},[238,2425,581],{"class":244},[238,2427,273],{"class":244},[238,2429,2430,2432,2434,2436,2438,2440,2442],{"class":240,"line":318},[238,2431,623],{"class":244},[238,2433,646],{"class":596},[238,2435,581],{"class":244},[238,2437,261],{"class":244},[238,2439,602],{"class":244},[238,2441,655],{"class":267},[238,2443,658],{"class":244},[238,2445,2446],{"class":240,"line":339},[238,2447,663],{"class":244},[238,2449,2450,2452,2454,2456,2458,2460,2462],{"class":240,"line":360},[238,2451,668],{"class":596},[238,2453,261],{"class":244},[238,2455,673],{"class":563},[238,2457,676],{"class":244},[238,2459,679],{"class":574},[238,2461,578],{"class":563},[238,2463,245],{"class":244},[238,2465,2466,2468,2470],{"class":240,"line":378},[238,2467,1180],{"class":596},[238,2469,261],{"class":244},[238,2471,390],{"class":563},[238,2473,2474],{"class":240,"line":393},[238,2475,2476],{"class":244},"      {\n",[238,2478,2479,2482,2484,2486,2488,2490],{"class":240,"line":437},[238,2480,2481],{"class":596},"        op",[238,2483,261],{"class":244},[238,2485,602],{"class":244},[238,2487,2356],{"class":267},[238,2489,581],{"class":244},[238,2491,273],{"class":244},[238,2493,2494,2497,2499,2501,2503,2505],{"class":240,"line":476},[238,2495,2496],{"class":596},"        uuid",[238,2498,261],{"class":244},[238,2500,602],{"class":244},[238,2502,2196],{"class":267},[238,2504,581],{"class":244},[238,2506,273],{"class":244},[238,2508,2509,2512,2514,2516,2518,2520],{"class":240,"line":516},[238,2510,2511],{"class":596},"        generatedFileName",[238,2513,261],{"class":244},[238,2515,602],{"class":244},[238,2517,2254],{"class":267},[238,2519,581],{"class":244},[238,2521,273],{"class":244},[238,2523,2524,2527,2529,2531,2533],{"class":240,"line":522},[238,2525,2526],{"class":596},"        externalId",[238,2528,261],{"class":244},[238,2530,602],{"class":244},[238,2532,429],{"class":267},[238,2534,658],{"class":244},[238,2536,2537],{"class":240,"line":762},[238,2538,2539],{"class":244},"      }\n",[238,2541,2542],{"class":240,"line":965},[238,2543,1316],{"class":563},[238,2545,2546,2548],{"class":240,"line":1337},[238,2547,716],{"class":244},[238,2549,719],{"class":563},[238,2551,2552,2554,2556],{"class":240,"line":1358},[238,2553,724],{"class":244},[238,2555,727],{"class":563},[238,2557,730],{"class":244},[238,2559,2561],{"class":240,"line":2560},18,[238,2562,736],{"emptyLinePlaceholder":735},[238,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582],{"class":240,"line":2565},19,[238,2567,560],{"class":254},[238,2569,743],{"class":563},[238,2571,567],{"class":244},[238,2573,571],{"class":570},[238,2575,750],{"class":563},[238,2577,676],{"class":244},[238,2579,233],{"class":574},[238,2581,757],{"class":563},[238,2583,730],{"class":244},[238,2585,2587,2589,2591,2593,2595,2597,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632],{"class":240,"line":2586},20,[238,2588,765],{"class":563},[238,2590,676],{"class":244},[238,2592,770],{"class":574},[238,2594,578],{"class":563},[238,2596,775],{"class":244},[238,2598,2599],{"class":267},"Подтверждено: ",[238,2601,781],{"class":244},[238,2603,784],{"class":563},[238,2605,676],{"class":244},[238,2607,1380],{"class":563},[238,2609,676],{"class":244},[238,2611,1385],{"class":563},[238,2613,724],{"class":244},[238,2615,1390],{"class":267},[238,2617,781],{"class":244},[238,2619,784],{"class":563},[238,2621,676],{"class":244},[238,2623,1380],{"class":563},[238,2625,676],{"class":244},[238,2627,1403],{"class":563},[238,2629,806],{"class":244},[238,2631,727],{"class":563},[238,2633,730],{"class":244},[229,2635,2637],{"className":813,"code":2636,"filename":815,"language":816,"meta":234,"style":234},"curl -X POST https://crm.rentix.md/api/v1/media/bulk \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"operations\": [\n      {\n        \"op\": \"confirm-upload\",\n        \"uuid\": \"abc123\",\n        \"generatedFileName\": \"abc123_living-room.jpg\",\n        \"externalId\": \"apt-001-photo-1\"\n      }\n    ]\n  }'\n",[224,2638,2639,2651,2663,2675,2683,2687,2691,2696,2701,2706,2711,2715,2719],{"__ignoreMap":234},[238,2640,2641,2643,2645,2647,2649],{"class":240,"line":241},[238,2642,815],{"class":401},[238,2644,825],{"class":267},[238,2646,828],{"class":267},[238,2648,1425],{"class":267},[238,2650,834],{"class":563},[238,2652,2653,2655,2657,2659,2661],{"class":240,"line":248},[238,2654,839],{"class":267},[238,2656,264],{"class":244},[238,2658,844],{"class":267},[238,2660,258],{"class":244},[238,2662,834],{"class":563},[238,2664,2665,2667,2669,2671,2673],{"class":240,"line":276},[238,2666,839],{"class":267},[238,2668,264],{"class":244},[238,2670,857],{"class":267},[238,2672,258],{"class":244},[238,2674,834],{"class":563},[238,2676,2677,2679,2681],{"class":240,"line":297},[238,2678,866],{"class":267},[238,2680,602],{"class":244},[238,2682,245],{"class":267},[238,2684,2685],{"class":240,"line":318},[238,2686,1464],{"class":267},[238,2688,2689],{"class":240,"line":339},[238,2690,2476],{"class":267},[238,2692,2693],{"class":240,"line":360},[238,2694,2695],{"class":267},"        \"op\": \"confirm-upload\",\n",[238,2697,2698],{"class":240,"line":378},[238,2699,2700],{"class":267},"        \"uuid\": \"abc123\",\n",[238,2702,2703],{"class":240,"line":393},[238,2704,2705],{"class":267},"        \"generatedFileName\": \"abc123_living-room.jpg\",\n",[238,2707,2708],{"class":240,"line":437},[238,2709,2710],{"class":267},"        \"externalId\": \"apt-001-photo-1\"\n",[238,2712,2713],{"class":240,"line":476},[238,2714,2539],{"class":267},[238,2716,2717],{"class":240,"line":516},[238,2718,1316],{"class":267},[238,2720,2721,2723],{"class":240,"line":522},[238,2722,716],{"class":267},[238,2724,658],{"class":244},[229,2726,2728],{"className":889,"code":2727,"filename":891,"language":891,"meta":234,"style":234},"$data = [\n  'operations' => [\n    [\n      'op' => 'confirm-upload',\n      'uuid' => 'abc123',\n      'generatedFileName' => 'abc123_living-room.jpg',\n      'externalId' => 'apt-001-photo-1'\n    ]\n  ]\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/media/bulk');\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n  'Authorization: ApiKey YOUR_API_KEY',\n  'Content-Type: application/json'\n]);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$response = curl_exec($ch);\n$result = json_decode($response, true);\n",[224,2729,2730,2734,2738,2743,2748,2753,2758,2763,2767,2771,2775,2779,2783,2787,2791,2795,2799,2803,2807,2811,2815],{"__ignoreMap":234},[238,2731,2732],{"class":240,"line":241},[238,2733,898],{},[238,2735,2736],{"class":240,"line":248},[238,2737,1498],{},[238,2739,2740],{"class":240,"line":276},[238,2741,2742],{},"    [\n",[238,2744,2745],{"class":240,"line":297},[238,2746,2747],{},"      'op' => 'confirm-upload',\n",[238,2749,2750],{"class":240,"line":318},[238,2751,2752],{},"      'uuid' => 'abc123',\n",[238,2754,2755],{"class":240,"line":339},[238,2756,2757],{},"      'generatedFileName' => 'abc123_living-room.jpg',\n",[238,2759,2760],{"class":240,"line":360},[238,2761,2762],{},"      'externalId' => 'apt-001-photo-1'\n",[238,2764,2765],{"class":240,"line":378},[238,2766,1316],{},[238,2768,2769],{"class":240,"line":393},[238,2770,519],{},[238,2772,2773],{"class":240,"line":437},[238,2774,913],{},[238,2776,2777],{"class":240,"line":476},[238,2778,736],{"emptyLinePlaceholder":735},[238,2780,2781],{"class":240,"line":516},[238,2782,1525],{},[238,2784,2785],{"class":240,"line":522},[238,2786,927],{},[238,2788,2789],{"class":240,"line":762},[238,2790,932],{},[238,2792,2793],{"class":240,"line":965},[238,2794,937],{},[238,2796,2797],{"class":240,"line":1337},[238,2798,942],{},[238,2800,2801],{"class":240,"line":1358},[238,2802,947],{},[238,2804,2805],{"class":240,"line":2560},[238,2806,952],{},[238,2808,2809],{"class":240,"line":2565},[238,2810,957],{},[238,2812,2813],{"class":240,"line":2586},[238,2814,962],{},[238,2816,2818],{"class":240,"line":2817},21,[238,2819,968],{},[213,2821],{},[216,2823,2825],{"id":2824},"привяжите-фото-к-объявлению","Привяжите фото к объявлению",[186,2827,2828],{},"После загрузки привяжите фото к объявлению. Есть три способа указать файл:",[541,2830,2832],{"id":2831},"по-internal-id","По internal ID",[229,2834,2836],{"className":231,"code":2835,"language":233,"meta":234,"style":234},"{\n  \"files\": [\n    { \"id\": 123 },\n    { \"id\": 124 }\n  ]\n}\n",[224,2837,2838,2842,2854,2871,2887,2891],{"__ignoreMap":234},[238,2839,2840],{"class":240,"line":241},[238,2841,245],{"class":244},[238,2843,2844,2846,2848,2850,2852],{"class":240,"line":248},[238,2845,251],{"class":244},[238,2847,383],{"class":254},[238,2849,258],{"class":244},[238,2851,261],{"class":244},[238,2853,390],{"class":244},[238,2855,2856,2858,2860,2863,2865,2867,2869],{"class":240,"line":276},[238,2857,396],{"class":244},[238,2859,264],{"class":244},[238,2861,2862],{"class":401},"id",[238,2864,258],{"class":244},[238,2866,261],{"class":244},[238,2868,991],{"class":372},[238,2870,434],{"class":244},[238,2872,2873,2875,2877,2879,2881,2883,2885],{"class":240,"line":297},[238,2874,396],{"class":244},[238,2876,264],{"class":244},[238,2878,2862],{"class":401},[238,2880,258],{"class":244},[238,2882,261],{"class":244},[238,2884,1689],{"class":372},[238,2886,513],{"class":244},[238,2888,2889],{"class":240,"line":318},[238,2890,519],{"class":244},[238,2892,2893],{"class":240,"line":339},[238,2894,525],{"class":244},[541,2896,2898],{"id":2897},"по-external-id","По external ID",[229,2900,2902],{"className":231,"code":2901,"language":233,"meta":234,"style":234},"{\n  \"files\": [\n    { \"externalFileId\": \"apt-001-photo-1\" },\n    { \"externalFileId\": \"apt-001-photo-2\" }\n  ]\n}\n",[224,2903,2904,2908,2920,2940,2960,2964],{"__ignoreMap":234},[238,2905,2906],{"class":240,"line":241},[238,2907,245],{"class":244},[238,2909,2910,2912,2914,2916,2918],{"class":240,"line":248},[238,2911,251],{"class":244},[238,2913,383],{"class":254},[238,2915,258],{"class":244},[238,2917,261],{"class":244},[238,2919,390],{"class":244},[238,2921,2922,2924,2926,2928,2930,2932,2934,2936,2938],{"class":240,"line":276},[238,2923,396],{"class":244},[238,2925,264],{"class":244},[238,2927,226],{"class":401},[238,2929,258],{"class":244},[238,2931,261],{"class":244},[238,2933,264],{"class":244},[238,2935,429],{"class":267},[238,2937,258],{"class":244},[238,2939,434],{"class":244},[238,2941,2942,2944,2946,2948,2950,2952,2954,2956,2958],{"class":240,"line":297},[238,2943,396],{"class":244},[238,2945,264],{"class":244},[238,2947,226],{"class":401},[238,2949,258],{"class":244},[238,2951,261],{"class":244},[238,2953,264],{"class":244},[238,2955,469],{"class":267},[238,2957,258],{"class":244},[238,2959,513],{"class":244},[238,2961,2962],{"class":240,"line":318},[238,2963,519],{"class":244},[238,2965,2966],{"class":240,"line":339},[238,2967,525],{"class":244},[541,2969,2971],{"id":2970},"по-url-автоимпорт","По URL (автоимпорт)",[229,2973,2975],{"className":231,"code":2974,"language":233,"meta":234,"style":234},"{\n  \"files\": [\n    { \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+1\", \"externalFileId\": \"apt-001-photo-1\" },\n    { \"url\": \"https://placehold.co/1920x1080/jpg?text=Фото+2\", \"externalFileId\": \"apt-001-photo-2\" }\n  ]\n}\n",[224,2976,2977,2981,2993,3029,3065,3069],{"__ignoreMap":234},[238,2978,2979],{"class":240,"line":241},[238,2980,245],{"class":244},[238,2982,2983,2985,2987,2989,2991],{"class":240,"line":248},[238,2984,251],{"class":244},[238,2986,383],{"class":254},[238,2988,258],{"class":244},[238,2990,261],{"class":244},[238,2992,390],{"class":244},[238,2994,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027],{"class":240,"line":276},[238,2996,396],{"class":244},[238,2998,264],{"class":244},[238,3000,402],{"class":401},[238,3002,258],{"class":244},[238,3004,261],{"class":244},[238,3006,264],{"class":244},[238,3008,1212],{"class":267},[238,3010,258],{"class":244},[238,3012,416],{"class":244},[238,3014,264],{"class":244},[238,3016,226],{"class":401},[238,3018,258],{"class":244},[238,3020,261],{"class":244},[238,3022,264],{"class":244},[238,3024,429],{"class":267},[238,3026,258],{"class":244},[238,3028,434],{"class":244},[238,3030,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063],{"class":240,"line":297},[238,3032,396],{"class":244},[238,3034,264],{"class":244},[238,3036,402],{"class":401},[238,3038,258],{"class":244},[238,3040,261],{"class":244},[238,3042,264],{"class":244},[238,3044,1254],{"class":267},[238,3046,258],{"class":244},[238,3048,416],{"class":244},[238,3050,264],{"class":244},[238,3052,226],{"class":401},[238,3054,258],{"class":244},[238,3056,261],{"class":244},[238,3058,264],{"class":244},[238,3060,469],{"class":267},[238,3062,258],{"class":244},[238,3064,513],{"class":244},[238,3066,3067],{"class":240,"line":318},[238,3068,519],{"class":244},[238,3070,3071],{"class":240,"line":339},[238,3072,525],{"class":244},[213,3074],{},[216,3076,3078],{"id":3077},"bulk-операции-с-медиа","Bulk операции с медиа",[186,3080,3081,3082,261],{},"Все операции с медиафайлами можно выполнять через единый endpoint ",[224,3083,3084],{},"POST /media/bulk",[3086,3087,3088,3101],"table",{},[3089,3090,3091],"thead",{},[3092,3093,3094,3098],"tr",{},[3095,3096,3097],"th",{},"Операция",[3095,3099,3100],{},"Описание",[3102,3103,3104,3114,3123,3133,3143],"tbody",{},[3092,3105,3106,3111],{},[3107,3108,3109],"td",{},[224,3110,1067],{},[3107,3112,3113],{},"Загрузить файл по URL",[3092,3115,3116,3120],{},[3107,3117,3118],{},[224,3119,2356],{},[3107,3121,3122],{},"Подтвердить загрузку через signed URL",[3092,3124,3125,3130],{},[3107,3126,3127],{},[224,3128,3129],{},"link",[3107,3131,3132],{},"Привязать external ID к файлу",[3092,3134,3135,3140],{},[3107,3136,3137],{},[224,3138,3139],{},"unlink",[3107,3141,3142],{},"Отвязать external ID",[3092,3144,3145,3150],{},[3107,3146,3147],{},[224,3148,3149],{},"delete",[3107,3151,3152],{},"Удалить файл",[541,3154,3156],{"id":3155},"пример-комбинации-операций","Пример комбинации операций",[229,3158,3160],{"className":231,"code":3159,"language":233,"meta":234,"style":234},"{\n  \"operations\": [\n    { \"op\": \"upload-from-url\", \"url\": \"https://example.com/new.jpg\", \"externalId\": \"new-photo\" },\n    { \"op\": \"link\", \"mediaId\": 123, \"externalId\": \"old-photo-linked\" },\n    { \"op\": \"delete\", \"externalId\": \"old-photo-to-remove\" }\n  ]\n}\n",[224,3161,3162,3166,3179,3233,3282,3319,3323],{"__ignoreMap":234},[238,3163,3164],{"class":240,"line":241},[238,3165,245],{"class":244},[238,3167,3168,3170,3173,3175,3177],{"class":240,"line":248},[238,3169,251],{"class":244},[238,3171,3172],{"class":254},"operations",[238,3174,258],{"class":244},[238,3176,261],{"class":244},[238,3178,390],{"class":244},[238,3180,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3212,3214,3216,3218,3220,3222,3224,3226,3229,3231],{"class":240,"line":276},[238,3182,396],{"class":244},[238,3184,264],{"class":244},[238,3186,1588],{"class":401},[238,3188,258],{"class":244},[238,3190,261],{"class":244},[238,3192,264],{"class":244},[238,3194,1067],{"class":267},[238,3196,258],{"class":244},[238,3198,416],{"class":244},[238,3200,264],{"class":244},[238,3202,402],{"class":401},[238,3204,258],{"class":244},[238,3206,261],{"class":244},[238,3208,264],{"class":244},[238,3210,3211],{"class":267},"https://example.com/new.jpg",[238,3213,258],{"class":244},[238,3215,416],{"class":244},[238,3217,264],{"class":244},[238,3219,255],{"class":401},[238,3221,258],{"class":244},[238,3223,261],{"class":244},[238,3225,264],{"class":244},[238,3227,3228],{"class":267},"new-photo",[238,3230,258],{"class":244},[238,3232,434],{"class":244},[238,3234,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3278,3280],{"class":240,"line":297},[238,3236,396],{"class":244},[238,3238,264],{"class":244},[238,3240,1588],{"class":401},[238,3242,258],{"class":244},[238,3244,261],{"class":244},[238,3246,264],{"class":244},[238,3248,3129],{"class":267},[238,3250,258],{"class":244},[238,3252,416],{"class":244},[238,3254,264],{"class":244},[238,3256,789],{"class":401},[238,3258,258],{"class":244},[238,3260,261],{"class":244},[238,3262,991],{"class":372},[238,3264,416],{"class":244},[238,3266,264],{"class":244},[238,3268,255],{"class":401},[238,3270,258],{"class":244},[238,3272,261],{"class":244},[238,3274,264],{"class":244},[238,3276,3277],{"class":267},"old-photo-linked",[238,3279,258],{"class":244},[238,3281,434],{"class":244},[238,3283,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3315,3317],{"class":240,"line":318},[238,3285,396],{"class":244},[238,3287,264],{"class":244},[238,3289,1588],{"class":401},[238,3291,258],{"class":244},[238,3293,261],{"class":244},[238,3295,264],{"class":244},[238,3297,3149],{"class":267},[238,3299,258],{"class":244},[238,3301,416],{"class":244},[238,3303,264],{"class":244},[238,3305,255],{"class":401},[238,3307,258],{"class":244},[238,3309,261],{"class":244},[238,3311,264],{"class":244},[238,3313,3314],{"class":267},"old-photo-to-remove",[238,3316,258],{"class":244},[238,3318,513],{"class":244},[238,3320,3321],{"class":240,"line":339},[238,3322,519],{"class":244},[238,3324,3325],{"class":240,"line":360},[238,3326,525],{"class":244},[541,3328,150],{"id":3329},"обработка-ошибок",[186,3331,3332,3333,3335],{},"Ошибка в одной операции не останавливает остальные. Проверяйте ",[224,3334,1633],{}," для каждого результата:",[229,3337,3340],{"className":231,"code":3338,"filename":3339,"language":233,"meta":234,"style":234},"{\n  \"results\": [\n    { \"op\": \"upload-from-url\", \"externalId\": \"photo-1\", \"mediaId\": 123, \"success\": true },\n    {\n      \"op\": \"upload-from-url\",\n      \"externalId\": \"photo-2\",\n      \"mediaId\": null,\n      \"success\": false,\n      \"error\": {\n        \"statusCode\": 400,\n        \"body\": {\n          \"error\": \"Duplicate external ID\",\n          \"error_code\": \"DUPLICATE_EXTERNAL_ID\"\n        }\n      }\n    }\n  ],\n  \"summary\": { \"total\": 2, \"succeeded\": 1, \"failed\": 1 }\n}\n","Ответ с ошибкой",[224,3341,3342,3346,3358,3419,3423,3441,3460,3473,3486,3499,3516,3529,3549,3567,3572,3576,3580,3584,3633],{"__ignoreMap":234},[238,3343,3344],{"class":240,"line":241},[238,3345,245],{"class":244},[238,3347,3348,3350,3352,3354,3356],{"class":240,"line":248},[238,3349,251],{"class":244},[238,3351,1573],{"class":254},[238,3353,258],{"class":244},[238,3355,261],{"class":244},[238,3357,390],{"class":244},[238,3359,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417],{"class":240,"line":276},[238,3361,396],{"class":244},[238,3363,264],{"class":244},[238,3365,1588],{"class":401},[238,3367,258],{"class":244},[238,3369,261],{"class":244},[238,3371,264],{"class":244},[238,3373,1067],{"class":267},[238,3375,258],{"class":244},[238,3377,416],{"class":244},[238,3379,264],{"class":244},[238,3381,255],{"class":401},[238,3383,258],{"class":244},[238,3385,261],{"class":244},[238,3387,264],{"class":244},[238,3389,3390],{"class":267},"photo-1",[238,3392,258],{"class":244},[238,3394,416],{"class":244},[238,3396,264],{"class":244},[238,3398,789],{"class":401},[238,3400,258],{"class":244},[238,3402,261],{"class":244},[238,3404,991],{"class":372},[238,3406,416],{"class":244},[238,3408,264],{"class":244},[238,3410,1633],{"class":401},[238,3412,258],{"class":244},[238,3414,261],{"class":244},[238,3416,1640],{"class":244},[238,3418,434],{"class":244},[238,3420,3421],{"class":240,"line":297},[238,3422,2218],{"class":244},[238,3424,3425,3427,3429,3431,3433,3435,3437,3439],{"class":240,"line":318},[238,3426,2223],{"class":244},[238,3428,1588],{"class":401},[238,3430,258],{"class":244},[238,3432,261],{"class":244},[238,3434,264],{"class":244},[238,3436,1067],{"class":267},[238,3438,258],{"class":244},[238,3440,273],{"class":244},[238,3442,3443,3445,3447,3449,3451,3453,3456,3458],{"class":240,"line":339},[238,3444,2223],{"class":244},[238,3446,255],{"class":401},[238,3448,258],{"class":244},[238,3450,261],{"class":244},[238,3452,264],{"class":244},[238,3454,3455],{"class":267},"photo-2",[238,3457,258],{"class":244},[238,3459,273],{"class":244},[238,3461,3462,3464,3466,3468,3470],{"class":240,"line":360},[238,3463,2223],{"class":244},[238,3465,789],{"class":401},[238,3467,258],{"class":244},[238,3469,261],{"class":244},[238,3471,3472],{"class":244}," null,\n",[238,3474,3475,3477,3479,3481,3483],{"class":240,"line":378},[238,3476,2223],{"class":244},[238,3478,1633],{"class":401},[238,3480,258],{"class":244},[238,3482,261],{"class":244},[238,3484,3485],{"class":244}," false,\n",[238,3487,3488,3490,3493,3495,3497],{"class":240,"line":393},[238,3489,2223],{"class":244},[238,3491,3492],{"class":401},"error",[238,3494,258],{"class":244},[238,3496,261],{"class":244},[238,3498,591],{"class":244},[238,3500,3501,3504,3507,3509,3511,3514],{"class":240,"line":437},[238,3502,3503],{"class":244},"        \"",[238,3505,3506],{"class":372},"statusCode",[238,3508,258],{"class":244},[238,3510,261],{"class":244},[238,3512,3513],{"class":372}," 400",[238,3515,273],{"class":244},[238,3517,3518,3520,3523,3525,3527],{"class":240,"line":476},[238,3519,3503],{"class":244},[238,3521,3522],{"class":372},"body",[238,3524,258],{"class":244},[238,3526,261],{"class":244},[238,3528,591],{"class":244},[238,3530,3531,3534,3536,3538,3540,3542,3545,3547],{"class":240,"line":516},[238,3532,3533],{"class":244},"          \"",[238,3535,3492],{"class":596},[238,3537,258],{"class":244},[238,3539,261],{"class":244},[238,3541,264],{"class":244},[238,3543,3544],{"class":267},"Duplicate external ID",[238,3546,258],{"class":244},[238,3548,273],{"class":244},[238,3550,3551,3553,3556,3558,3560,3562,3565],{"class":240,"line":522},[238,3552,3533],{"class":244},[238,3554,3555],{"class":596},"error_code",[238,3557,258],{"class":244},[238,3559,261],{"class":244},[238,3561,264],{"class":244},[238,3563,3564],{"class":267},"DUPLICATE_EXTERNAL_ID",[238,3566,2275],{"class":244},[238,3568,3569],{"class":240,"line":762},[238,3570,3571],{"class":244},"        }\n",[238,3573,3574],{"class":240,"line":965},[238,3575,2539],{"class":244},[238,3577,3578],{"class":240,"line":1337},[238,3579,2280],{"class":244},[238,3581,3582],{"class":240,"line":1358},[238,3583,1708],{"class":244},[238,3585,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3619,3621,3623,3625,3627,3629,3631],{"class":240,"line":2560},[238,3587,251],{"class":244},[238,3589,1380],{"class":254},[238,3591,258],{"class":244},[238,3593,261],{"class":244},[238,3595,1721],{"class":244},[238,3597,264],{"class":244},[238,3599,1403],{"class":401},[238,3601,258],{"class":244},[238,3603,261],{"class":244},[238,3605,1732],{"class":372},[238,3607,416],{"class":244},[238,3609,264],{"class":244},[238,3611,1385],{"class":401},[238,3613,258],{"class":244},[238,3615,261],{"class":244},[238,3617,3618],{"class":372}," 1",[238,3620,416],{"class":244},[238,3622,264],{"class":244},[238,3624,1751],{"class":401},[238,3626,258],{"class":244},[238,3628,261],{"class":244},[238,3630,3618],{"class":372},[238,3632,513],{"class":244},[238,3634,3635],{"class":240,"line":2565},[238,3636,525],{"class":244},[213,3638],{},[216,3640,3642],{"id":3641},"частые-ошибки","Частые ошибки",[3086,3644,3645,3658],{},[3089,3646,3647],{},[3092,3648,3649,3652,3655],{},[3095,3650,3651],{},"Ошибка",[3095,3653,3654],{},"Причина",[3095,3656,3657],{},"Решение",[3102,3659,3660,3672,3685,3698],{},[3092,3661,3662,3666,3669],{},[3107,3663,3664],{},[224,3665,3544],{},[3107,3667,3668],{},"External ID уже используется",[3107,3670,3671],{},"Используйте уникальный ID для каждого файла",[3092,3673,3674,3679,3682],{},[3107,3675,3676],{},[224,3677,3678],{},"Upload URL expired",[3107,3680,3681],{},"Signed URL истёк",[3107,3683,3684],{},"Запросите новый URL",[3092,3686,3687,3692,3695],{},[3107,3688,3689],{},[224,3690,3691],{},"Invalid content type",[3107,3693,3694],{},"Неверный формат файла",[3107,3696,3697],{},"Используйте JPEG, PNG, WebP или HEIC",[3092,3699,3700,3705,3708],{},[3107,3701,3702],{},[224,3703,3704],{},"File too large",[3107,3706,3707],{},"Файл слишком большой",[3107,3709,3710],{},"Уменьшите размер или сожмите",[3712,3713,3714],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":234,"searchDepth":248,"depth":248,"links":3716},[3717,3718,3722,3727,3732,3736],{"id":218,"depth":248,"text":219},{"id":536,"depth":248,"text":204,"children":3719},[3720,3721],{"id":543,"depth":276,"text":544},{"id":1060,"depth":276,"text":1061},{"id":1769,"depth":248,"text":210,"children":3723},[3724,3725,3726],{"id":1775,"depth":276,"text":1776},{"id":2299,"depth":276,"text":2300},{"id":2349,"depth":276,"text":2350},{"id":2824,"depth":248,"text":2825,"children":3728},[3729,3730,3731],{"id":2831,"depth":276,"text":2832},{"id":2897,"depth":276,"text":2898},{"id":2970,"depth":276,"text":2971},{"id":3077,"depth":248,"text":3078,"children":3733},[3734,3735],{"id":3155,"depth":276,"text":3156},{"id":3329,"depth":276,"text":150},{"id":3641,"depth":248,"text":3642},"Как загружать фото — через URL в объявлении, импорт по URL или signed URL","md",null,{},{"icon":121},{"title":118,"description":3737},"hL0EQ6he_Cx0jndF77AmmvTIHOzAup_DaU0cpnFM1Vo",[3745,3747],{"title":114,"path":115,"stem":116,"description":3746,"icon":109,"children":-1},"Загрузка фото и видео для объявлений через API",{"title":123,"path":124,"stem":125,"description":3748,"icon":126,"children":-1},"Как получать, удалять и связывать медиафайлы с external ID",1773784451420]