[{"data":1,"prerenderedAt":1786},["ShallowReactive",2],{"navigation_docs_ru":3,"-ru-concepts-async-jobs":180,"-ru-concepts-async-jobs-surround":1781},[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":53,"body":182,"description":1774,"extension":1775,"links":1776,"meta":1777,"navigation":1778,"path":54,"seo":1779,"stem":55,"__hash__":1780},"docs_ru/ru/2.concepts/3.async-jobs.md",{"type":183,"value":184,"toc":1753},"minimark",[185,194,199,235,239,244,254,393,397,404,937,941,1023,1027,1031,1131,1137,1141,1233,1237,1429,1434,1438,1568,1575,1579,1700,1704,1708,1711,1715,1721,1724,1737,1741,1749],[186,187,188,189,193],"p",{},"Некоторые операции занимают время: публикация объявления требует перевода описания, обработки геолокации и оптимизации фотографий. Вместо того чтобы заставлять вас ждать, API запускает эти задачи в фоне и возвращает ",[190,191,192],"code",{},"jobId"," для отслеживания.",[195,196,198],"h2",{"id":197},"когда-возвращается-jobid","Когда возвращается jobId",[200,201,202,215],"table",{},[203,204,205],"thead",{},[206,207,208,212],"tr",{},[209,210,211],"th",{},"Операция",[209,213,214],{},"Что происходит в фоне",[216,217,218,227],"tbody",{},[206,219,220,224],{},[221,222,223],"td",{},"Публикация объявления",[221,225,226],{},"Перевод описания, обработка локации, анализ фото",[206,228,229,232],{},[221,230,231],{},"Загрузка медиафайлов",[221,233,234],{},"Оптимизация, генерация превью",[195,236,238],{"id":237},"как-это-работает","Как это работает",[240,241,243],"h3",{"id":242},"_1-запрос-возвращает-jobid","1. Запрос возвращает jobId",[186,245,246,247,250,251,253],{},"При публикации объявления статус меняется на ",[190,248,249],{},"pending_active",", и возвращается ",[190,252,192],{},":",[255,256,261],"pre",{"className":257,"code":258,"language":259,"meta":260,"style":260},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": 42,\n  \"externalId\": \"APT-001\",\n  \"status\": \"pending_active\",\n  \"publicUrl\": \"https://rentix.md/announcement/42\",\n  \"updated\": true,\n  \"jobId\": 789\n}\n","json","",[190,262,263,272,294,317,337,358,373,387],{"__ignoreMap":260},[264,265,268],"span",{"class":266,"line":267},"line",1,[264,269,271],{"class":270},"sMK4o","{\n",[264,273,275,278,282,285,287,291],{"class":266,"line":274},2,[264,276,277],{"class":270},"  \"",[264,279,281],{"class":280},"spNyl","id",[264,283,284],{"class":270},"\"",[264,286,253],{"class":270},[264,288,290],{"class":289},"sbssI"," 42",[264,292,293],{"class":270},",\n",[264,295,297,299,302,304,306,309,313,315],{"class":266,"line":296},3,[264,298,277],{"class":270},[264,300,301],{"class":280},"externalId",[264,303,284],{"class":270},[264,305,253],{"class":270},[264,307,308],{"class":270}," \"",[264,310,312],{"class":311},"sfazB","APT-001",[264,314,284],{"class":270},[264,316,293],{"class":270},[264,318,320,322,325,327,329,331,333,335],{"class":266,"line":319},4,[264,321,277],{"class":270},[264,323,324],{"class":280},"status",[264,326,284],{"class":270},[264,328,253],{"class":270},[264,330,308],{"class":270},[264,332,249],{"class":311},[264,334,284],{"class":270},[264,336,293],{"class":270},[264,338,340,342,345,347,349,351,354,356],{"class":266,"line":339},5,[264,341,277],{"class":270},[264,343,344],{"class":280},"publicUrl",[264,346,284],{"class":270},[264,348,253],{"class":270},[264,350,308],{"class":270},[264,352,353],{"class":311},"https://rentix.md/announcement/42",[264,355,284],{"class":270},[264,357,293],{"class":270},[264,359,361,363,366,368,370],{"class":266,"line":360},6,[264,362,277],{"class":270},[264,364,365],{"class":280},"updated",[264,367,284],{"class":270},[264,369,253],{"class":270},[264,371,372],{"class":270}," true,\n",[264,374,376,378,380,382,384],{"class":266,"line":375},7,[264,377,277],{"class":270},[264,379,192],{"class":280},[264,381,284],{"class":270},[264,383,253],{"class":270},[264,385,386],{"class":289}," 789\n",[264,388,390],{"class":266,"line":389},8,[264,391,392],{"class":270},"}\n",[240,394,396],{"id":395},"_2-проверяйте-статус-задачи","2. Проверяйте статус задачи",[186,398,399,400,403],{},"Используйте ",[190,401,402],{},"GET /job/status"," для отслеживания прогресса:",[405,406,407,806,841],"code-group",{},[255,408,413],{"className":409,"code":410,"filename":411,"language":412,"meta":260,"style":260},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","async function waitForJob(jobId) {\n  while (true) {\n    const response = await fetch(\n      `https://crm.rentix.md/api/v1/job/status?id=${jobId}`,\n      { headers: { 'Authorization': 'ApiKey YOUR_API_KEY' } }\n    );\n\n    const job = await response.json();\n\n    if (job.status === 'completed') {\n      console.log('Задача завершена:', job.resultData);\n      return job;\n    }\n\n    if (job.status === 'failed') {\n      throw new Error(job.publicErrorMessage);\n    }\n\n    // Ждём секунду перед следующей проверкой\n    await new Promise(r => setTimeout(r, 1000));\n  }\n}\n\nconst job = await waitForJob(789);\n","Node.js","js",[190,414,415,439,458,479,497,534,542,548,571,576,605,639,649,655,660,686,711,716,721,728,765,771,776,781],{"__ignoreMap":260},[264,416,417,420,423,427,430,433,436],{"class":266,"line":267},[264,418,419],{"class":280},"async",[264,421,422],{"class":280}," function",[264,424,426],{"class":425},"s2Zo4"," waitForJob",[264,428,429],{"class":270},"(",[264,431,192],{"class":432},"sHdIc",[264,434,435],{"class":270},")",[264,437,438],{"class":270}," {\n",[264,440,441,445,449,453,456],{"class":266,"line":274},[264,442,444],{"class":443},"s7zQu","  while",[264,446,448],{"class":447},"swJcz"," (",[264,450,452],{"class":451},"sfNiH","true",[264,454,455],{"class":447},") ",[264,457,271],{"class":270},[264,459,460,463,467,470,473,476],{"class":266,"line":296},[264,461,462],{"class":280},"    const",[264,464,466],{"class":465},"sTEyZ"," response",[264,468,469],{"class":270}," =",[264,471,472],{"class":443}," await",[264,474,475],{"class":425}," fetch",[264,477,478],{"class":447},"(\n",[264,480,481,484,487,490,492,495],{"class":266,"line":319},[264,482,483],{"class":270},"      `",[264,485,486],{"class":311},"https://crm.rentix.md/api/v1/job/status?id=",[264,488,489],{"class":270},"${",[264,491,192],{"class":465},[264,493,494],{"class":270},"}`",[264,496,293],{"class":270},[264,498,499,502,505,507,510,513,516,519,521,523,526,528,531],{"class":266,"line":339},[264,500,501],{"class":270},"      {",[264,503,504],{"class":447}," headers",[264,506,253],{"class":270},[264,508,509],{"class":270}," {",[264,511,512],{"class":270}," '",[264,514,515],{"class":447},"Authorization",[264,517,518],{"class":270},"'",[264,520,253],{"class":270},[264,522,512],{"class":270},[264,524,525],{"class":311},"ApiKey YOUR_API_KEY",[264,527,518],{"class":270},[264,529,530],{"class":270}," }",[264,532,533],{"class":270}," }\n",[264,535,536,539],{"class":266,"line":360},[264,537,538],{"class":447},"    )",[264,540,541],{"class":270},";\n",[264,543,544],{"class":266,"line":375},[264,545,547],{"emptyLinePlaceholder":546},true,"\n",[264,549,550,552,555,557,559,561,564,566,569],{"class":266,"line":389},[264,551,462],{"class":280},[264,553,554],{"class":465}," job",[264,556,469],{"class":270},[264,558,472],{"class":443},[264,560,466],{"class":465},[264,562,563],{"class":270},".",[264,565,259],{"class":425},[264,567,568],{"class":447},"()",[264,570,541],{"class":270},[264,572,574],{"class":266,"line":573},9,[264,575,547],{"emptyLinePlaceholder":546},[264,577,579,582,584,587,589,591,594,596,599,601,603],{"class":266,"line":578},10,[264,580,581],{"class":443},"    if",[264,583,448],{"class":447},[264,585,586],{"class":465},"job",[264,588,563],{"class":270},[264,590,324],{"class":465},[264,592,593],{"class":270}," ===",[264,595,512],{"class":270},[264,597,598],{"class":311},"completed",[264,600,518],{"class":270},[264,602,455],{"class":447},[264,604,271],{"class":270},[264,606,608,611,613,616,618,620,623,625,628,630,632,635,637],{"class":266,"line":607},11,[264,609,610],{"class":465},"      console",[264,612,563],{"class":270},[264,614,615],{"class":425},"log",[264,617,429],{"class":447},[264,619,518],{"class":270},[264,621,622],{"class":311},"Задача завершена:",[264,624,518],{"class":270},[264,626,627],{"class":270},",",[264,629,554],{"class":465},[264,631,563],{"class":270},[264,633,634],{"class":465},"resultData",[264,636,435],{"class":447},[264,638,541],{"class":270},[264,640,642,645,647],{"class":266,"line":641},12,[264,643,644],{"class":443},"      return",[264,646,554],{"class":465},[264,648,541],{"class":270},[264,650,652],{"class":266,"line":651},13,[264,653,654],{"class":270},"    }\n",[264,656,658],{"class":266,"line":657},14,[264,659,547],{"emptyLinePlaceholder":546},[264,661,663,665,667,669,671,673,675,677,680,682,684],{"class":266,"line":662},15,[264,664,581],{"class":443},[264,666,448],{"class":447},[264,668,586],{"class":465},[264,670,563],{"class":270},[264,672,324],{"class":465},[264,674,593],{"class":270},[264,676,512],{"class":270},[264,678,679],{"class":311},"failed",[264,681,518],{"class":270},[264,683,455],{"class":447},[264,685,271],{"class":270},[264,687,689,692,695,698,700,702,704,707,709],{"class":266,"line":688},16,[264,690,691],{"class":443},"      throw",[264,693,694],{"class":270}," new",[264,696,697],{"class":425}," Error",[264,699,429],{"class":447},[264,701,586],{"class":465},[264,703,563],{"class":270},[264,705,706],{"class":465},"publicErrorMessage",[264,708,435],{"class":447},[264,710,541],{"class":270},[264,712,714],{"class":266,"line":713},17,[264,715,654],{"class":270},[264,717,719],{"class":266,"line":718},18,[264,720,547],{"emptyLinePlaceholder":546},[264,722,724],{"class":266,"line":723},19,[264,725,727],{"class":726},"sHwdD","    // Ждём секунду перед следующей проверкой\n",[264,729,731,734,736,740,742,745,748,751,753,755,757,760,763],{"class":266,"line":730},20,[264,732,733],{"class":443},"    await",[264,735,694],{"class":270},[264,737,739],{"class":738},"sBMFI"," Promise",[264,741,429],{"class":447},[264,743,744],{"class":432},"r",[264,746,747],{"class":280}," =>",[264,749,750],{"class":425}," setTimeout",[264,752,429],{"class":447},[264,754,744],{"class":465},[264,756,627],{"class":270},[264,758,759],{"class":289}," 1000",[264,761,762],{"class":447},"))",[264,764,541],{"class":270},[264,766,768],{"class":266,"line":767},21,[264,769,770],{"class":270},"  }\n",[264,772,774],{"class":266,"line":773},22,[264,775,392],{"class":270},[264,777,779],{"class":266,"line":778},23,[264,780,547],{"emptyLinePlaceholder":546},[264,782,784,787,790,793,795,797,799,802,804],{"class":266,"line":783},24,[264,785,786],{"class":280},"const",[264,788,789],{"class":465}," job ",[264,791,792],{"class":270},"=",[264,794,472],{"class":443},[264,796,426],{"class":425},[264,798,429],{"class":465},[264,800,801],{"class":289},"789",[264,803,435],{"class":465},[264,805,541],{"class":270},[255,807,812],{"className":808,"code":809,"filename":810,"language":811,"meta":260,"style":260},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl \"https://crm.rentix.md/api/v1/job/status?id=789\" \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\"\n","curl","bash",[190,813,814,828],{"__ignoreMap":260},[264,815,816,818,820,823,825],{"class":266,"line":267},[264,817,810],{"class":738},[264,819,308],{"class":270},[264,821,822],{"class":311},"https://crm.rentix.md/api/v1/job/status?id=789",[264,824,284],{"class":270},[264,826,827],{"class":465}," \\\n",[264,829,830,833,835,838],{"class":266,"line":274},[264,831,832],{"class":311},"  -H",[264,834,308],{"class":270},[264,836,837],{"class":311},"Authorization: ApiKey YOUR_API_KEY",[264,839,840],{"class":270},"\"\n",[255,842,846],{"className":843,"code":844,"filename":845,"language":845,"meta":260,"style":260},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","function waitForJob($jobId) {\n    while (true) {\n        $ch = curl_init(\"https://crm.rentix.md/api/v1/job/status?id=$jobId\");\n        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);\n        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n        $response = curl_exec($ch);\n        $job = json_decode($response, true);\n\n        if ($job['status'] === 'completed') {\n            return $job;\n        }\n\n        if ($job['status'] === 'failed') {\n            throw new Exception($job['publicErrorMessage']);\n        }\n\n        sleep(1);\n    }\n}\n","php",[190,847,848,853,858,863,868,873,878,883,887,892,897,902,906,911,916,920,924,929,933],{"__ignoreMap":260},[264,849,850],{"class":266,"line":267},[264,851,852],{},"function waitForJob($jobId) {\n",[264,854,855],{"class":266,"line":274},[264,856,857],{},"    while (true) {\n",[264,859,860],{"class":266,"line":296},[264,861,862],{},"        $ch = curl_init(\"https://crm.rentix.md/api/v1/job/status?id=$jobId\");\n",[264,864,865],{"class":266,"line":319},[264,866,867],{},"        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);\n",[264,869,870],{"class":266,"line":339},[264,871,872],{},"        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n",[264,874,875],{"class":266,"line":360},[264,876,877],{},"        $response = curl_exec($ch);\n",[264,879,880],{"class":266,"line":375},[264,881,882],{},"        $job = json_decode($response, true);\n",[264,884,885],{"class":266,"line":389},[264,886,547],{"emptyLinePlaceholder":546},[264,888,889],{"class":266,"line":573},[264,890,891],{},"        if ($job['status'] === 'completed') {\n",[264,893,894],{"class":266,"line":578},[264,895,896],{},"            return $job;\n",[264,898,899],{"class":266,"line":607},[264,900,901],{},"        }\n",[264,903,904],{"class":266,"line":641},[264,905,547],{"emptyLinePlaceholder":546},[264,907,908],{"class":266,"line":651},[264,909,910],{},"        if ($job['status'] === 'failed') {\n",[264,912,913],{"class":266,"line":657},[264,914,915],{},"            throw new Exception($job['publicErrorMessage']);\n",[264,917,918],{"class":266,"line":662},[264,919,901],{},[264,921,922],{"class":266,"line":688},[264,923,547],{"emptyLinePlaceholder":546},[264,925,926],{"class":266,"line":713},[264,927,928],{},"        sleep(1);\n",[264,930,931],{"class":266,"line":718},[264,932,654],{},[264,934,935],{"class":266,"line":723},[264,936,392],{},[240,938,940],{"id":939},"_3-статусы-задач","3. Статусы задач",[200,942,943,956],{},[203,944,945],{},[206,946,947,950,953],{},[209,948,949],{},"Статус",[209,951,952],{},"Описание",[209,954,955],{},"Что делать",[216,957,958,971,983,997,1010],{},[206,959,960,965,968],{},[221,961,962],{},[190,963,964],{},"pending",[221,966,967],{},"В очереди",[221,969,970],{},"Ждать",[206,972,973,978,981],{},[221,974,975],{},[190,976,977],{},"processing",[221,979,980],{},"Выполняется",[221,982,970],{},[206,984,985,989,992],{},[221,986,987],{},[190,988,598],{},[221,990,991],{},"Успешно",[221,993,994,995],{},"Проверить ",[190,996,634],{},[206,998,999,1003,1006],{},[221,1000,1001],{},[190,1002,679],{},[221,1004,1005],{},"Ошибка",[221,1007,994,1008],{},[190,1009,706],{},[206,1011,1012,1017,1020],{},[221,1013,1014],{},[190,1015,1016],{},"failed_retryable",[221,1018,1019],{},"Временная ошибка",[221,1021,1022],{},"Можно повторить операцию",[195,1024,1026],{"id":1025},"примеры-ответов","Примеры ответов",[240,1028,1030],{"id":1029},"задача-в-очереди","Задача в очереди",[255,1032,1034],{"className":257,"code":1033,"language":259,"meta":260,"style":260},"{\n  \"id\": 789,\n  \"type\": \"announcement_finalize\",\n  \"status\": \"pending\",\n  \"queuePosition\": 3,\n  \"createdAt\": \"2026-02-08T12:00:00.000Z\"\n}\n",[190,1035,1036,1040,1055,1075,1093,1109,1127],{"__ignoreMap":260},[264,1037,1038],{"class":266,"line":267},[264,1039,271],{"class":270},[264,1041,1042,1044,1046,1048,1050,1053],{"class":266,"line":274},[264,1043,277],{"class":270},[264,1045,281],{"class":280},[264,1047,284],{"class":270},[264,1049,253],{"class":270},[264,1051,1052],{"class":289}," 789",[264,1054,293],{"class":270},[264,1056,1057,1059,1062,1064,1066,1068,1071,1073],{"class":266,"line":296},[264,1058,277],{"class":270},[264,1060,1061],{"class":280},"type",[264,1063,284],{"class":270},[264,1065,253],{"class":270},[264,1067,308],{"class":270},[264,1069,1070],{"class":311},"announcement_finalize",[264,1072,284],{"class":270},[264,1074,293],{"class":270},[264,1076,1077,1079,1081,1083,1085,1087,1089,1091],{"class":266,"line":319},[264,1078,277],{"class":270},[264,1080,324],{"class":280},[264,1082,284],{"class":270},[264,1084,253],{"class":270},[264,1086,308],{"class":270},[264,1088,964],{"class":311},[264,1090,284],{"class":270},[264,1092,293],{"class":270},[264,1094,1095,1097,1100,1102,1104,1107],{"class":266,"line":339},[264,1096,277],{"class":270},[264,1098,1099],{"class":280},"queuePosition",[264,1101,284],{"class":270},[264,1103,253],{"class":270},[264,1105,1106],{"class":289}," 3",[264,1108,293],{"class":270},[264,1110,1111,1113,1116,1118,1120,1122,1125],{"class":266,"line":360},[264,1112,277],{"class":270},[264,1114,1115],{"class":280},"createdAt",[264,1117,284],{"class":270},[264,1119,253],{"class":270},[264,1121,308],{"class":270},[264,1123,1124],{"class":311},"2026-02-08T12:00:00.000Z",[264,1126,840],{"class":270},[264,1128,1129],{"class":266,"line":375},[264,1130,392],{"class":270},[186,1132,1133,1136],{},[190,1134,1135],{},"queuePosition: 3"," — перед вашей задачей ещё 3 в очереди.",[240,1138,1140],{"id":1139},"задача-выполняется","Задача выполняется",[255,1142,1144],{"className":257,"code":1143,"language":259,"meta":260,"style":260},"{\n  \"id\": 789,\n  \"type\": \"announcement_finalize\",\n  \"status\": \"processing\",\n  \"queuePosition\": null,\n  \"createdAt\": \"2026-02-08T12:00:00.000Z\"\n}\n",[190,1145,1146,1150,1164,1182,1200,1213,1229],{"__ignoreMap":260},[264,1147,1148],{"class":266,"line":267},[264,1149,271],{"class":270},[264,1151,1152,1154,1156,1158,1160,1162],{"class":266,"line":274},[264,1153,277],{"class":270},[264,1155,281],{"class":280},[264,1157,284],{"class":270},[264,1159,253],{"class":270},[264,1161,1052],{"class":289},[264,1163,293],{"class":270},[264,1165,1166,1168,1170,1172,1174,1176,1178,1180],{"class":266,"line":296},[264,1167,277],{"class":270},[264,1169,1061],{"class":280},[264,1171,284],{"class":270},[264,1173,253],{"class":270},[264,1175,308],{"class":270},[264,1177,1070],{"class":311},[264,1179,284],{"class":270},[264,1181,293],{"class":270},[264,1183,1184,1186,1188,1190,1192,1194,1196,1198],{"class":266,"line":319},[264,1185,277],{"class":270},[264,1187,324],{"class":280},[264,1189,284],{"class":270},[264,1191,253],{"class":270},[264,1193,308],{"class":270},[264,1195,977],{"class":311},[264,1197,284],{"class":270},[264,1199,293],{"class":270},[264,1201,1202,1204,1206,1208,1210],{"class":266,"line":339},[264,1203,277],{"class":270},[264,1205,1099],{"class":280},[264,1207,284],{"class":270},[264,1209,253],{"class":270},[264,1211,1212],{"class":270}," null,\n",[264,1214,1215,1217,1219,1221,1223,1225,1227],{"class":266,"line":360},[264,1216,277],{"class":270},[264,1218,1115],{"class":280},[264,1220,284],{"class":270},[264,1222,253],{"class":270},[264,1224,308],{"class":270},[264,1226,1124],{"class":311},[264,1228,840],{"class":270},[264,1230,1231],{"class":266,"line":375},[264,1232,392],{"class":270},[240,1234,1236],{"id":1235},"задача-завершена","Задача завершена",[255,1238,1240],{"className":257,"code":1239,"language":259,"meta":260,"style":260},"{\n  \"id\": 789,\n  \"type\": \"announcement_finalize\",\n  \"status\": \"completed\",\n  \"resultData\": {\n    \"announcementId\": 42,\n    \"completedOperations\": [\"translate_description\", \"process_location\", \"analyze_images\"],\n    \"finalStatus\": \"active\"\n  },\n  \"createdAt\": \"2026-02-08T12:00:00.000Z\",\n  \"completedAt\": \"2026-02-08T12:00:15.000Z\"\n}\n",[190,1241,1242,1246,1260,1278,1296,1308,1324,1366,1384,1389,1407,1425],{"__ignoreMap":260},[264,1243,1244],{"class":266,"line":267},[264,1245,271],{"class":270},[264,1247,1248,1250,1252,1254,1256,1258],{"class":266,"line":274},[264,1249,277],{"class":270},[264,1251,281],{"class":280},[264,1253,284],{"class":270},[264,1255,253],{"class":270},[264,1257,1052],{"class":289},[264,1259,293],{"class":270},[264,1261,1262,1264,1266,1268,1270,1272,1274,1276],{"class":266,"line":296},[264,1263,277],{"class":270},[264,1265,1061],{"class":280},[264,1267,284],{"class":270},[264,1269,253],{"class":270},[264,1271,308],{"class":270},[264,1273,1070],{"class":311},[264,1275,284],{"class":270},[264,1277,293],{"class":270},[264,1279,1280,1282,1284,1286,1288,1290,1292,1294],{"class":266,"line":319},[264,1281,277],{"class":270},[264,1283,324],{"class":280},[264,1285,284],{"class":270},[264,1287,253],{"class":270},[264,1289,308],{"class":270},[264,1291,598],{"class":311},[264,1293,284],{"class":270},[264,1295,293],{"class":270},[264,1297,1298,1300,1302,1304,1306],{"class":266,"line":339},[264,1299,277],{"class":270},[264,1301,634],{"class":280},[264,1303,284],{"class":270},[264,1305,253],{"class":270},[264,1307,438],{"class":270},[264,1309,1310,1313,1316,1318,1320,1322],{"class":266,"line":360},[264,1311,1312],{"class":270},"    \"",[264,1314,1315],{"class":738},"announcementId",[264,1317,284],{"class":270},[264,1319,253],{"class":270},[264,1321,290],{"class":289},[264,1323,293],{"class":270},[264,1325,1326,1328,1331,1333,1335,1338,1340,1343,1345,1347,1349,1352,1354,1356,1358,1361,1363],{"class":266,"line":375},[264,1327,1312],{"class":270},[264,1329,1330],{"class":738},"completedOperations",[264,1332,284],{"class":270},[264,1334,253],{"class":270},[264,1336,1337],{"class":270}," [",[264,1339,284],{"class":270},[264,1341,1342],{"class":311},"translate_description",[264,1344,284],{"class":270},[264,1346,627],{"class":270},[264,1348,308],{"class":270},[264,1350,1351],{"class":311},"process_location",[264,1353,284],{"class":270},[264,1355,627],{"class":270},[264,1357,308],{"class":270},[264,1359,1360],{"class":311},"analyze_images",[264,1362,284],{"class":270},[264,1364,1365],{"class":270},"],\n",[264,1367,1368,1370,1373,1375,1377,1379,1382],{"class":266,"line":389},[264,1369,1312],{"class":270},[264,1371,1372],{"class":738},"finalStatus",[264,1374,284],{"class":270},[264,1376,253],{"class":270},[264,1378,308],{"class":270},[264,1380,1381],{"class":311},"active",[264,1383,840],{"class":270},[264,1385,1386],{"class":266,"line":573},[264,1387,1388],{"class":270},"  },\n",[264,1390,1391,1393,1395,1397,1399,1401,1403,1405],{"class":266,"line":578},[264,1392,277],{"class":270},[264,1394,1115],{"class":280},[264,1396,284],{"class":270},[264,1398,253],{"class":270},[264,1400,308],{"class":270},[264,1402,1124],{"class":311},[264,1404,284],{"class":270},[264,1406,293],{"class":270},[264,1408,1409,1411,1414,1416,1418,1420,1423],{"class":266,"line":607},[264,1410,277],{"class":270},[264,1412,1413],{"class":280},"completedAt",[264,1415,284],{"class":270},[264,1417,253],{"class":270},[264,1419,308],{"class":270},[264,1421,1422],{"class":311},"2026-02-08T12:00:15.000Z",[264,1424,840],{"class":270},[264,1426,1427],{"class":266,"line":641},[264,1428,392],{"class":270},[186,1430,1431,1432,563],{},"После успешной финализации статус объявления станет ",[190,1433,1381],{},[240,1435,1437],{"id":1436},"задача-с-ошибкой","Задача с ошибкой",[255,1439,1441],{"className":257,"code":1440,"language":259,"meta":260,"style":260},"{\n  \"id\": 789,\n  \"type\": \"announcement_finalize\",\n  \"status\": \"failed\",\n  \"publicErrorMessage\": \"Не удалось обработать изображения\",\n  \"isRetryable\": true,\n  \"createdAt\": \"2026-02-08T12:00:00.000Z\",\n  \"completedAt\": \"2026-02-08T12:00:10.000Z\"\n}\n",[190,1442,1443,1447,1461,1479,1497,1516,1529,1547,1564],{"__ignoreMap":260},[264,1444,1445],{"class":266,"line":267},[264,1446,271],{"class":270},[264,1448,1449,1451,1453,1455,1457,1459],{"class":266,"line":274},[264,1450,277],{"class":270},[264,1452,281],{"class":280},[264,1454,284],{"class":270},[264,1456,253],{"class":270},[264,1458,1052],{"class":289},[264,1460,293],{"class":270},[264,1462,1463,1465,1467,1469,1471,1473,1475,1477],{"class":266,"line":296},[264,1464,277],{"class":270},[264,1466,1061],{"class":280},[264,1468,284],{"class":270},[264,1470,253],{"class":270},[264,1472,308],{"class":270},[264,1474,1070],{"class":311},[264,1476,284],{"class":270},[264,1478,293],{"class":270},[264,1480,1481,1483,1485,1487,1489,1491,1493,1495],{"class":266,"line":319},[264,1482,277],{"class":270},[264,1484,324],{"class":280},[264,1486,284],{"class":270},[264,1488,253],{"class":270},[264,1490,308],{"class":270},[264,1492,679],{"class":311},[264,1494,284],{"class":270},[264,1496,293],{"class":270},[264,1498,1499,1501,1503,1505,1507,1509,1512,1514],{"class":266,"line":339},[264,1500,277],{"class":270},[264,1502,706],{"class":280},[264,1504,284],{"class":270},[264,1506,253],{"class":270},[264,1508,308],{"class":270},[264,1510,1511],{"class":311},"Не удалось обработать изображения",[264,1513,284],{"class":270},[264,1515,293],{"class":270},[264,1517,1518,1520,1523,1525,1527],{"class":266,"line":360},[264,1519,277],{"class":270},[264,1521,1522],{"class":280},"isRetryable",[264,1524,284],{"class":270},[264,1526,253],{"class":270},[264,1528,372],{"class":270},[264,1530,1531,1533,1535,1537,1539,1541,1543,1545],{"class":266,"line":375},[264,1532,277],{"class":270},[264,1534,1115],{"class":280},[264,1536,284],{"class":270},[264,1538,253],{"class":270},[264,1540,308],{"class":270},[264,1542,1124],{"class":311},[264,1544,284],{"class":270},[264,1546,293],{"class":270},[264,1548,1549,1551,1553,1555,1557,1559,1562],{"class":266,"line":389},[264,1550,277],{"class":270},[264,1552,1413],{"class":280},[264,1554,284],{"class":270},[264,1556,253],{"class":270},[264,1558,308],{"class":270},[264,1560,1561],{"class":311},"2026-02-08T12:00:10.000Z",[264,1563,840],{"class":270},[264,1565,1566],{"class":266,"line":573},[264,1567,392],{"class":270},[186,1569,1570,1571,1574],{},"При ",[190,1572,1573],{},"isRetryable: true"," можно повторить операцию — отправьте тот же запрос на публикацию.",[195,1576,1578],{"id":1577},"поля-ответа","Поля ответа",[200,1580,1581,1593],{},[203,1582,1583],{},[206,1584,1585,1588,1591],{},[209,1586,1587],{},"Поле",[209,1589,1590],{},"Тип",[209,1592,952],{},[216,1594,1595,1607,1619,1630,1644,1655,1667,1678,1689],{},[206,1596,1597,1601,1604],{},[221,1598,1599],{},[190,1600,281],{},[221,1602,1603],{},"number",[221,1605,1606],{},"ID задачи",[206,1608,1609,1613,1616],{},[221,1610,1611],{},[190,1612,1061],{},[221,1614,1615],{},"string",[221,1617,1618],{},"Тип операции",[206,1620,1621,1625,1627],{},[221,1622,1623],{},[190,1624,324],{},[221,1626,1615],{},[221,1628,1629],{},"Текущий статус",[206,1631,1632,1636,1639],{},[221,1633,1634],{},[190,1635,634],{},[221,1637,1638],{},"object",[221,1640,1641,1642,435],{},"Результат (при ",[190,1643,598],{},[206,1645,1646,1650,1652],{},[221,1647,1648],{},[190,1649,706],{},[221,1651,1615],{},[221,1653,1654],{},"Сообщение об ошибке",[206,1656,1657,1661,1664],{},[221,1658,1659],{},[190,1660,1522],{},[221,1662,1663],{},"boolean",[221,1665,1666],{},"Можно ли повторить",[206,1668,1669,1673,1675],{},[221,1670,1671],{},[190,1672,1099],{},[221,1674,1603],{},[221,1676,1677],{},"Позиция в очереди",[206,1679,1680,1684,1686],{},[221,1681,1682],{},[190,1683,1115],{},[221,1685,1615],{},[221,1687,1688],{},"Время создания",[206,1690,1691,1695,1697],{},[221,1692,1693],{},[190,1694,1413],{},[221,1696,1615],{},[221,1698,1699],{},"Время завершения",[195,1701,1703],{"id":1702},"рекомендации","Рекомендации",[240,1705,1707],{"id":1706},"частота-опроса","Частота опроса",[186,1709,1710],{},"Не опрашивайте статус чаще раза в секунду — это создаёт лишнюю нагрузку и не ускоряет выполнение.",[240,1712,1714],{"id":1713},"логирование","Логирование",[186,1716,1717,1718,1720],{},"Сохраняйте ",[190,1719,192],{}," в логах. Это поможет при диагностике проблем — поддержка сможет найти задачу по ID.",[240,1722,150],{"id":1723},"обработка-ошибок",[186,1725,1726,1727,1729,1730,1732,1733,1736],{},"Проверяйте ",[190,1728,1522],{},". Если ",[190,1731,452],{}," — временная проблема, можно повторить. Если ",[190,1734,1735],{},"false"," — нужно исправить данные.",[195,1738,1740],{"id":1739},"типичный-сценарий-публикации","Типичный сценарий публикации",[255,1742,1747],{"className":1743,"code":1745,"language":1746},[1744],"language-text","1. PUT /listings { externalId: \"APT-001\", announcementStatus: \"active\" }\n   → status: \"pending_active\", jobId: 789\n\n2. GET /job/status?id=789\n   → status: \"pending\", queuePosition: 3\n\n3. GET /job/status?id=789 (через 5 сек)\n   → status: \"processing\"\n\n4. GET /job/status?id=789 (через 10 сек)\n   → status: \"completed\", resultData.finalStatus: \"active\"\n\n5. Объявление опубликовано на rentix.md\n","text",[190,1748,1745],{"__ignoreMap":260},[1750,1751,1752],"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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":260,"searchDepth":274,"depth":274,"links":1754},[1755,1756,1761,1767,1768,1773],{"id":197,"depth":274,"text":198},{"id":237,"depth":274,"text":238,"children":1757},[1758,1759,1760],{"id":242,"depth":296,"text":243},{"id":395,"depth":296,"text":396},{"id":939,"depth":296,"text":940},{"id":1025,"depth":274,"text":1026,"children":1762},[1763,1764,1765,1766],{"id":1029,"depth":296,"text":1030},{"id":1139,"depth":296,"text":1140},{"id":1235,"depth":296,"text":1236},{"id":1436,"depth":296,"text":1437},{"id":1577,"depth":274,"text":1578},{"id":1702,"depth":274,"text":1703,"children":1769},[1770,1771,1772],{"id":1706,"depth":296,"text":1707},{"id":1713,"depth":296,"text":1714},{"id":1723,"depth":296,"text":150},{"id":1739,"depth":274,"text":1740},"Как отслеживать долгие операции через Job API","md",null,{},{"icon":56},{"title":53,"description":1774},"Icv-d-GA_FnHIVlLaQ0lpb2ZQ3Y_gw8_OMhK5j8kr_0",[1782,1784],{"title":48,"path":49,"stem":50,"description":1783,"icon":51,"children":-1},"Один endpoint для создания и обновления — без проверки существования",{"title":64,"path":65,"stem":66,"description":1785,"icon":67,"children":-1},"Типы недвижимости, статусы и жизненный цикл объявлений",1773784451355]