Utilizatori
Obținere utilizatori
Căutarea agenților și legarea external ID
Obține lista agenților agenției tale, găsește un agent anume sau leagă external ID pentru sincronizarea ulterioară.
Obține lista agenților
Returnează toți agenții agenției tale.
const response = await fetch('https://crm.rentix.md/api/v1/users', {
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
const { items } = await response.json();
// Găsește agenții fără external ID (pentru legare inițială)
const unlinked = items.filter(user => !user.externalId);
console.log(`Agenți fără external ID: ${unlinked.length}`);
curl https://crm.rentix.md/api/v1/users \
-H "Authorization: ApiKey YOUR_API_KEY"
$ch = curl_init('https://crm.rentix.md/api/v1/users');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
foreach ($data['items'] as $user) {
echo $user['name'] . ' - ' . ($user['externalId'] ?? 'fără external ID') . "\n";
}
Răspuns
{
"items": [
{
"id": 1,
"externalId": "agent-001",
"name": "Ion Popescu",
"phone": "+373 22 123 456",
"avatar": {
"id": 123,
"contentType": "image/jpeg",
"variants": [
{ "url": "https://storage.../avatar_128.webp", "variantSize": "128" }
]
},
"description": "Agent experimentat în imobiliare rezidențiale...",
"instagram": "https://instagram.com/ion.popescu",
"youtube": null,
"tiktok": null,
"settings": {
"posting_type": "agent",
"contact_phone": true,
"contact_whatsapp": true,
"contact_viber": false,
"contact_telegram": true
}
}
]
}
Găsește agentul după ID
Folosește ID-ul intern Rentix.
const response = await fetch('https://crm.rentix.md/api/v1/users/1', {
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
const user = await response.json();
curl https://crm.rentix.md/api/v1/users/1 \
-H "Authorization: ApiKey YOUR_API_KEY"
$ch = curl_init('https://crm.rentix.md/api/v1/users/1');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$user = json_decode($response, true);
Găsește agentul după external ID
Folosește ID-ul din CRM-ul tău.
const response = await fetch('https://crm.rentix.md/api/v1/users/external/agent-001', {
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
const user = await response.json();
curl https://crm.rentix.md/api/v1/users/external/agent-001 \
-H "Authorization: ApiKey YOUR_API_KEY"
$ch = curl_init('https://crm.rentix.md/api/v1/users/external/agent-001');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: ApiKey YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$user = json_decode($response, true);
Leagă external ID
Conectează agentul Rentix cu înregistrarea din CRM-ul tău. După legare poți folosi external ID pentru actualizarea profilului și legarea la anunțuri.
const response = await fetch('https://crm.rentix.md/api/v1/users/1/link', {
method: 'POST',
headers: {
'Authorization': 'ApiKey YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ externalId: 'agent-001' })
});
const result = await response.json();
console.log(`Agentul ${result.id} legat de external ID: ${result.externalId}`);
curl -X POST https://crm.rentix.md/api/v1/users/1/link \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "externalId": "agent-001" }'
$ch = curl_init('https://crm.rentix.md/api/v1/users/1/link');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['externalId' => 'agent-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": 1,
"externalId": "agent-001",
"linked": true
}
Dezleagă external ID
Elimină legătura dintre agentul Rentix și external ID.
const response = await fetch('https://crm.rentix.md/api/v1/users/1/link', {
method: 'DELETE',
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
curl -X DELETE https://crm.rentix.md/api/v1/users/1/link \
-H "Authorization: ApiKey YOUR_API_KEY"
$ch = curl_init('https://crm.rentix.md/api/v1/users/1/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": 1,
"externalId": "agent-001",
"unlinked": true
}
Scenariu: legare inițială
La integrarea CRM trebuie să conectezi agenții Rentix existenți cu înregistrările din sistemul tău.
Node.js
// 1. Obține toți agenții din Rentix
const response = await fetch('https://crm.rentix.md/api/v1/users', {
headers: { 'Authorization': 'ApiKey YOUR_API_KEY' }
});
const { items: rentixAgents } = await response.json();
// 2. Pentru fiecare agent găsește corespondența în CRM (de exemplu, după nume sau telefon)
for (const agent of rentixAgents) {
const crmRecord = await findInCrm(agent.phone); // funcția ta de căutare
if (crmRecord && !agent.externalId) {
// 3. Leagă external ID
await fetch(`https://crm.rentix.md/api/v1/users/${agent.id}/link`, {
method: 'POST',
headers: {
'Authorization': 'ApiKey YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ externalId: crmRecord.id })
});
console.log(`Legat: ${agent.name} → ${crmRecord.id}`);
}
}
Erori frecvente
| Eroare | Cauză | Soluție |
|---|---|---|
User not found | Agentul nu există sau nu e în agenția ta | Verifică ID-ul agentului |
External ID already linked | Acest external ID e deja la alt agent | Folosește un ID unic pentru fiecare agent |
User already has external ID | Agentul are deja un external ID | Mai întâi dezleagă ID-ul curent |