CertRent Open API
Հաստատված վարձակալներ՝ ըստ պահանջի։
Գրանցեք վարձակալին, խնդրեք նրա համաձայնությունը և կարդացեք բանկով հաստատված եկամուտը, վարձավճարի պատմությունը, ինքնությունը և սեփականությամբ ստուգված տանտիրական երաշխավորությունները՝ մեկ REST API-ի միջոցով։ Համաձայնության ստացականները և ըստ շուկայի ստուգման կանոնները գալիս են յուրաքանչյուր պատասխանի հետ։
Sandbox բանալիները տրվում են ակնթարթորեն և ընդմիշտ անվճար են։ Live բանալիները պահանջում են կարճ վերանայում։
Հաստատվեք մեկ անգամ, դիմեք ամենուր
Ձեր գրանցած վարձակալները ստեղծում են մեկ պրոֆիլ, որը մնում է իրենց։ Եթե նրանք արդեն հաստատված են եղել այլ գույքի համար, ձեր հայտը կարող է հաստատվել վայրկյանների ընթացքում՝ առանց կրկնակի ստուգման, առանց կրկնակի վճարման։
Վարձակալի թույլտվությամբ՝ ի սկզբանե
Ոչ մի հաստատված տվյալ ընթեռնելի չէ առանց վարձակալի կողմից տրված սահմանափակ scope-ով և ժամկետային համաձայնության։ Յուրաքանչյուր թույլտվություն ստեղծում է համաձայնության ստացական, որը երկու կողմերն էլ կարող են ստուգել։
Համապատասխանությունը՝ ներկառուցված
Հարցրեք ցանկացած endpoint-ի, թե որ կանոններն են գործում Նյու Յորքում կամ Լոս Անջելեսում՝ վճարի սահմանաչափեր, եկամտի աղբյուրի պաշտպանություն, fair-chance ժամկետներ, բացասական որոշման պարտականություններ, և ներկայացրեք ձեր բացասական որոշումները API-ի միջոցով։
Արագ մեկնարկ
Զրոյից մինչև ստուգման որոշում
Sandbox-ում վարձակալ գրանցելը ակնթարթորեն ստեղծում է ֆիկտիվ, ամբողջովին հաստատված վարձակալ — որպեսզի կարողանաք ստեղծել ամբողջ ինտեգրումը՝ նախքան մեկ իրական դիմորդի հպվելը դրան։
1. Գրանցեք վարձակալին (անվճար)
POST /renters
curl -X POST https://certrent.com/api/v1/renters \
-H "Authorization: Bearer ck_test_…" \
-H "Content-Type: application/json" \
-d '{
"email": "applicant@example.com",
"name": "Dana Ruiz",
"property": "120 W 45th St",
"unit": "7B",
"market": "nyc",
"external_id": "your-crm-id-4471"
}'
$res = Http::withToken('ck_test_…')
->post('https://certrent.com/api/v1/renters', [
'email' => 'applicant@example.com',
'name' => 'Dana Ruiz',
'property' => '120 W 45th St',
'unit' => '7B',
'market' => 'nyc',
'external_id' => 'your-crm-id-4471',
])->json();
$renterId = $res['id'];
const res = await fetch('https://certrent.com/api/v1/renters', {
method: 'POST',
headers: {
Authorization: 'Bearer ck_test_…',
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'applicant@example.com',
name: 'Dana Ruiz',
property: '120 W 45th St',
unit: '7B',
market: 'nyc',
external_id: 'your-crm-id-4471',
}),
});
const renter = await res.json();
import requests
renter = requests.post(
'https://certrent.com/api/v1/renters',
headers={'Authorization': 'Bearer ck_test_…'},
json={
'email': 'applicant@example.com',
'name': 'Dana Ruiz',
'property': '120 W 45th St',
'unit': '7B',
'market': 'nyc',
'external_id': 'your-crm-id-4471',
},
).json()
2. Խնդրեք վարձակալի համաձայնությունը
POST /renters/{id}/access-requests
curl -X POST https://certrent.com/api/v1/renters/42/access-requests \
-H "Authorization: Bearer ck_test_…" \
-H "Content-Type: application/json" \
-d '{
"scopes": ["read:identity","read:income","read:rent_history","read:decision"],
"purpose": "Tenant screening for 120 W 45th St, Unit 7B",
"expires_in_days": 30
}'
Http::withToken('ck_test_…')->post("https://certrent.com/api/v1/renters/{$renterId}/access-requests", [
'scopes' => ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
'purpose' => 'Tenant screening for 120 W 45th St, Unit 7B',
'expires_in_days' => 30,
]);
await fetch(`https://certrent.com/api/v1/renters/${renter.id}/access-requests`, {
method: 'POST',
headers: { Authorization: 'Bearer ck_test_…', 'Content-Type': 'application/json' },
body: JSON.stringify({
scopes: ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
purpose: 'Tenant screening for 120 W 45th St, Unit 7B',
expires_in_days: 30,
}),
});
requests.post(
f"https://certrent.com/api/v1/renters/{renter['id']}/access-requests",
headers={'Authorization': 'Bearer ck_test_…'},
json={
'scopes': ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
'purpose': 'Tenant screening for 120 W 45th St, Unit 7B',
'expires_in_days': 30,
},
)
3. Կարդացեք որոշումը
GET /renters/{id}/decision?rent=3200
curl "https://certrent.com/api/v1/renters/42/decision?rent=3200" \
-H "Authorization: Bearer ck_test_…"
$decision = Http::withToken('ck_test_…')
->get("https://certrent.com/api/v1/renters/{$renterId}/decision", ['rent' => 3200])
->json();
const decision = await (await fetch(
`https://certrent.com/api/v1/renters/${renter.id}/decision?rent=3200`,
{ headers: { Authorization: 'Bearer ck_test_…' } },
)).json();
decision = requests.get(
f"https://certrent.com/api/v1/renters/{renter['id']}/decision",
headers={'Authorization': 'Bearer ck_test_…'},
params={'rent': 3200},
).json()
Որոշման օբյեկտը
Հաստատված փաստեր և վճարունակության հարաբերակցություն — երբեք միավոր, երբեք հաստատում/մերժում։ Որոշումը մնում է ձերը։
{
"profile_id": 318,
"completeness": 100,
"rentready": true,
"verified": { "identity": true, "income": true, "rent_history": true, "references": true },
"income": { "monthly_income_verified": 9400.0, "method": "bank_connected" },
"affordability": {
"status": "meets_standard",
"rent": 3200.0,
"income_to_rent_ratio": 2.94,
"rent_to_income_percent": 34.0,
"max_affordable_rent": 3133.33
},
"rent_history": { "months_observed": 12, "on_time_payments": 12, "observed_rent": 2820.0 },
"references": { "total": 2, "ownership_verified": 2 },
"confidence": { "level": "high", "income_method": "bank_connected" },
"signals": [
{ "code": "income_bank_connected", "severity": "info",
"message": "Income was read directly from the renter's bank …" }
],
"consent": { "grant_id": 77, "expires_at": "2026-08-25T14:02:11+00:00" }
}
Տեղեկատու
Endpoint-եր
Բազային URL https://certrent.com/api/v1 · Bearer նույնականացում
| Մեթոդ | Ուղի | Բանալու scope | Ինչ է անում |
|---|---|---|---|
| GET | /me | — | Ձեր client-ը, բանալիների scope-երը, գնացուցակը և ընթացիկ օգտագործումը։ |
| GET | /usage?period=YYYY-MM | — | Հաշվառվող օգտագործումը հաշվարկային ժամանակահատվածի համար։ |
| GET | /compliance?market=nyc|la | — | Ստուգման կանոններ և պարտավորություններ, որոնք գործում են այդ շուկայում։ |
| POST | /renters | renters:write | Գրանցեք վարձակալին և հրավիրեք նրան։ Անվճար։ |
| GET | /renters | renters:read | Ցուցակել ձեր գրանցած վարձակալներին։ Զտել ըստ կարգավիճակի, էլ. փոստի կամ external_id-ի։ |
| GET | /renters/{id} | renters:read | Մեկ վարձակալի կապը և դրա կարգավիճակը։ |
| POST | /renters/{id}/reinvite | renters:write | Կրկին ուղարկել հրավերի նամակը։ |
| DELETE | /renters/{id} | renters:write | Հեռացրեք ձեր կապը։ Երբեք չի ջնջում վարձակալի հաշիվը։ |
| POST | /renters/{id}/access-requests | renters:write | Խնդրեք վարձակալին համաձայնվել կոնկրետ scope-երին։ |
| GET | /access-grants/{id} | renters:read | Համաձայնության կարգավիճակը, scope-երը և ժամկետի ավարտը։ |
| GET | /access-grants/{id}/receipt | renters:read | Մեքենայաընթեռնելի համաձայնության ստացականը։ |
| DELETE | /access-grants/{id} | renters:write | Ազատեք այն մուտքը, որն այլևս ձեզ պետք չէ։ |
| GET | /renters/{id}/decision | renters:read | Ստուգման որոշման օբյեկտը։ Live-ում հաշվառվում է։ |
| GET | /renters/{id}/profile | renters:read | Ամբողջական համաձայնեցված պրոֆիլը։ Live-ում հաշվառվում է։ |
| GET/POST | /webhooks | renters:read / webhooks:write | Ցուցակել կամ ստեղծել endpoint։ |
| PATCH/DELETE | /webhooks/{id} | webhooks:write | Թարմացնել կամ հեռացնել endpoint։ |
| POST | /webhooks/{id}/test | webhooks:write | Ուղարկել ստորագրված փորձնական իրադարձություն։ |
| GET | /webhooks/{id}/deliveries | renters:read | Ստուգեք, թե ինչ ենք ուղարկել և ինչպես է անցել։ |
| POST | /adverse-actions | renters:write | Գրանցեք մերժման կամ պայմանական առաջարկի արձանագրությունը։ |
| GET | /adverse-actions | renters:read | Ձեր բացասական որոշումների պատմությունը։ |
Ընթերցման և գրելու մուտքերը հաստատվում են առանձին։ Միայն renters:read ունեցող բանալին կարող է ստուգել, բայց երբեք չի կարող գրանցել։
Համաձայնության scope-եր
Սրանք տրամադրում է վարձակալը, ոչ թե մենք։ Թույլտվությունից դուրս ամեն ինչ պարզապես բացակայում է պատասխանից։
- read:identity
- Հաստատված ինքնություն (անուն, հաստատման կարգավիճակ — երբեք ձեր ID փաստաթուղթը)
- read:income
- Բանկով հաստատված եկամուտ և վճարունակություն
- read:rent_history
- Վարձավճարի վճարումների պատմություն
- read:references
- Սեփականությամբ հաստատված տանտիրական երաշխավորություններ
- read:decision
- Ընդհանուր RentReady որոշման ամփոփումը
Webhook-ներ
Յուրաքանչյուր առաքում կրում է CertRent-Signature վերնագիր՝ t={timestamp},v1={HMAC-SHA256 of "{timestamp}.{raw body}" using your endpoint secret}։ Ստուգեք այն՝ նախքան payload-ին վստահելը։ Ձախողումները կրկնվում են աստիճանական հետաձգմամբ՝ մինչև վեց փորձ։
- renter.invited
- Վարձակալը գրանցվեց և հրավիրվեց հաստատվելու։
- renter.registered
- Հրավիրված վարձակալը ստեղծեց իր CertRent հաշիվը։
- renter.verified
- Վարձակալն ավարտեց հաստատման փուլերից մեկը (կամ բոլորը)։
- renter.income_updated
- Վարձակալի բանկին միացված եկամուտը փոխվեց։
- grant.created
- Վարձակալը համաձայնեց կիսվել իր պրոֆիլով ձեզ հետ։
- grant.revoked
- Վարձակալը չեղարկեց նախկինում տրված համաձայնությունը։
- rent_report.updated
- Վարձակալի վարձավճարի հաղորդման կարգավիճակը փոխվեց։
Երկու միջավայր
ck_test_…— Sandbox։ Տրվում է ակնթարթորեն, ընդմիշտ անվճար։ Գրանցումը ստեղծում է ֆիկտիվ հաստատված վարձակալ, և համաձայնությունը տրվում է ինքնաշխատ, որպեսզի կարողանաք ստեղծել ամբողջ հոսքը սկզբից մինչև վերջ։ Երբեք իրական անձ չէ։ck_live_…— Live։ Տրվում է ձեր ընկերության և օգտագործման նպատակի կարճ վերանայումից հետո։ Իրական վարձակալներ, իրական համաձայնություն, հաշվառվող։
Sandbox-ի և live-ի տվյալները երբեք չեն խառնվում. բանալին տեսնում է միայն իր սեփական միջավայրը։
Գնացուցակ
Դուք վճարում եք մեկ բանի համար՝ հաստատված պրոֆիլ կարդալու։
Խոսեք մեզ հետ
- ✓ Վարձակալների գրանցումն ու հրավերը՝ անվճար։
- ✓ Համաձայնության հայտեր, webhook-ներ, համապատասխանության որոնումներ՝ անվճար։
- ✓ Գանձվում է մեկ անգամ՝ յուրաքանչյուր վարձակալի համար յուրաքանչյուր օրացուցային ամսում, անկախ նրանից, թե քանի անգամ եք կարդում նրանց։
- ✓ Sandbox — ընդմիշտ անվճար։
Հաճախ տրվող հարցեր
Կա՞ API վարձակալի ստուգման համար։
Այո։ CertRent Open API-ն թույլ է տալիս գույքի կառավարման ընկերությանը ստուգել դիմորդներին անմիջապես իր սեփական վարձակալության ծրագրից՝ ստանդարտ REST ինտերֆեյսի և գաղտնի բանալու միջոցով։ Sandbox բանալիները տրվում են ակնթարթորեն և անվճար են, իսկ live մուտքը տրվում է կարճ վերանայումից հետո։
Ինչպե՞ս հաստատել դիմորդի եկամուտը API-ի միջոցով։
CertRent-ը եկամուտը կարդում է վարձակալի սեփական բանկային կապից, այլ ոչ թե վերբեռնված փաստաթղթերից, ուստի կեղծելու աշխատավարձի թերթիկ պարզապես չկա։ Ձեր ինտեգրումը գրանցում է դիմորդին, դիմորդը տալիս է իր համաձայնությունը, և դուք ստանում եք հաստատված ամսական եկամուտը՝ միասին այն մատչելիության հարաբերակցության հետ, որը հաշվարկվում է ձեր ստուգվող վարձավճարի նկատմամբ։
Արդյո՞ք վարձակալը պետք է համաձայնի, նախքան ես կարողանամ տեսնել նրա պրոֆիլը։
Այո, միշտ։ Հաստատված ոչ մի տվյալ հասանելի չէ, քանի դեռ վարձակալը չի հաստատել ձեր կոնկրետ հայտը՝ ընտրելով, թե որ կատեգորիաները կարող եք տեսնել և որքան ժամանակով։ Յուրաքանչյուր հաստատում ստեղծում է համաձայնության ստացական, և վարձակալը կարող է ցանկացած պահի չեղարկել մուտքը։
Որքա՞ն արժե վարձակալի ստուգման API-ն։
Վարձակալների գրանցումը, նրանց հրավիրելը, webhook-ներ ստանալը և համապատասխանության կանոնների ստուգումն ամբողջովին անվճար են։ Վճար գանձվում է միայն այն ժամանակ, երբ դուք կարդում եք հաստատված պրոֆիլ՝ մեկ դիմորդի համար օրացուցային ամսվա մեջ մեկ անգամ։ Sandbox-ն ընդմիշտ անվճար է։
Կարո՞ղ է մեկ հաստատված պրոֆիլը կրկին օգտագործվել տարբեր տանտերերի մոտ։
Հենց սա է ցանցի իմաստը։ Վարձակալը ստեղծում է մեկ հաստատված պրոֆիլ և կրկին օգտագործում այն ամեն դիմումի համար, ուստի այլ գույքի համար արդեն հաստատված դիմորդը կարող է վայրկյանների ընթացքում հաստատել ձեր հայտը՝ կրկին ստուգվելու և կրկին վճարելու փոխարեն։
Պատրա՞ստ եք ստեղծել
Գրանցվեք, պատճենեք ձեր sandbox բանալին և կատարեք ձեր առաջին կանչը մի քանի րոպեում։