[{"data":1,"prerenderedAt":1449},["ShallowReactive",2],{"navigation_docs_ru":3,"-ru-concepts-upsert-pattern":180,"-ru-concepts-upsert-pattern-surround":1444},[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":48,"body":182,"description":1437,"extension":1438,"links":1439,"meta":1440,"navigation":1441,"path":49,"seo":1442,"stem":50,"__hash__":1443},"docs_ru/ru/2.concepts/2.upsert-pattern.md",{"type":183,"value":184,"toc":1421},"minimark",[185,194,199,202,212,215,221,225,261,272,276,283,402,506,513,517,523,587,676,683,687,690,852,857,863,907,913,917,921,924,928,931,935,938,942,948,1030,1371,1375,1385,1417],[186,187,188,189,193],"p",{},"API использует upsert-паттерн: один ",[190,191,192],"code",{},"PUT"," запрос создаёт новый объект или обновляет существующий. Вам не нужно проверять, есть ли объект в системе — API делает это автоматически.",[195,196,198],"h2",{"id":197},"зачем-это-нужно","Зачем это нужно",[186,200,201],{},"В классическом REST API для синхронизации данных нужно:",[203,204,209],"pre",{"className":205,"code":207,"language":208},[206],"language-text","1. GET /listings/external/APT-001     # Проверить существование\n2. Если 404 → POST /listings          # Создать\n   Если 200 → PUT /listings/42        # Обновить\n","text",[190,210,207],{"__ignoreMap":211},"",[186,213,214],{},"С upsert-паттерном всё проще:",[203,216,219],{"className":217,"code":218,"language":208},[206],"1. PUT /listings { externalId: \"APT-001\", ... }\n   # API сам создаст или обновит\n",[190,220,218],{"__ignoreMap":211},[195,222,224],{"id":223},"как-работает","Как работает",[226,227,228,241],"table",{},[229,230,231],"thead",{},[232,233,234,238],"tr",{},[235,236,237],"th",{},"Ситуация",[235,239,240],{},"Что происходит",[242,243,244,253],"tbody",{},[232,245,246,250],{},[247,248,249],"td",{},"Объект не найден",[247,251,252],{},"Создаётся новый",[232,254,255,258],{},[247,256,257],{},"Объект найден",[247,259,260],{},"Обновляется существующий",[186,262,263,264,267,268,271],{},"Поиск происходит по ",[190,265,266],{},"id"," или ",[190,269,270],{},"externalId"," — что передали в запросе.",[195,273,275],{"id":274},"пример-создание","Пример: создание",[186,277,278,279,282],{},"Первый запрос с ",[190,280,281],{},"externalId: \"APT-001\""," создаёт объявление:",[203,284,288],{"className":285,"code":286,"language":287,"meta":211,"style":211},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X PUT https://crm.rentix.md/api/v1/listings \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"externalId\": \"APT-001\",\n    \"announcementType\": \"rent\",\n    \"propertyType\": \"residential\",\n    \"propertySecondaryType\": \"apartment\",\n    \"announcementValue\": 500,\n    \"announcementCurrency\": \"EUR\"\n  }'\n","bash",[190,289,290,313,331,345,357,363,369,375,381,387,393],{"__ignoreMap":211},[291,292,295,299,303,306,309],"span",{"class":293,"line":294},"line",1,[291,296,298],{"class":297},"sBMFI","curl",[291,300,302],{"class":301},"sfazB"," -X",[291,304,305],{"class":301}," PUT",[291,307,308],{"class":301}," https://crm.rentix.md/api/v1/listings",[291,310,312],{"class":311},"sTEyZ"," \\\n",[291,314,316,319,323,326,329],{"class":293,"line":315},2,[291,317,318],{"class":301},"  -H",[291,320,322],{"class":321},"sMK4o"," \"",[291,324,325],{"class":301},"Authorization: ApiKey YOUR_API_KEY",[291,327,328],{"class":321},"\"",[291,330,312],{"class":311},[291,332,334,336,338,341,343],{"class":293,"line":333},3,[291,335,318],{"class":301},[291,337,322],{"class":321},[291,339,340],{"class":301},"Content-Type: application/json",[291,342,328],{"class":321},[291,344,312],{"class":311},[291,346,348,351,354],{"class":293,"line":347},4,[291,349,350],{"class":301},"  -d",[291,352,353],{"class":321}," '",[291,355,356],{"class":301},"{\n",[291,358,360],{"class":293,"line":359},5,[291,361,362],{"class":301},"    \"externalId\": \"APT-001\",\n",[291,364,366],{"class":293,"line":365},6,[291,367,368],{"class":301},"    \"announcementType\": \"rent\",\n",[291,370,372],{"class":293,"line":371},7,[291,373,374],{"class":301},"    \"propertyType\": \"residential\",\n",[291,376,378],{"class":293,"line":377},8,[291,379,380],{"class":301},"    \"propertySecondaryType\": \"apartment\",\n",[291,382,384],{"class":293,"line":383},9,[291,385,386],{"class":301},"    \"announcementValue\": 500,\n",[291,388,390],{"class":293,"line":389},10,[291,391,392],{"class":301},"    \"announcementCurrency\": \"EUR\"\n",[291,394,396,399],{"class":293,"line":395},11,[291,397,398],{"class":301},"  }",[291,400,401],{"class":321},"'\n",[203,403,408],{"className":404,"code":405,"filename":406,"language":407,"meta":211,"style":211},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": 42,\n  \"externalId\": \"APT-001\",\n  \"status\": \"draft\",\n  \"created\": true,\n  \"updated\": false\n}\n","Ответ","json",[190,409,410,414,434,453,473,487,501],{"__ignoreMap":211},[291,411,412],{"class":293,"line":294},[291,413,356],{"class":321},[291,415,416,419,422,424,427,431],{"class":293,"line":315},[291,417,418],{"class":321},"  \"",[291,420,266],{"class":421},"spNyl",[291,423,328],{"class":321},[291,425,426],{"class":321},":",[291,428,430],{"class":429},"sbssI"," 42",[291,432,433],{"class":321},",\n",[291,435,436,438,440,442,444,446,449,451],{"class":293,"line":333},[291,437,418],{"class":321},[291,439,270],{"class":421},[291,441,328],{"class":321},[291,443,426],{"class":321},[291,445,322],{"class":321},[291,447,448],{"class":301},"APT-001",[291,450,328],{"class":321},[291,452,433],{"class":321},[291,454,455,457,460,462,464,466,469,471],{"class":293,"line":347},[291,456,418],{"class":321},[291,458,459],{"class":421},"status",[291,461,328],{"class":321},[291,463,426],{"class":321},[291,465,322],{"class":321},[291,467,468],{"class":301},"draft",[291,470,328],{"class":321},[291,472,433],{"class":321},[291,474,475,477,480,482,484],{"class":293,"line":359},[291,476,418],{"class":321},[291,478,479],{"class":421},"created",[291,481,328],{"class":321},[291,483,426],{"class":321},[291,485,486],{"class":321}," true,\n",[291,488,489,491,494,496,498],{"class":293,"line":365},[291,490,418],{"class":321},[291,492,493],{"class":421},"updated",[291,495,328],{"class":321},[291,497,426],{"class":321},[291,499,500],{"class":321}," false\n",[291,502,503],{"class":293,"line":371},[291,504,505],{"class":321},"}\n",[186,507,508,509,512],{},"Обратите внимание: ",[190,510,511],{},"created: true"," — объект создан.",[195,514,516],{"id":515},"пример-обновление","Пример: обновление",[186,518,519,520,522],{},"Повторный запрос с тем же ",[190,521,270],{}," обновляет объявление:",[203,524,526],{"className":285,"code":525,"language":287,"meta":211,"style":211},"curl -X PUT https://crm.rentix.md/api/v1/listings \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"externalId\": \"APT-001\",\n    \"announcementValue\": 600\n  }'\n",[190,527,528,540,552,564,572,576,581],{"__ignoreMap":211},[291,529,530,532,534,536,538],{"class":293,"line":294},[291,531,298],{"class":297},[291,533,302],{"class":301},[291,535,305],{"class":301},[291,537,308],{"class":301},[291,539,312],{"class":311},[291,541,542,544,546,548,550],{"class":293,"line":315},[291,543,318],{"class":301},[291,545,322],{"class":321},[291,547,325],{"class":301},[291,549,328],{"class":321},[291,551,312],{"class":311},[291,553,554,556,558,560,562],{"class":293,"line":333},[291,555,318],{"class":301},[291,557,322],{"class":321},[291,559,340],{"class":301},[291,561,328],{"class":321},[291,563,312],{"class":311},[291,565,566,568,570],{"class":293,"line":347},[291,567,350],{"class":301},[291,569,353],{"class":321},[291,571,356],{"class":301},[291,573,574],{"class":293,"line":359},[291,575,362],{"class":301},[291,577,578],{"class":293,"line":365},[291,579,580],{"class":301},"    \"announcementValue\": 600\n",[291,582,583,585],{"class":293,"line":371},[291,584,398],{"class":301},[291,586,401],{"class":321},[203,588,590],{"className":404,"code":589,"filename":406,"language":407,"meta":211,"style":211},"{\n  \"id\": 42,\n  \"externalId\": \"APT-001\",\n  \"status\": \"draft\",\n  \"created\": false,\n  \"updated\": true\n}\n",[190,591,592,596,610,628,646,659,672],{"__ignoreMap":211},[291,593,594],{"class":293,"line":294},[291,595,356],{"class":321},[291,597,598,600,602,604,606,608],{"class":293,"line":315},[291,599,418],{"class":321},[291,601,266],{"class":421},[291,603,328],{"class":321},[291,605,426],{"class":321},[291,607,430],{"class":429},[291,609,433],{"class":321},[291,611,612,614,616,618,620,622,624,626],{"class":293,"line":333},[291,613,418],{"class":321},[291,615,270],{"class":421},[291,617,328],{"class":321},[291,619,426],{"class":321},[291,621,322],{"class":321},[291,623,448],{"class":301},[291,625,328],{"class":321},[291,627,433],{"class":321},[291,629,630,632,634,636,638,640,642,644],{"class":293,"line":347},[291,631,418],{"class":321},[291,633,459],{"class":421},[291,635,328],{"class":321},[291,637,426],{"class":321},[291,639,322],{"class":321},[291,641,468],{"class":301},[291,643,328],{"class":321},[291,645,433],{"class":321},[291,647,648,650,652,654,656],{"class":293,"line":359},[291,649,418],{"class":321},[291,651,479],{"class":421},[291,653,328],{"class":321},[291,655,426],{"class":321},[291,657,658],{"class":321}," false,\n",[291,660,661,663,665,667,669],{"class":293,"line":365},[291,662,418],{"class":321},[291,664,493],{"class":421},[291,666,328],{"class":321},[291,668,426],{"class":321},[291,670,671],{"class":321}," true\n",[291,673,674],{"class":293,"line":371},[291,675,505],{"class":321},[186,677,678,679,682],{},"Теперь ",[190,680,681],{},"updated: true"," — объект обновлён.",[195,684,686],{"id":685},"частичное-обновление","Частичное обновление",[186,688,689],{},"При обновлении передавайте только изменённые поля. Остальные сохранят свои значения:",[203,691,693],{"className":404,"code":692,"language":407,"meta":211,"style":211},"// Первый запрос — полное создание\n{\n  \"externalId\": \"APT-001\",\n  \"announcementType\": \"rent\",\n  \"announcementValue\": 500,\n  \"propertyArea\": 65,\n  \"propertyFloorNumber\": 3\n}\n\n// Второй запрос — меняем только цену\n{\n  \"externalId\": \"APT-001\",\n  \"announcementValue\": 600\n}\n// propertyArea и propertyFloorNumber останутся прежними\n",[190,694,695,701,705,723,743,759,775,789,793,799,804,808,827,841,846],{"__ignoreMap":211},[291,696,697],{"class":293,"line":294},[291,698,700],{"class":699},"sHwdD","// Первый запрос — полное создание\n",[291,702,703],{"class":293,"line":315},[291,704,356],{"class":321},[291,706,707,709,711,713,715,717,719,721],{"class":293,"line":333},[291,708,418],{"class":321},[291,710,270],{"class":421},[291,712,328],{"class":321},[291,714,426],{"class":321},[291,716,322],{"class":321},[291,718,448],{"class":301},[291,720,328],{"class":321},[291,722,433],{"class":321},[291,724,725,727,730,732,734,736,739,741],{"class":293,"line":347},[291,726,418],{"class":321},[291,728,729],{"class":421},"announcementType",[291,731,328],{"class":321},[291,733,426],{"class":321},[291,735,322],{"class":321},[291,737,738],{"class":301},"rent",[291,740,328],{"class":321},[291,742,433],{"class":321},[291,744,745,747,750,752,754,757],{"class":293,"line":359},[291,746,418],{"class":321},[291,748,749],{"class":421},"announcementValue",[291,751,328],{"class":321},[291,753,426],{"class":321},[291,755,756],{"class":429}," 500",[291,758,433],{"class":321},[291,760,761,763,766,768,770,773],{"class":293,"line":365},[291,762,418],{"class":321},[291,764,765],{"class":421},"propertyArea",[291,767,328],{"class":321},[291,769,426],{"class":321},[291,771,772],{"class":429}," 65",[291,774,433],{"class":321},[291,776,777,779,782,784,786],{"class":293,"line":371},[291,778,418],{"class":321},[291,780,781],{"class":421},"propertyFloorNumber",[291,783,328],{"class":321},[291,785,426],{"class":321},[291,787,788],{"class":429}," 3\n",[291,790,791],{"class":293,"line":377},[291,792,505],{"class":321},[291,794,795],{"class":293,"line":383},[291,796,798],{"emptyLinePlaceholder":797},true,"\n",[291,800,801],{"class":293,"line":389},[291,802,803],{"class":699},"// Второй запрос — меняем только цену\n",[291,805,806],{"class":293,"line":395},[291,807,356],{"class":321},[291,809,811,813,815,817,819,821,823,825],{"class":293,"line":810},12,[291,812,418],{"class":321},[291,814,270],{"class":421},[291,816,328],{"class":321},[291,818,426],{"class":321},[291,820,322],{"class":321},[291,822,448],{"class":301},[291,824,328],{"class":321},[291,826,433],{"class":321},[291,828,830,832,834,836,838],{"class":293,"line":829},13,[291,831,418],{"class":321},[291,833,749],{"class":421},[291,835,328],{"class":321},[291,837,426],{"class":321},[291,839,840],{"class":429}," 600\n",[291,842,844],{"class":293,"line":843},14,[291,845,505],{"class":321},[291,847,849],{"class":293,"line":848},15,[291,850,851],{"class":699},"// propertyArea и propertyFloorNumber останутся прежними\n",[853,854,856],"h3",{"id":855},"очистка-полей","Очистка полей",[186,858,859,860,426],{},"Чтобы очистить поле (удалить значение), отправьте ",[190,861,862],{},"null",[203,864,866],{"className":404,"code":865,"language":407,"meta":211,"style":211},"{\n  \"externalId\": \"APT-001\",\n  \"propertyFloorNumber\": null\n}\n",[190,867,868,872,890,903],{"__ignoreMap":211},[291,869,870],{"class":293,"line":294},[291,871,356],{"class":321},[291,873,874,876,878,880,882,884,886,888],{"class":293,"line":315},[291,875,418],{"class":321},[291,877,270],{"class":421},[291,879,328],{"class":321},[291,881,426],{"class":321},[291,883,322],{"class":321},[291,885,448],{"class":301},[291,887,328],{"class":321},[291,889,433],{"class":321},[291,891,892,894,896,898,900],{"class":293,"line":333},[291,893,418],{"class":321},[291,895,781],{"class":421},[291,897,328],{"class":321},[291,899,426],{"class":321},[291,901,902],{"class":321}," null\n",[291,904,905],{"class":293,"line":347},[291,906,505],{"class":321},[186,908,909,910,912],{},"После этого запроса ",[190,911,781],{}," будет пустым.",[195,914,916],{"id":915},"преимущества","Преимущества",[853,918,920],{"id":919},"простота-интеграции","Простота интеграции",[186,922,923],{},"Один endpoint на все случаи. Не нужно писать логику проверки существования.",[853,925,927],{"id":926},"идемпотентность","Идемпотентность",[186,929,930],{},"Повторный запрос с теми же данными не создаст дубликат — просто обновит существующий объект. Это важно при сбоях сети: можно безопасно повторить запрос.",[853,932,934],{"id":933},"атомарность","Атомарность",[186,936,937],{},"Создание или обновление происходит в одной транзакции. Не бывает ситуации «проверил — не было, создал — дубликат».",[195,939,941],{"id":940},"bulk-upsert","Bulk upsert",[186,943,944,945,426],{},"Тот же принцип работает для массовых операций. До 100 объектов за запрос. Каждая операция должна содержать поле ",[190,946,947],{},"op",[203,949,951],{"className":285,"code":950,"language":287,"meta":211,"style":211},"curl -X POST https://crm.rentix.md/api/v1/listings/bulk \\\n  -H \"Authorization: ApiKey YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"operations\": [\n      { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"announcementValue\": 500 },\n      { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"announcementValue\": 700 },\n      { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"announcementValue\": 450 }\n    ]\n  }'\n",[190,952,953,967,979,991,999,1004,1009,1014,1019,1024],{"__ignoreMap":211},[291,954,955,957,959,962,965],{"class":293,"line":294},[291,956,298],{"class":297},[291,958,302],{"class":301},[291,960,961],{"class":301}," POST",[291,963,964],{"class":301}," https://crm.rentix.md/api/v1/listings/bulk",[291,966,312],{"class":311},[291,968,969,971,973,975,977],{"class":293,"line":315},[291,970,318],{"class":301},[291,972,322],{"class":321},[291,974,325],{"class":301},[291,976,328],{"class":321},[291,978,312],{"class":311},[291,980,981,983,985,987,989],{"class":293,"line":333},[291,982,318],{"class":301},[291,984,322],{"class":321},[291,986,340],{"class":301},[291,988,328],{"class":321},[291,990,312],{"class":311},[291,992,993,995,997],{"class":293,"line":347},[291,994,350],{"class":301},[291,996,353],{"class":321},[291,998,356],{"class":301},[291,1000,1001],{"class":293,"line":359},[291,1002,1003],{"class":301},"    \"operations\": [\n",[291,1005,1006],{"class":293,"line":365},[291,1007,1008],{"class":301},"      { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"announcementValue\": 500 },\n",[291,1010,1011],{"class":293,"line":371},[291,1012,1013],{"class":301},"      { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"announcementValue\": 700 },\n",[291,1015,1016],{"class":293,"line":377},[291,1017,1018],{"class":301},"      { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"announcementValue\": 450 }\n",[291,1020,1021],{"class":293,"line":383},[291,1022,1023],{"class":301},"    ]\n",[291,1025,1026,1028],{"class":293,"line":389},[291,1027,398],{"class":301},[291,1029,401],{"class":321},[203,1031,1033],{"className":404,"code":1032,"filename":406,"language":407,"meta":211,"style":211},"{\n  \"results\": [\n    { \"op\": \"upsert\", \"externalId\": \"APT-001\", \"id\": 42, \"success\": true, \"created\": false, \"updated\": true },\n    { \"op\": \"upsert\", \"externalId\": \"APT-002\", \"id\": 43, \"success\": true, \"created\": true, \"updated\": false },\n    { \"op\": \"upsert\", \"externalId\": \"APT-003\", \"id\": 44, \"success\": true, \"created\": true, \"updated\": false }\n  ],\n  \"summary\": { \"total\": 3, \"succeeded\": 3, \"failed\": 0 }\n}\n",[190,1034,1035,1039,1053,1141,1224,1307,1312,1367],{"__ignoreMap":211},[291,1036,1037],{"class":293,"line":294},[291,1038,356],{"class":321},[291,1040,1041,1043,1046,1048,1050],{"class":293,"line":315},[291,1042,418],{"class":321},[291,1044,1045],{"class":421},"results",[291,1047,328],{"class":321},[291,1049,426],{"class":321},[291,1051,1052],{"class":321}," [\n",[291,1054,1055,1058,1060,1062,1064,1066,1068,1071,1073,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1109,1111,1113,1116,1118,1120,1122,1124,1127,1129,1131,1133,1135,1138],{"class":293,"line":333},[291,1056,1057],{"class":321},"    {",[291,1059,322],{"class":321},[291,1061,947],{"class":297},[291,1063,328],{"class":321},[291,1065,426],{"class":321},[291,1067,322],{"class":321},[291,1069,1070],{"class":301},"upsert",[291,1072,328],{"class":321},[291,1074,1075],{"class":321},",",[291,1077,322],{"class":321},[291,1079,270],{"class":297},[291,1081,328],{"class":321},[291,1083,426],{"class":321},[291,1085,322],{"class":321},[291,1087,448],{"class":301},[291,1089,328],{"class":321},[291,1091,1075],{"class":321},[291,1093,322],{"class":321},[291,1095,266],{"class":297},[291,1097,328],{"class":321},[291,1099,426],{"class":321},[291,1101,430],{"class":429},[291,1103,1075],{"class":321},[291,1105,322],{"class":321},[291,1107,1108],{"class":297},"success",[291,1110,328],{"class":321},[291,1112,426],{"class":321},[291,1114,1115],{"class":321}," true,",[291,1117,322],{"class":321},[291,1119,479],{"class":297},[291,1121,328],{"class":321},[291,1123,426],{"class":321},[291,1125,1126],{"class":321}," false,",[291,1128,322],{"class":321},[291,1130,493],{"class":297},[291,1132,328],{"class":321},[291,1134,426],{"class":321},[291,1136,1137],{"class":321}," true",[291,1139,1140],{"class":321}," },\n",[291,1142,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1174,1176,1178,1180,1182,1184,1186,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1222],{"class":293,"line":347},[291,1144,1057],{"class":321},[291,1146,322],{"class":321},[291,1148,947],{"class":297},[291,1150,328],{"class":321},[291,1152,426],{"class":321},[291,1154,322],{"class":321},[291,1156,1070],{"class":301},[291,1158,328],{"class":321},[291,1160,1075],{"class":321},[291,1162,322],{"class":321},[291,1164,270],{"class":297},[291,1166,328],{"class":321},[291,1168,426],{"class":321},[291,1170,322],{"class":321},[291,1172,1173],{"class":301},"APT-002",[291,1175,328],{"class":321},[291,1177,1075],{"class":321},[291,1179,322],{"class":321},[291,1181,266],{"class":297},[291,1183,328],{"class":321},[291,1185,426],{"class":321},[291,1187,1188],{"class":429}," 43",[291,1190,1075],{"class":321},[291,1192,322],{"class":321},[291,1194,1108],{"class":297},[291,1196,328],{"class":321},[291,1198,426],{"class":321},[291,1200,1115],{"class":321},[291,1202,322],{"class":321},[291,1204,479],{"class":297},[291,1206,328],{"class":321},[291,1208,426],{"class":321},[291,1210,1115],{"class":321},[291,1212,322],{"class":321},[291,1214,493],{"class":297},[291,1216,328],{"class":321},[291,1218,426],{"class":321},[291,1220,1221],{"class":321}," false",[291,1223,1140],{"class":321},[291,1225,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1257,1259,1261,1263,1265,1267,1269,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304],{"class":293,"line":359},[291,1227,1057],{"class":321},[291,1229,322],{"class":321},[291,1231,947],{"class":297},[291,1233,328],{"class":321},[291,1235,426],{"class":321},[291,1237,322],{"class":321},[291,1239,1070],{"class":301},[291,1241,328],{"class":321},[291,1243,1075],{"class":321},[291,1245,322],{"class":321},[291,1247,270],{"class":297},[291,1249,328],{"class":321},[291,1251,426],{"class":321},[291,1253,322],{"class":321},[291,1255,1256],{"class":301},"APT-003",[291,1258,328],{"class":321},[291,1260,1075],{"class":321},[291,1262,322],{"class":321},[291,1264,266],{"class":297},[291,1266,328],{"class":321},[291,1268,426],{"class":321},[291,1270,1271],{"class":429}," 44",[291,1273,1075],{"class":321},[291,1275,322],{"class":321},[291,1277,1108],{"class":297},[291,1279,328],{"class":321},[291,1281,426],{"class":321},[291,1283,1115],{"class":321},[291,1285,322],{"class":321},[291,1287,479],{"class":297},[291,1289,328],{"class":321},[291,1291,426],{"class":321},[291,1293,1115],{"class":321},[291,1295,322],{"class":321},[291,1297,493],{"class":297},[291,1299,328],{"class":321},[291,1301,426],{"class":321},[291,1303,1221],{"class":321},[291,1305,1306],{"class":321}," }\n",[291,1308,1309],{"class":293,"line":365},[291,1310,1311],{"class":321},"  ],\n",[291,1313,1314,1316,1319,1321,1323,1326,1328,1331,1333,1335,1338,1340,1342,1345,1347,1349,1351,1353,1355,1358,1360,1362,1365],{"class":293,"line":371},[291,1315,418],{"class":321},[291,1317,1318],{"class":421},"summary",[291,1320,328],{"class":321},[291,1322,426],{"class":321},[291,1324,1325],{"class":321}," {",[291,1327,322],{"class":321},[291,1329,1330],{"class":297},"total",[291,1332,328],{"class":321},[291,1334,426],{"class":321},[291,1336,1337],{"class":429}," 3",[291,1339,1075],{"class":321},[291,1341,322],{"class":321},[291,1343,1344],{"class":297},"succeeded",[291,1346,328],{"class":321},[291,1348,426],{"class":321},[291,1350,1337],{"class":429},[291,1352,1075],{"class":321},[291,1354,322],{"class":321},[291,1356,1357],{"class":297},"failed",[291,1359,328],{"class":321},[291,1361,426],{"class":321},[291,1363,1364],{"class":429}," 0",[291,1366,1306],{"class":321},[291,1368,1369],{"class":293,"line":377},[291,1370,505],{"class":321},[195,1372,1374],{"id":1373},"ограничения","Ограничения",[1376,1377,1378,1379,1381,1382,1384],"warning",{},"Нельзя передать оба ",[190,1380,266],{}," и ",[190,1383,270],{}," одновременно — будет ошибка. Выберите один способ идентификации.",[226,1386,1387,1397],{},[229,1388,1389],{},[232,1390,1391,1394],{},[235,1392,1393],{},"Ресурс",[235,1395,1396],{},"Endpoint",[242,1398,1399,1408],{},[232,1400,1401,1403],{},[247,1402,58],{},[247,1404,1405],{},[190,1406,1407],{},"PUT /listings",[232,1409,1410,1412],{},[247,1411,88],{},[247,1413,1414],{},[190,1415,1416],{},"PUT /users",[1418,1419,1420],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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}",{"title":211,"searchDepth":315,"depth":315,"links":1422},[1423,1424,1425,1426,1427,1430,1435,1436],{"id":197,"depth":315,"text":198},{"id":223,"depth":315,"text":224},{"id":274,"depth":315,"text":275},{"id":515,"depth":315,"text":516},{"id":685,"depth":315,"text":686,"children":1428},[1429],{"id":855,"depth":333,"text":856},{"id":915,"depth":315,"text":916,"children":1431},[1432,1433,1434],{"id":919,"depth":333,"text":920},{"id":926,"depth":333,"text":927},{"id":933,"depth":333,"text":934},{"id":940,"depth":315,"text":941},{"id":1373,"depth":315,"text":1374},"Один endpoint для создания и обновления — без проверки существования","md",null,{},{"icon":51},{"title":48,"description":1437},"Ghil9vENrDnGHze6SUyQ8SREAvkTRKG2Uzj0S0QakaA",[1445,1447],{"title":43,"path":44,"stem":45,"description":1446,"icon":46,"children":-1},"Используйте ваши ID из CRM вместо внутренних ID Rentix",{"title":53,"path":54,"stem":55,"description":1448,"icon":56,"children":-1},"Как отслеживать долгие операции через Job API",1773784451355]