Anunțuri
Legare external ID
Conectarea anunțurilor existente cu înregistrările din CRM
Dacă anunțurile au fost create prin interfața web Rentix, leagă-le external ID pentru a le gestiona prin API.
Când este necesar
- Anunțurile au fost create manual prin rentix.md și acum trebuie sincronizate cu CRM
- Migrare de la alt sistem de integrare
- Restabilire legături după o eroare
Leagă external ID
Conectează anunțul Rentix cu înregistrarea din CRM-ul tău.
const response = await fetch('https://crm.rentix.md/api/v1/listings/42/link', {
method: 'POST',
headers: {
'Authorization': 'ApiKey YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ externalId: 'apt-001' })
});
const result = await response.json();
console.log(`Anunțul ${result.id} legat de ${result.externalId}`);
curl -X POST https://crm.rentix.md/api/v1/listings/42/link \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "externalId": "apt-001" }'
$ch = curl_init('https://crm.rentix.md/api/v1/listings/42/link');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['externalId' => 'apt-001']));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: ApiKey YOUR_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
Răspuns
{
"id": 42,
"externalId": "apt-001",
"linked": true
}
După legare poți folosi external ID pentru actualizări:
curl -X PUT https://crm.rentix.md/api/v1/listings \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "externalId": "apt-001", "announcementValue": 550 }'
Dezleagă external ID
Elimină legătura dintre anunț și external ID.
const response = await fetch('https://crm.rentix.md/api/v1/listings/42/link', {
method: 'DELETE',
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
curl -X DELETE https://crm.rentix.md/api/v1/listings/42/link \
-H "Authorization: ApiKey YOUR_API_KEY"
$ch = curl_init('https://crm.rentix.md/api/v1/listings/42/link');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
Răspuns
{
"id": 42,
"externalId": "apt-001",
"unlinked": true
}
Scenariu: legare inițială
La integrarea unei agenții existente trebuie să conectezi anunțurile Rentix cu înregistrările din CRM.
Node.js
// 1. Obține toate anunțurile din Rentix
const response = await fetch('https://crm.rentix.md/api/v1/listings?limit=100', {
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
const { items: rentixListings } = await response.json();
// 2. Pentru fiecare anunț găsește corespondența în CRM
for (const listing of rentixListings) {
// Sari peste cele deja legate
if (listing.externalId) continue;
// Găsește după adresă, preț sau alte criterii
const crmRecord = await findMatchInCrm(listing);
if (crmRecord) {
// 3. Leagă external ID
await fetch(`https://crm.rentix.md/api/v1/listings/${listing.id}/link`, {
method: 'POST',
headers: {
'Authorization': 'ApiKey YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ externalId: crmRecord.id })
});
console.log(`Legat: Rentix #${listing.id} → CRM ${crmRecord.id}`);
}
}
Erori frecvente
| Eroare | Cauză | Soluție |
|---|---|---|
External ID already linked | Acest external ID este deja folosit de alt anunț | Folosește un ID unic sau mai întâi dezleagă de la celălalt anunț |
Listing already has external ID | Anunțul are deja un external ID | Mai întâi dezleagă ID-ul curent |
Listing not found | Anunțul nu există sau aparține altei agenții | Verifică ID-ul |
Listing has no external ID | La dezlegare: anunțul nu are external ID | Nu e nevoie de nicio acțiune |