[{"data":1,"prerenderedAt":1797},["ShallowReactive",2],{"navigation_docs_en":3,"-en-guides-continuous-sync":179,"-en-guides-continuous-sync-surround":1794},[4,36,57,87,107,127,143,154,162],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting Started","i-lucide-rocket","/en/getting-started","en/1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/en/getting-started/introduction","en/1.getting-started/1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Agency Setup","/en/getting-started/agency-setup","en/1.getting-started/2.agency-setup","i-lucide-building-2",{"title":21,"path":22,"stem":23,"icon":24},"Authentication","/en/getting-started/authentication","en/1.getting-started/3.authentication","i-lucide-key",{"title":26,"path":27,"stem":28,"icon":29},"Quick Start","/en/getting-started/quick-start","en/1.getting-started/4.quick-start","i-lucide-zap",{"title":31,"path":32,"stem":33,"icon":34},"Postman Collection","/en/getting-started/postman","en/1.getting-started/5.postman","i-lucide-download",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Concepts","i-lucide-lightbulb","/en/concepts","en/2.concepts",[42,47,52],{"title":43,"path":44,"stem":45,"icon":46},"External ID","/en/concepts/external-ids","en/2.concepts/1.external-ids","i-lucide-link",{"title":48,"path":49,"stem":50,"icon":51},"Upsert Pattern","/en/concepts/upsert-pattern","en/2.concepts/2.upsert-pattern","i-lucide-refresh-cw",{"title":53,"path":54,"stem":55,"icon":56},"Async Jobs","/en/concepts/async-jobs","en/2.concepts/3.async-jobs","i-lucide-clock",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":35},"Listings","i-lucide-home","/en/listings","en/3.listings",[63,68,73,78,83],{"title":64,"path":65,"stem":66,"icon":67},"Listings Overview","/en/listings/overview","en/3.listings/1.overview","i-lucide-layout-list",{"title":69,"path":70,"stem":71,"icon":72},"Create and Update","/en/listings/create-update","en/3.listings/2.create-update","i-lucide-plus",{"title":74,"path":75,"stem":76,"icon":77},"Retrieve Listings","/en/listings/retrieve","en/3.listings/3.retrieve","i-lucide-search",{"title":79,"path":80,"stem":81,"icon":82},"Bulk Operations","/en/listings/bulk","en/3.listings/4.bulk","i-lucide-layers",{"title":84,"path":85,"stem":86,"icon":46},"External ID Linking","/en/listings/external-id-linking","en/3.listings/5.external-id-linking",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":35},"Users","i-lucide-users","/en/users","en/4.users",[93,98,103],{"title":94,"path":95,"stem":96,"icon":97},"Users Overview","/en/users/overview","en/4.users/1.overview","i-lucide-user",{"title":99,"path":100,"stem":101,"icon":102},"Update Profile","/en/users/update","en/4.users/2.update","i-lucide-user-pen",{"title":104,"path":105,"stem":106,"icon":77},"Retrieve Users","/en/users/retrieve","en/4.users/3.retrieve",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":35},"Media","i-lucide-image","/en/media","en/5.media",[113,117,122],{"title":114,"path":115,"stem":116,"icon":109},"Media Overview","/en/media/overview","en/5.media/1.overview",{"title":118,"path":119,"stem":120,"icon":121},"Upload Files","/en/media/upload","en/5.media/2.upload","i-lucide-upload",{"title":123,"path":124,"stem":125,"icon":126},"Manage Files","/en/media/manage","en/5.media/3.manage","i-lucide-folder",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":35},"Reference","i-lucide-book-open","/en/reference","en/6.reference",[133,138],{"title":134,"path":135,"stem":136,"icon":137},"Field Schema","/en/reference/schema","en/6.reference/1.schema","i-lucide-file-json",{"title":139,"path":140,"stem":141,"icon":142},"Currencies and Rates","/en/reference/currencies","en/6.reference/2.currencies","i-lucide-wallet",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":35},"Errors","i-lucide-alert-triangle","/en/errors","en/7.errors",[149],{"title":150,"path":151,"stem":152,"icon":153},"Error Handling","/en/errors/error-handling","en/7.errors/1.error-handling","i-lucide-shield-alert",{"title":155,"path":156,"stem":157,"children":158,"icon":161},"Changelog","/en/changelog","en/8.changelog/1.index",[159],{"title":155,"path":156,"stem":157,"icon":160},"i-lucide-scroll-text","i-lucide-history",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Guides","/en/guides","en/9.guides",[167,171,175],{"title":168,"path":169,"stem":170,"icon":129},"Integration Guides","/en/guides/overview","en/9.guides/1.overview",{"title":172,"path":173,"stem":174,"icon":121},"Initial Sync","/en/guides/first-sync","en/9.guides/2.first-sync",{"title":176,"path":177,"stem":178,"icon":51},"Continuous Sync","/en/guides/continuous-sync","en/9.guides/3.continuous-sync",{"id":180,"title":176,"body":181,"description":1787,"extension":1788,"links":1789,"meta":1790,"navigation":1791,"path":177,"seo":1792,"stem":178,"__hash__":1793},"docs_en/en/9.guides/3.continuous-sync.md",{"type":182,"value":183,"toc":1764},"minimark",[184,188,192,197,200,223,226,229,233,236,241,260,264,939,947,949,953,956,960,1290,1294,1297,1299,1303,1306,1320,1323,1325,1329,1333,1429,1432,1436,1439,1443,1446,1656,1659,1661,1664,1668,1679,1683,1689,1693,1699,1701,1705,1708,1760],[185,186,187],"p",{},"After initial sync, set up regular updates so CRM changes are reflected on Rentix.",[189,190,191],"warning",{},"Sync only changed listings. Resending all listings every time is an inefficient use of the API.",[193,194,196],"h2",{"id":195},"sync-approaches","Sync Approaches",[185,198,199],{},"You can send data to Rentix anytime and in any convenient way:",[201,202,203,211,217],"ul",{},[204,205,206,210],"li",{},[207,208,209],"strong",{},"Immediately on change"," — send data when saving in CRM",[204,212,213,216],{},[207,214,215],{},"Periodically"," — run sync on schedule",[204,218,219,222],{},[207,220,221],{},"In batches"," — accumulate changes and send as a group via bulk endpoint",[185,224,225],{},"The choice depends on your architecture and requirements for update speed.",[227,228],"hr",{},[193,230,232],{"id":231},"scheduled-sync","Scheduled Sync",[185,234,235],{},"Periodically query changed listings from your CRM and send them to Rentix.",[237,238,240],"h3",{"id":239},"logic","Logic",[242,243,244,247,250,257],"ol",{},[204,245,246],{},"Store the time of last successful sync",[204,248,249],{},"Query changed listings from CRM (starting from that time)",[204,251,252,253],{},"Send changes to Rentix via ",[254,255,256],"a",{"href":80},"bulk endpoint",[204,258,259],{},"Update the last sync time",[237,261,263],{"id":262},"example-request","Example Request",[265,266,267,683,811],"code-group",{},[268,269,275],"pre",{"className":270,"code":271,"filename":272,"language":273,"meta":274,"style":274},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch('https://crm.rentix.md/api/v1/listings/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: 'upsert',\n        externalId: 'apt-123',\n        announcementValue: 45000,\n        announcementStatus: 'active'\n      },\n      {\n        op: 'upsert',\n        externalId: 'apt-456',\n        announcementStatus: 'hidden'\n      }\n    ]\n  })\n});\n\nconst result = await response.json();\nconsole.log(`Updated: ${result.summary.succeeded}/${result.summary.total}`);\n","Node.js","js","",[276,277,278,321,342,352,374,394,400,422,433,439,456,473,487,502,508,513,528,544,558,564,570,579,591,598,623],"code",{"__ignoreMap":274},[279,280,283,287,291,295,299,303,306,309,313,315,318],"span",{"class":281,"line":282},"line",1,[279,284,286],{"class":285},"spNyl","const",[279,288,290],{"class":289},"sTEyZ"," response ",[279,292,294],{"class":293},"sMK4o","=",[279,296,298],{"class":297},"s7zQu"," await",[279,300,302],{"class":301},"s2Zo4"," fetch",[279,304,305],{"class":289},"(",[279,307,308],{"class":293},"'",[279,310,312],{"class":311},"sfazB","https://crm.rentix.md/api/v1/listings/bulk",[279,314,308],{"class":293},[279,316,317],{"class":293},",",[279,319,320],{"class":293}," {\n",[279,322,324,328,331,334,337,339],{"class":281,"line":323},2,[279,325,327],{"class":326},"swJcz","  method",[279,329,330],{"class":293},":",[279,332,333],{"class":293}," '",[279,335,336],{"class":311},"POST",[279,338,308],{"class":293},[279,340,341],{"class":293},",\n",[279,343,345,348,350],{"class":281,"line":344},3,[279,346,347],{"class":326},"  headers",[279,349,330],{"class":293},[279,351,320],{"class":293},[279,353,355,358,361,363,365,367,370,372],{"class":281,"line":354},4,[279,356,357],{"class":293},"    '",[279,359,360],{"class":326},"Authorization",[279,362,308],{"class":293},[279,364,330],{"class":293},[279,366,333],{"class":293},[279,368,369],{"class":311},"ApiKey YOUR_API_KEY",[279,371,308],{"class":293},[279,373,341],{"class":293},[279,375,377,379,382,384,386,388,391],{"class":281,"line":376},5,[279,378,357],{"class":293},[279,380,381],{"class":326},"Content-Type",[279,383,308],{"class":293},[279,385,330],{"class":293},[279,387,333],{"class":293},[279,389,390],{"class":311},"application/json",[279,392,393],{"class":293},"'\n",[279,395,397],{"class":281,"line":396},6,[279,398,399],{"class":293},"  },\n",[279,401,403,406,408,411,414,417,419],{"class":281,"line":402},7,[279,404,405],{"class":326},"  body",[279,407,330],{"class":293},[279,409,410],{"class":289}," JSON",[279,412,413],{"class":293},".",[279,415,416],{"class":301},"stringify",[279,418,305],{"class":289},[279,420,421],{"class":293},"{\n",[279,423,425,428,430],{"class":281,"line":424},8,[279,426,427],{"class":326},"    operations",[279,429,330],{"class":293},[279,431,432],{"class":289}," [\n",[279,434,436],{"class":281,"line":435},9,[279,437,438],{"class":293},"      {\n",[279,440,442,445,447,449,452,454],{"class":281,"line":441},10,[279,443,444],{"class":326},"        op",[279,446,330],{"class":293},[279,448,333],{"class":293},[279,450,451],{"class":311},"upsert",[279,453,308],{"class":293},[279,455,341],{"class":293},[279,457,459,462,464,466,469,471],{"class":281,"line":458},11,[279,460,461],{"class":326},"        externalId",[279,463,330],{"class":293},[279,465,333],{"class":293},[279,467,468],{"class":311},"apt-123",[279,470,308],{"class":293},[279,472,341],{"class":293},[279,474,476,479,481,485],{"class":281,"line":475},12,[279,477,478],{"class":326},"        announcementValue",[279,480,330],{"class":293},[279,482,484],{"class":483},"sbssI"," 45000",[279,486,341],{"class":293},[279,488,490,493,495,497,500],{"class":281,"line":489},13,[279,491,492],{"class":326},"        announcementStatus",[279,494,330],{"class":293},[279,496,333],{"class":293},[279,498,499],{"class":311},"active",[279,501,393],{"class":293},[279,503,505],{"class":281,"line":504},14,[279,506,507],{"class":293},"      },\n",[279,509,511],{"class":281,"line":510},15,[279,512,438],{"class":293},[279,514,516,518,520,522,524,526],{"class":281,"line":515},16,[279,517,444],{"class":326},[279,519,330],{"class":293},[279,521,333],{"class":293},[279,523,451],{"class":311},[279,525,308],{"class":293},[279,527,341],{"class":293},[279,529,531,533,535,537,540,542],{"class":281,"line":530},17,[279,532,461],{"class":326},[279,534,330],{"class":293},[279,536,333],{"class":293},[279,538,539],{"class":311},"apt-456",[279,541,308],{"class":293},[279,543,341],{"class":293},[279,545,547,549,551,553,556],{"class":281,"line":546},18,[279,548,492],{"class":326},[279,550,330],{"class":293},[279,552,333],{"class":293},[279,554,555],{"class":311},"hidden",[279,557,393],{"class":293},[279,559,561],{"class":281,"line":560},19,[279,562,563],{"class":293},"      }\n",[279,565,567],{"class":281,"line":566},20,[279,568,569],{"class":289},"    ]\n",[279,571,573,576],{"class":281,"line":572},21,[279,574,575],{"class":293},"  }",[279,577,578],{"class":289},")\n",[279,580,582,585,588],{"class":281,"line":581},22,[279,583,584],{"class":293},"}",[279,586,587],{"class":289},")",[279,589,590],{"class":293},";\n",[279,592,594],{"class":281,"line":593},23,[279,595,597],{"emptyLinePlaceholder":596},true,"\n",[279,599,601,603,606,608,610,613,615,618,621],{"class":281,"line":600},24,[279,602,286],{"class":285},[279,604,605],{"class":289}," result ",[279,607,294],{"class":293},[279,609,298],{"class":297},[279,611,612],{"class":289}," response",[279,614,413],{"class":293},[279,616,617],{"class":301},"json",[279,619,620],{"class":289},"()",[279,622,590],{"class":293},[279,624,626,629,631,634,636,639,642,645,648,650,653,655,658,660,663,665,667,669,671,673,676,679,681],{"class":281,"line":625},25,[279,627,628],{"class":289},"console",[279,630,413],{"class":293},[279,632,633],{"class":301},"log",[279,635,305],{"class":289},[279,637,638],{"class":293},"`",[279,640,641],{"class":311},"Updated: ",[279,643,644],{"class":293},"${",[279,646,647],{"class":289},"result",[279,649,413],{"class":293},[279,651,652],{"class":289},"summary",[279,654,413],{"class":293},[279,656,657],{"class":289},"succeeded",[279,659,584],{"class":293},[279,661,662],{"class":311},"/",[279,664,644],{"class":293},[279,666,647],{"class":289},[279,668,413],{"class":293},[279,670,652],{"class":289},[279,672,413],{"class":293},[279,674,675],{"class":289},"total",[279,677,678],{"class":293},"}`",[279,680,587],{"class":289},[279,682,590],{"class":293},[268,684,689],{"className":685,"code":686,"filename":687,"language":688,"meta":274,"style":274},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","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      {\n        \"op\": \"upsert\",\n        \"externalId\": \"apt-123\",\n        \"announcementStatus\": \"active\",\n        \"announcementValue\": 45000\n      },\n      {\n        \"op\": \"upsert\",\n        \"externalId\": \"apt-456\",\n        \"announcementStatus\": \"hidden\"\n      }\n    ]\n  }'\n","curl","bash",[276,690,691,708,724,737,746,751,755,760,765,770,775,779,783,787,792,797,801,805],{"__ignoreMap":274},[279,692,693,696,699,702,705],{"class":281,"line":282},[279,694,687],{"class":695},"sBMFI",[279,697,698],{"class":311}," -X",[279,700,701],{"class":311}," POST",[279,703,704],{"class":311}," https://crm.rentix.md/api/v1/listings/bulk",[279,706,707],{"class":289}," \\\n",[279,709,710,713,716,719,722],{"class":281,"line":323},[279,711,712],{"class":311},"  -H",[279,714,715],{"class":293}," \"",[279,717,718],{"class":311},"Authorization: ApiKey YOUR_API_KEY",[279,720,721],{"class":293},"\"",[279,723,707],{"class":289},[279,725,726,728,730,733,735],{"class":281,"line":344},[279,727,712],{"class":311},[279,729,715],{"class":293},[279,731,732],{"class":311},"Content-Type: application/json",[279,734,721],{"class":293},[279,736,707],{"class":289},[279,738,739,742,744],{"class":281,"line":354},[279,740,741],{"class":311},"  -d",[279,743,333],{"class":293},[279,745,421],{"class":311},[279,747,748],{"class":281,"line":376},[279,749,750],{"class":311},"    \"operations\": [\n",[279,752,753],{"class":281,"line":396},[279,754,438],{"class":311},[279,756,757],{"class":281,"line":402},[279,758,759],{"class":311},"        \"op\": \"upsert\",\n",[279,761,762],{"class":281,"line":424},[279,763,764],{"class":311},"        \"externalId\": \"apt-123\",\n",[279,766,767],{"class":281,"line":435},[279,768,769],{"class":311},"        \"announcementStatus\": \"active\",\n",[279,771,772],{"class":281,"line":441},[279,773,774],{"class":311},"        \"announcementValue\": 45000\n",[279,776,777],{"class":281,"line":458},[279,778,507],{"class":311},[279,780,781],{"class":281,"line":475},[279,782,438],{"class":311},[279,784,785],{"class":281,"line":489},[279,786,759],{"class":311},[279,788,789],{"class":281,"line":504},[279,790,791],{"class":311},"        \"externalId\": \"apt-456\",\n",[279,793,794],{"class":281,"line":510},[279,795,796],{"class":311},"        \"announcementStatus\": \"hidden\"\n",[279,798,799],{"class":281,"line":515},[279,800,563],{"class":311},[279,802,803],{"class":281,"line":530},[279,804,569],{"class":311},[279,806,807,809],{"class":281,"line":546},[279,808,575],{"class":311},[279,810,393],{"class":293},[268,812,816],{"className":813,"code":814,"filename":815,"language":815,"meta":274,"style":274},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$data = [\n  'operations' => [\n    [\n      'op' => 'upsert',\n      'externalId' => 'apt-123',\n      'announcementValue' => 45000,\n      'announcementStatus' => 'active'\n    ],\n    [\n      'op' => 'upsert',\n      'externalId' => 'apt-456',\n      'announcementStatus' => 'hidden'\n    ]\n  ]\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/listings/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","php",[276,817,818,823,828,833,838,843,848,853,858,862,866,871,876,880,885,890,894,899,904,909,914,919,924,929,934],{"__ignoreMap":274},[279,819,820],{"class":281,"line":282},[279,821,822],{},"$data = [\n",[279,824,825],{"class":281,"line":323},[279,826,827],{},"  'operations' => [\n",[279,829,830],{"class":281,"line":344},[279,831,832],{},"    [\n",[279,834,835],{"class":281,"line":354},[279,836,837],{},"      'op' => 'upsert',\n",[279,839,840],{"class":281,"line":376},[279,841,842],{},"      'externalId' => 'apt-123',\n",[279,844,845],{"class":281,"line":396},[279,846,847],{},"      'announcementValue' => 45000,\n",[279,849,850],{"class":281,"line":402},[279,851,852],{},"      'announcementStatus' => 'active'\n",[279,854,855],{"class":281,"line":424},[279,856,857],{},"    ],\n",[279,859,860],{"class":281,"line":435},[279,861,832],{},[279,863,864],{"class":281,"line":441},[279,865,837],{},[279,867,868],{"class":281,"line":458},[279,869,870],{},"      'externalId' => 'apt-456',\n",[279,872,873],{"class":281,"line":475},[279,874,875],{},"      'announcementStatus' => 'hidden'\n",[279,877,878],{"class":281,"line":489},[279,879,569],{},[279,881,882],{"class":281,"line":504},[279,883,884],{},"  ]\n",[279,886,887],{"class":281,"line":510},[279,888,889],{},"];\n",[279,891,892],{"class":281,"line":515},[279,893,597],{"emptyLinePlaceholder":596},[279,895,896],{"class":281,"line":530},[279,897,898],{},"$ch = curl_init('https://crm.rentix.md/api/v1/listings/bulk');\n",[279,900,901],{"class":281,"line":546},[279,902,903],{},"curl_setopt($ch, CURLOPT_POST, true);\n",[279,905,906],{"class":281,"line":560},[279,907,908],{},"curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\n",[279,910,911],{"class":281,"line":566},[279,912,913],{},"curl_setopt($ch, CURLOPT_HTTPHEADER, [\n",[279,915,916],{"class":281,"line":572},[279,917,918],{},"  'Authorization: ApiKey YOUR_API_KEY',\n",[279,920,921],{"class":281,"line":581},[279,922,923],{},"  'Content-Type: application/json'\n",[279,925,926],{"class":281,"line":593},[279,927,928],{},"]);\n",[279,930,931],{"class":281,"line":600},[279,932,933],{},"curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n",[279,935,936],{"class":281,"line":625},[279,937,938],{},"$response = curl_exec($ch);\n",[940,941,942,943,946],"tip",{},"Use ",[276,944,945],{},"announcementStatus: \"hidden\""," for listings deleted in your CRM.",[227,948],{},[193,950,952],{"id":951},"event-based-sync","Event-Based Sync",[185,954,955],{},"When a listing changes in CRM, send data to Rentix immediately.",[237,957,959],{"id":958},"for-single-listing","For Single Listing",[265,961,962,1148,1220],{},[268,963,965],{"className":270,"code":964,"filename":272,"language":273,"meta":274,"style":274},"const response = await fetch('https://crm.rentix.md/api/v1/listings', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'ApiKey YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    externalId: 'apt-123',\n    announcementValue: 46000,\n    announcementDescription: 'Updated description'\n  })\n});\n\nconst result = await response.json();\n",[276,966,967,992,1007,1015,1033,1049,1053,1069,1084,1096,1110,1116,1124,1128],{"__ignoreMap":274},[279,968,969,971,973,975,977,979,981,983,986,988,990],{"class":281,"line":282},[279,970,286],{"class":285},[279,972,290],{"class":289},[279,974,294],{"class":293},[279,976,298],{"class":297},[279,978,302],{"class":301},[279,980,305],{"class":289},[279,982,308],{"class":293},[279,984,985],{"class":311},"https://crm.rentix.md/api/v1/listings",[279,987,308],{"class":293},[279,989,317],{"class":293},[279,991,320],{"class":293},[279,993,994,996,998,1000,1003,1005],{"class":281,"line":323},[279,995,327],{"class":326},[279,997,330],{"class":293},[279,999,333],{"class":293},[279,1001,1002],{"class":311},"PUT",[279,1004,308],{"class":293},[279,1006,341],{"class":293},[279,1008,1009,1011,1013],{"class":281,"line":344},[279,1010,347],{"class":326},[279,1012,330],{"class":293},[279,1014,320],{"class":293},[279,1016,1017,1019,1021,1023,1025,1027,1029,1031],{"class":281,"line":354},[279,1018,357],{"class":293},[279,1020,360],{"class":326},[279,1022,308],{"class":293},[279,1024,330],{"class":293},[279,1026,333],{"class":293},[279,1028,369],{"class":311},[279,1030,308],{"class":293},[279,1032,341],{"class":293},[279,1034,1035,1037,1039,1041,1043,1045,1047],{"class":281,"line":376},[279,1036,357],{"class":293},[279,1038,381],{"class":326},[279,1040,308],{"class":293},[279,1042,330],{"class":293},[279,1044,333],{"class":293},[279,1046,390],{"class":311},[279,1048,393],{"class":293},[279,1050,1051],{"class":281,"line":396},[279,1052,399],{"class":293},[279,1054,1055,1057,1059,1061,1063,1065,1067],{"class":281,"line":402},[279,1056,405],{"class":326},[279,1058,330],{"class":293},[279,1060,410],{"class":289},[279,1062,413],{"class":293},[279,1064,416],{"class":301},[279,1066,305],{"class":289},[279,1068,421],{"class":293},[279,1070,1071,1074,1076,1078,1080,1082],{"class":281,"line":424},[279,1072,1073],{"class":326},"    externalId",[279,1075,330],{"class":293},[279,1077,333],{"class":293},[279,1079,468],{"class":311},[279,1081,308],{"class":293},[279,1083,341],{"class":293},[279,1085,1086,1089,1091,1094],{"class":281,"line":435},[279,1087,1088],{"class":326},"    announcementValue",[279,1090,330],{"class":293},[279,1092,1093],{"class":483}," 46000",[279,1095,341],{"class":293},[279,1097,1098,1101,1103,1105,1108],{"class":281,"line":441},[279,1099,1100],{"class":326},"    announcementDescription",[279,1102,330],{"class":293},[279,1104,333],{"class":293},[279,1106,1107],{"class":311},"Updated description",[279,1109,393],{"class":293},[279,1111,1112,1114],{"class":281,"line":458},[279,1113,575],{"class":293},[279,1115,578],{"class":289},[279,1117,1118,1120,1122],{"class":281,"line":475},[279,1119,584],{"class":293},[279,1121,587],{"class":289},[279,1123,590],{"class":293},[279,1125,1126],{"class":281,"line":489},[279,1127,597],{"emptyLinePlaceholder":596},[279,1129,1130,1132,1134,1136,1138,1140,1142,1144,1146],{"class":281,"line":504},[279,1131,286],{"class":285},[279,1133,605],{"class":289},[279,1135,294],{"class":293},[279,1137,298],{"class":297},[279,1139,612],{"class":289},[279,1141,413],{"class":293},[279,1143,617],{"class":301},[279,1145,620],{"class":289},[279,1147,590],{"class":293},[268,1149,1151],{"className":685,"code":1150,"filename":687,"language":688,"meta":274,"style":274},"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-123\",\n    \"announcementValue\": 46000,\n    \"announcementDescription\": \"Updated description\"\n  }'\n",[276,1152,1153,1167,1179,1191,1199,1204,1209,1214],{"__ignoreMap":274},[279,1154,1155,1157,1159,1162,1165],{"class":281,"line":282},[279,1156,687],{"class":695},[279,1158,698],{"class":311},[279,1160,1161],{"class":311}," PUT",[279,1163,1164],{"class":311}," https://crm.rentix.md/api/v1/listings",[279,1166,707],{"class":289},[279,1168,1169,1171,1173,1175,1177],{"class":281,"line":323},[279,1170,712],{"class":311},[279,1172,715],{"class":293},[279,1174,718],{"class":311},[279,1176,721],{"class":293},[279,1178,707],{"class":289},[279,1180,1181,1183,1185,1187,1189],{"class":281,"line":344},[279,1182,712],{"class":311},[279,1184,715],{"class":293},[279,1186,732],{"class":311},[279,1188,721],{"class":293},[279,1190,707],{"class":289},[279,1192,1193,1195,1197],{"class":281,"line":354},[279,1194,741],{"class":311},[279,1196,333],{"class":293},[279,1198,421],{"class":311},[279,1200,1201],{"class":281,"line":376},[279,1202,1203],{"class":311},"    \"externalId\": \"apt-123\",\n",[279,1205,1206],{"class":281,"line":396},[279,1207,1208],{"class":311},"    \"announcementValue\": 46000,\n",[279,1210,1211],{"class":281,"line":402},[279,1212,1213],{"class":311},"    \"announcementDescription\": \"Updated description\"\n",[279,1215,1216,1218],{"class":281,"line":424},[279,1217,575],{"class":311},[279,1219,393],{"class":293},[268,1221,1223],{"className":813,"code":1222,"filename":815,"language":815,"meta":274,"style":274},"$data = [\n  'externalId' => 'apt-123',\n  'announcementValue' => 46000,\n  'announcementDescription' => 'Updated description'\n];\n\n$ch = curl_init('https://crm.rentix.md/api/v1/listings');\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');\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",[276,1224,1225,1229,1234,1239,1244,1248,1252,1257,1262,1266,1270,1274,1278,1282,1286],{"__ignoreMap":274},[279,1226,1227],{"class":281,"line":282},[279,1228,822],{},[279,1230,1231],{"class":281,"line":323},[279,1232,1233],{},"  'externalId' => 'apt-123',\n",[279,1235,1236],{"class":281,"line":344},[279,1237,1238],{},"  'announcementValue' => 46000,\n",[279,1240,1241],{"class":281,"line":354},[279,1242,1243],{},"  'announcementDescription' => 'Updated description'\n",[279,1245,1246],{"class":281,"line":376},[279,1247,889],{},[279,1249,1250],{"class":281,"line":396},[279,1251,597],{"emptyLinePlaceholder":596},[279,1253,1254],{"class":281,"line":402},[279,1255,1256],{},"$ch = curl_init('https://crm.rentix.md/api/v1/listings');\n",[279,1258,1259],{"class":281,"line":424},[279,1260,1261],{},"curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');\n",[279,1263,1264],{"class":281,"line":435},[279,1265,908],{},[279,1267,1268],{"class":281,"line":441},[279,1269,913],{},[279,1271,1272],{"class":281,"line":458},[279,1273,918],{},[279,1275,1276],{"class":281,"line":475},[279,1277,923],{},[279,1279,1280],{"class":281,"line":489},[279,1281,928],{},[279,1283,1284],{"class":281,"line":504},[279,1285,933],{},[279,1287,1288],{"class":281,"line":510},[279,1289,938],{},[237,1291,1293],{"id":1292},"for-multiple-listings","For Multiple Listings",[185,1295,1296],{},"If your CRM accumulates changes or generates batch events, use the bulk endpoint.",[227,1298],{},[193,1300,1302],{"id":1301},"combined-approach","Combined Approach",[185,1304,1305],{},"For maximum reliability, combine both approaches:",[201,1307,1308,1314],{},[204,1309,1310,1313],{},[207,1311,1312],{},"Events"," — for instant updates",[204,1315,1316,1319],{},[207,1317,1318],{},"Periodic check"," — for catching missed changes",[185,1321,1322],{},"The periodic check serves as a fallback mechanism in case of event system failures.",[227,1324],{},[193,1326,1328],{"id":1327},"recommendations","Recommendations",[237,1330,1332],{"id":1331},"send-only-changes","Send Only Changes",[268,1334,1337],{"className":1335,"code":1336,"language":617,"meta":274,"style":274},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"operations\": [\n    {\n      \"op\": \"upsert\",\n      \"externalId\": \"apt-123\",\n      \"announcementValue\": 45000\n    }\n  ]\n}\n",[276,1338,1339,1343,1357,1362,1382,1401,1415,1420,1424],{"__ignoreMap":274},[279,1340,1341],{"class":281,"line":282},[279,1342,421],{"class":293},[279,1344,1345,1348,1351,1353,1355],{"class":281,"line":323},[279,1346,1347],{"class":293},"  \"",[279,1349,1350],{"class":285},"operations",[279,1352,721],{"class":293},[279,1354,330],{"class":293},[279,1356,432],{"class":293},[279,1358,1359],{"class":281,"line":344},[279,1360,1361],{"class":293},"    {\n",[279,1363,1364,1367,1370,1372,1374,1376,1378,1380],{"class":281,"line":354},[279,1365,1366],{"class":293},"      \"",[279,1368,1369],{"class":695},"op",[279,1371,721],{"class":293},[279,1373,330],{"class":293},[279,1375,715],{"class":293},[279,1377,451],{"class":311},[279,1379,721],{"class":293},[279,1381,341],{"class":293},[279,1383,1384,1386,1389,1391,1393,1395,1397,1399],{"class":281,"line":376},[279,1385,1366],{"class":293},[279,1387,1388],{"class":695},"externalId",[279,1390,721],{"class":293},[279,1392,330],{"class":293},[279,1394,715],{"class":293},[279,1396,468],{"class":311},[279,1398,721],{"class":293},[279,1400,341],{"class":293},[279,1402,1403,1405,1408,1410,1412],{"class":281,"line":396},[279,1404,1366],{"class":293},[279,1406,1407],{"class":695},"announcementValue",[279,1409,721],{"class":293},[279,1411,330],{"class":293},[279,1413,1414],{"class":483}," 45000\n",[279,1416,1417],{"class":281,"line":402},[279,1418,1419],{"class":293},"    }\n",[279,1421,1422],{"class":281,"line":424},[279,1423,884],{"class":293},[279,1425,1426],{"class":281,"line":435},[279,1427,1428],{"class":293},"}\n",[185,1430,1431],{},"Rentix updates only the passed fields. If only the price changed — send only the price.",[237,1433,1435],{"id":1434},"use-bulk-for-mass-updates","Use Bulk for Mass Updates",[185,1437,1438],{},"Instead of 100 separate requests, send one bulk request with 100 operations. Maximum — 100 operations per request.",[237,1440,1442],{"id":1441},"handle-partial-errors","Handle Partial Errors",[185,1444,1445],{},"The bulk endpoint returns a result for each operation:",[268,1447,1449],{"className":1335,"code":1448,"language":617,"meta":274,"style":274},"{\n  \"summary\": {\n    \"total\": 3,\n    \"succeeded\": 2,\n    \"failed\": 1\n  },\n  \"results\": [\n    { \"externalId\": \"apt-123\", \"success\": true },\n    { \"externalId\": \"apt-456\", \"success\": true },\n    { \"externalId\": \"apt-789\", \"success\": false, \"error\": \"Invalid status\" }\n  ]\n}\n",[276,1450,1451,1455,1467,1483,1498,1512,1516,1529,1565,1597,1648,1652],{"__ignoreMap":274},[279,1452,1453],{"class":281,"line":282},[279,1454,421],{"class":293},[279,1456,1457,1459,1461,1463,1465],{"class":281,"line":323},[279,1458,1347],{"class":293},[279,1460,652],{"class":285},[279,1462,721],{"class":293},[279,1464,330],{"class":293},[279,1466,320],{"class":293},[279,1468,1469,1472,1474,1476,1478,1481],{"class":281,"line":344},[279,1470,1471],{"class":293},"    \"",[279,1473,675],{"class":695},[279,1475,721],{"class":293},[279,1477,330],{"class":293},[279,1479,1480],{"class":483}," 3",[279,1482,341],{"class":293},[279,1484,1485,1487,1489,1491,1493,1496],{"class":281,"line":354},[279,1486,1471],{"class":293},[279,1488,657],{"class":695},[279,1490,721],{"class":293},[279,1492,330],{"class":293},[279,1494,1495],{"class":483}," 2",[279,1497,341],{"class":293},[279,1499,1500,1502,1505,1507,1509],{"class":281,"line":376},[279,1501,1471],{"class":293},[279,1503,1504],{"class":695},"failed",[279,1506,721],{"class":293},[279,1508,330],{"class":293},[279,1510,1511],{"class":483}," 1\n",[279,1513,1514],{"class":281,"line":396},[279,1515,399],{"class":293},[279,1517,1518,1520,1523,1525,1527],{"class":281,"line":402},[279,1519,1347],{"class":293},[279,1521,1522],{"class":285},"results",[279,1524,721],{"class":293},[279,1526,330],{"class":293},[279,1528,432],{"class":293},[279,1530,1531,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1555,1557,1559,1562],{"class":281,"line":424},[279,1532,1533],{"class":293},"    {",[279,1535,715],{"class":293},[279,1537,1388],{"class":695},[279,1539,721],{"class":293},[279,1541,330],{"class":293},[279,1543,715],{"class":293},[279,1545,468],{"class":311},[279,1547,721],{"class":293},[279,1549,317],{"class":293},[279,1551,715],{"class":293},[279,1553,1554],{"class":695},"success",[279,1556,721],{"class":293},[279,1558,330],{"class":293},[279,1560,1561],{"class":293}," true",[279,1563,1564],{"class":293}," },\n",[279,1566,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595],{"class":281,"line":435},[279,1568,1533],{"class":293},[279,1570,715],{"class":293},[279,1572,1388],{"class":695},[279,1574,721],{"class":293},[279,1576,330],{"class":293},[279,1578,715],{"class":293},[279,1580,539],{"class":311},[279,1582,721],{"class":293},[279,1584,317],{"class":293},[279,1586,715],{"class":293},[279,1588,1554],{"class":695},[279,1590,721],{"class":293},[279,1592,330],{"class":293},[279,1594,1561],{"class":293},[279,1596,1564],{"class":293},[279,1598,1599,1601,1603,1605,1607,1609,1611,1614,1616,1618,1620,1622,1624,1626,1629,1631,1634,1636,1638,1640,1643,1645],{"class":281,"line":441},[279,1600,1533],{"class":293},[279,1602,715],{"class":293},[279,1604,1388],{"class":695},[279,1606,721],{"class":293},[279,1608,330],{"class":293},[279,1610,715],{"class":293},[279,1612,1613],{"class":311},"apt-789",[279,1615,721],{"class":293},[279,1617,317],{"class":293},[279,1619,715],{"class":293},[279,1621,1554],{"class":695},[279,1623,721],{"class":293},[279,1625,330],{"class":293},[279,1627,1628],{"class":293}," false,",[279,1630,715],{"class":293},[279,1632,1633],{"class":695},"error",[279,1635,721],{"class":293},[279,1637,330],{"class":293},[279,1639,715],{"class":293},[279,1641,1642],{"class":311},"Invalid status",[279,1644,721],{"class":293},[279,1646,1647],{"class":293}," }\n",[279,1649,1650],{"class":281,"line":458},[279,1651,884],{"class":293},[279,1653,1654],{"class":281,"line":475},[279,1655,1428],{"class":293},[185,1657,1658],{},"Failed operations don't affect successful ones. Handle errors and retry failed operations separately.",[227,1660],{},[193,1662,150],{"id":1663},"error-handling",[237,1665,1667],{"id":1666},"rate-limiting","Rate Limiting",[185,1669,1670,1671,1674,1675,1678],{},"On ",[276,1672,1673],{},"429 Too Many Requests",", wait and retry. The ",[276,1676,1677],{},"Retry-After"," header indicates recommended wait time.",[237,1680,1682],{"id":1681},"temporary-errors","Temporary Errors",[185,1684,1685,1688],{},[276,1686,1687],{},"5xx"," errors are usually temporary. Retry the request after a few seconds.",[237,1690,1692],{"id":1691},"validation-errors","Validation Errors",[185,1694,1695,1698],{},[276,1696,1697],{},"400 Bad Request"," errors require fixing data. Check the error message and fix data before retrying.",[227,1700],{},[193,1702,1704],{"id":1703},"monitoring","Monitoring",[185,1706,1707],{},"We recommend tracking:",[1709,1710,1711,1724],"table",{},[1712,1713,1714],"thead",{},[1715,1716,1717,1721],"tr",{},[1718,1719,1720],"th",{},"Metric",[1718,1722,1723],{},"Description",[1725,1726,1727,1736,1744,1752],"tbody",{},[1715,1728,1729,1733],{},[1730,1731,1732],"td",{},"Updated listings count",[1730,1734,1735],{},"How many listings were successfully synced",[1715,1737,1738,1741],{},[1730,1739,1740],{},"Error count",[1730,1742,1743],{},"How many operations failed",[1715,1745,1746,1749],{},[1730,1747,1748],{},"Last sync time",[1730,1750,1751],{},"When data was last synced",[1715,1753,1754,1757],{},[1730,1755,1756],{},"Sync latency",[1730,1758,1759],{},"Time between CRM change and Rentix update",[1761,1762,1763],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":274,"searchDepth":323,"depth":323,"links":1765},[1766,1767,1771,1775,1776,1781,1786],{"id":195,"depth":323,"text":196},{"id":231,"depth":323,"text":232,"children":1768},[1769,1770],{"id":239,"depth":344,"text":240},{"id":262,"depth":344,"text":263},{"id":951,"depth":323,"text":952,"children":1772},[1773,1774],{"id":958,"depth":344,"text":959},{"id":1292,"depth":344,"text":1293},{"id":1301,"depth":323,"text":1302},{"id":1327,"depth":323,"text":1328,"children":1777},[1778,1779,1780],{"id":1331,"depth":344,"text":1332},{"id":1434,"depth":344,"text":1435},{"id":1441,"depth":344,"text":1442},{"id":1663,"depth":323,"text":150,"children":1782},[1783,1784,1785],{"id":1666,"depth":344,"text":1667},{"id":1681,"depth":344,"text":1682},{"id":1691,"depth":344,"text":1692},{"id":1703,"depth":323,"text":1704},"Regular data updates between CRM and Rentix","md",null,{},{"icon":51},{"title":176,"description":1787},"65OG-sXa8S137q-9oTLBpQ2kdq4Hiv8GptyHaCU3byU",[1795,1789],{"title":172,"path":173,"stem":174,"description":1796,"icon":121,"children":-1},"Upload all listings from CRM on first connection",1773784455368]