Belge talepleri API
Belge talepleri modülünün tüm işlemleri (7) ve veri modelleri (3): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Bir potansiyel müşteriden bağlantıyla belge isteyin — giriş yapması gerekmez.
Modül kodu lead_documents · 7 işlem · 3 veri modeli · 6 olay. Bir anahtar ya da token, arkasındaki kişinin bu modülde yapabildiğinden fazlasını asla yapamaz; satır düzeyindeki güvenlik uygulamadakiyle birebir aynıdır. Yetki kapsamları: lead_documents (hepsi), lead_documents:read (yalnız okuma) ya da lead_documents:<yetenek>.
Kaynaklar
| Kaynak | Tablo | Listeleme ve okuma | POST | PATCH | DELETE |
|---|---|---|---|---|---|
lead_document_links | lead_document_link | /api/v1/lead_document_links | |||
lead_document_requests | lead_document_request | /api/v1/lead_document_requests | |||
lead_documents | lead_document | /api/v1/lead_documents |
Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.
İşlemler
| İşlem | Gereken izin | Ne yapar |
|---|---|---|
lead_documents.issue_link | lead_documents:write | Potansiyel müşteriden belge iste |
lead_documents.renew_link | lead_documents:write | Belge bağlantısının süresini uzat |
lead_documents.review | lead_documents:write | Belgeyi kabul et veya reddet |
lead_documents.revoke_link | lead_documents:write | Potansiyel müşterinin belge bağlantısını kapat |
lead_documents.set_request | lead_documents:manage | Belge talebi ekle veya değiştir |
lead_documents.set_request_active | lead_documents:manage | Belge talebini aç veya kapat |
lead_documents.submit | lead_documents:write | Potansiyel müşterinin gönderdiği belgeyi kaydet |
lead_documents.issue_link
Potansiyel müşteriden belge iste — Tek bir potansiyel müşteri için bir dosya yükleme bağlantısı açar ve istenen belgelere bağlar.
Gereken izin lead_documents:write · veriyi değiştirir
https://app.getera.io/api/v1/lead_document_links/actions/issue_link- Asıl adres:
POST /api/v1/actions/lead_documents.issue_link
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leadId | uuid | evet | Potansiyel müşteri · kimliği: lead |
fileUploadLinkId | uuid | Yükleme bağlantısı · Boş bırakılırsa bağlantı burada açılır. · kimliği: file_upload_link | |
requestIds | object / array | Belgeler | |
expiresInDays | number | Açık kalma süresi (gün) · en az 1 · en çok 90 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
lead_not_found | Potansiyel müşteri bulunmalı. |
lead_archived | Arşivlenmiş bir potansiyel müşteriden hiçbir şey istenmez. |
no_requests | En az bir açık belge talebi bulunmalı veya seçilmeli. |
request_not_available | Seçilen her talep açık olmalı. |
upload_link_not_open | Dosya yükleme bağlantısı bulunmalı ve açık olmalı. |
upload_link_taken | Bir yükleme bağlantısı tek bir potansiyel müşteriye hizmet eder. |
Yayımladığı olaylar: lead_documents.link_issued
Neye yazar: lead_document_link (insert) — Ties the link to the lead and retires the previous one
curl -X POST https://app.getera.io/api/v1/lead_document_links/actions/issue_link \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"leadId":"LEAD_ID"}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.link_issued"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocumentLinks.issueLink({
leadId: "LEAD_ID"
})era lead_document_links issue_link \
--lead-id "LEAD_ID"{
"name": "era__lead_documents__issue_link",
"arguments": {
"leadId": "LEAD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, lead_archived, no_requests, request_not_available, upload_link_not_open, upload_link_taken · 429 çok sık istek
lead_documents.renew_link
Belge bağlantısının süresini uzat — Potansiyel müşteriye gönderilen bağlantının süresini, elindeki adresi koruyarak uzatır.
Gereken izin lead_documents:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/lead_documents.renew_linkGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leadId | uuid | evet | Potansiyel müşteri · kimliği: lead |
days | number | evet | Açık kalma süresi (bugünden itibaren gün) · en az 1 · en çok 90 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
lead_not_found | Potansiyel müşteri bulunmalı. |
lead_archived | Arşivlenmiş bir potansiyel müşteri önce geri yüklenir. |
no_open_link | Potansiyel müşterinin açık bir belge bağlantısı olmalı. |
Yayımladığı olaylar: lead_documents.link_renewed
curl -X POST https://app.getera.io/api/v1/actions/lead_documents.renew_link \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"leadId":"LEAD_ID","days":1}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.link_renewed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("lead_documents.renew_link", {
leadId: "LEAD_ID",
days: 1
})era run lead_documents.renew_link \
--lead-id "LEAD_ID" \
--days 1{
"name": "era__lead_documents__renew_link",
"arguments": {
"leadId": "LEAD_ID",
"days": 1
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, lead_archived, no_open_link · 429 çok sık istek
lead_documents.review
Belgeyi kabul et veya reddet — Gönderilen hakkında bir karar kaydeder; ret, kişiye nedenini bildirir.
Gereken izin lead_documents:write · veriyi değiştirir
https://app.getera.io/api/v1/lead_documents/{id}/actions/review- Asıl adres:
POST /api/v1/actions/lead_documents.review
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Belge · kimliği: lead_document |
decision | string (enum) | evet | Karar · İzin verilen değerler: accepted, rejected |
reason | string | Neden · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Belge bulunmalı. |
already_in_that_state | Karar bir şeyi değiştirmeli. |
reason_required | Ret, kişiye gösterilen nedeni taşır. |
Yayımladığı olaylar: lead_documents.reviewed
Neye yazar: lead_document (update) — Records the decision
curl -X POST https://app.getera.io/api/v1/lead_documents/LEAD_DOCUMENT_ID/actions/review \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"decision":"accepted"}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.reviewed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocuments.review("LEAD_DOCUMENT_ID", {
decision: "accepted"
})era lead_documents review LEAD_DOCUMENT_ID \
--decision "accepted"{
"name": "era__lead_documents__review",
"arguments": {
"id": "LEAD_DOCUMENT_ID",
"decision": "accepted"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_in_that_state, reason_required · 429 çok sık istek
lead_documents.revoke_link
Potansiyel müşterinin belge bağlantısını kapat — Potansiyel müşteriye gönderilen bağlantıyı çalışmaz hâle getirir. Gönderdikleri kalır.
Gereken izin lead_documents:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/lead_document_links/actions/revoke_link- Asıl adres:
POST /api/v1/actions/lead_documents.revoke_link
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leadId | uuid | evet | Potansiyel müşteri · kimliği: lead |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
lead_not_found | Potansiyel müşteri bulunmalı. |
lead_archived | Arşivlenmiş bir potansiyel müşteri önce geri yüklenir. |
no_open_link | Potansiyel müşterinin açık bir belge bağlantısı olmalı. |
Yayımladığı olaylar: lead_documents.link_revoked
Neye yazar: lead_document_link (update) — Retires the join; files closes the link
curl -X POST https://app.getera.io/api/v1/lead_document_links/actions/revoke_link \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"leadId":"LEAD_ID"}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.link_revoked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocumentLinks.revokeLink({
leadId: "LEAD_ID"
})era lead_document_links revoke_link \
--lead-id "LEAD_ID"{
"name": "era__lead_documents__revoke_link",
"arguments": {
"leadId": "LEAD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, lead_archived, no_open_link · 429 çok sık istek
lead_documents.set_request
Belge talebi ekle veya değiştir — İşletmenin bir potansiyel müşteriden ne istediği — pasaport, diploma — ve hangi dosyaları kabul ettiği.
Gereken izin lead_documents:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_document_requests/{id}/actions/set_request- Asıl adres:
POST /api/v1/actions/lead_documents.set_request
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Talep · kimliği: lead_document_request | |
name | string | evet | Ad · en çok 255 |
description | string | Talimatlar · en çok 2000 | |
isRequired | boolean | Zorunlu | |
sortOrder | number | Sipariş · en az 0 | |
allowedTypes | object / array | Kabul edilen dosyalar | |
maxFileSizeMb | number | En büyük dosya (MB) · en az 1 · en çok 50 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Değiştirilen talep bulunmalı. |
name_taken | İki talep aynı adı paylaşamaz. |
Yayımladığı olaylar: lead_documents.request_changed
Neye yazar: lead_document_request (upsert) — Writes the request
curl -X POST https://app.getera.io/api/v1/lead_document_requests/LEAD_DOCUMENT_REQUEST_ID/actions/set_request \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.request_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocumentRequests.setRequest("LEAD_DOCUMENT_REQUEST_ID", {
name: "Name"
})era lead_document_requests set_request LEAD_DOCUMENT_REQUEST_ID \
--name "Name"{
"name": "era__lead_documents__set_request",
"arguments": {
"id": "LEAD_DOCUMENT_REQUEST_ID",
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, name_taken · 429 çok sık istek
lead_documents.set_request_active
Belge talebini aç veya kapat — Gönderilmiş olanlara dokunmadan bir belgeyi istemeyi bırakır.
Gereken izin lead_documents:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_document_requests/{id}/actions/set_request_active- Asıl adres:
POST /api/v1/actions/lead_documents.set_request_active
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Talep · kimliği: lead_document_request |
active | boolean | evet | Aç |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Talep bulunmalı. |
already_in_that_state | Zaten açık ya da zaten kapalı. |
Yayımladığı olaylar: lead_documents.request_changed
Neye yazar: lead_document_request (update) — Opens or closes it
curl -X POST https://app.getera.io/api/v1/lead_document_requests/LEAD_DOCUMENT_REQUEST_ID/actions/set_request_active \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"active":true}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.request_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocumentRequests.setRequestActive("LEAD_DOCUMENT_REQUEST_ID", {
active: true
})era lead_document_requests set_request_active LEAD_DOCUMENT_REQUEST_ID \
--active true{
"name": "era__lead_documents__set_request_active",
"arguments": {
"id": "LEAD_DOCUMENT_REQUEST_ID",
"active": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_in_that_state · 429 çok sık istek
lead_documents.submit
Potansiyel müşterinin gönderdiği belgeyi kaydet — Yüklenen dosyayı, gönderildiği belgeye karşılık potansiyel müşteriye ekler.
Gereken izin lead_documents:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/lead_documents/actions/submit- Asıl adres:
POST /api/v1/actions/lead_documents.submit
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
token | string | evet | Bağlantı anahtarı · en çok 128 |
requestId | uuid | evet | Belge · kimliği: lead_document_request |
fileId | uuid | evet | Dosya · kimliği: file |
uploaderName | string | Gönderen · en çok 200 | |
uploaderNote | string | Not · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
link_unknown | Bağlantı bulunmalı ve açık olmalı. |
link_expired | Bağlantının süresi dolmamış olmalı. |
request_not_on_link | Bağlantı bu belgeyi istiyor olmalı. |
file_not_found | Dosya bu bağlantıdan gelmiş ve henüz kaydedilmemiş olmalı. |
Yayımladığı olaylar: lead_documents.submitted
Neye yazar: lead_document (insert) — Files the document; lead_document_link (update) — Stamps when the link was last used
curl -X POST https://app.getera.io/api/v1/lead_documents/actions/submit \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"token":"Link token","requestId":"LEAD_DOCUMENT_REQUEST_ID","fileId":"FILE_ID"}'{
"ok": true,
"result": "…",
"events": [
"lead_documents.submitted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadDocuments.submit({
token: "Link token",
requestId: "LEAD_DOCUMENT_REQUEST_ID",
fileId: "FILE_ID"
})era lead_documents submit \
--token "Link token" \
--request-id "LEAD_DOCUMENT_REQUEST_ID" \
--file-id "FILE_ID"{
"name": "era__lead_documents__submit",
"arguments": {
"token": "Link token",
"requestId": "LEAD_DOCUMENT_REQUEST_ID",
"fileId": "FILE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde lead_documents:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 link_unknown, link_expired, request_not_on_link, file_not_found · 429 çok sık istek
Veri modelleri
LeadDocumentLink
Tablo lead_document_link · Kaynak lead_document_links
GET /api/v1/lead_document_linksGET /api/v1/lead_document_links/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
lead_id | string (uuid) · uuid | lead | ||
is_active | boolean · bool | |||
expires_at | string (date-time) · timestamptz | evet | ||
created_by_user_id | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
request_ids | string[] · uuid[] | |||
last_used_at | string (date-time) · timestamptz | evet | ||
updated_at | string (date-time) · timestamptz | |||
file_upload_link_id | string (uuid) · uuid | evet | file_upload_link |
Birincil anahtar: id
LeadDocumentRequest
Tablo lead_document_request · Kaynak lead_document_requests
GET /api/v1/lead_document_requestsGET /api/v1/lead_document_requests/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
name | string · text | |||
description | string · text | evet | ||
is_required | boolean · bool | |||
sort_order | integer · int4 | |||
allowed_types | string[] · text[] | |||
max_file_size_mb | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK ((max_file_size_mb > 0))
LeadDocument
Tablo lead_document · Kaynak lead_documents
GET /api/v1/lead_documentsGET /api/v1/lead_documents/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
lead_id | string (uuid) · uuid | lead | ||
document_request_id | string (uuid) · uuid | evet | lead_document_request | |
link_id | string (uuid) · uuid | evet | lead_document_link | |
file_id | string (uuid) · uuid | file | ||
uploader_name | string · text | evet | ||
uploader_note | string · text | evet | ||
uploaded_at | string (date-time) · timestamptz | |||
status | string · text | received, accepted, rejected | ||
reviewed_by_user_id | string (uuid) · uuid | evet | app_user | |
reviewed_at | string (date-time) · timestamptz | evet | ||
rejection_reason | string · text | evet | ||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Olaylar
İş akışları ve webhook'lar bu olaylara tepki verir.
| Olay | Ne olur | Taşıdığı alanlar |
|---|---|---|
lead_documents.link_issued | Bir potansiyel müşteriden yükleme bağlantısıyla belge istendi. | id, leadId, fileUploadLinkId, requestIds |
lead_documents.link_renewed | Bir potansiyel müşterinin belge bağlantısının süresi uzatıldı. | id, leadId, expiresAt |
lead_documents.link_revoked | Bir potansiyel müşterinin belge bağlantısı kapatıldı. | id, leadId |
lead_documents.request_changed | İşletmenin istediği belgeler değişti. | id |
lead_documents.reviewed | Gönderilen bir belge kabul ya da reddedildi. | id, leadId, decision |
lead_documents.submitted | Bir potansiyel müşteri bir belge gönderdi. | id, leadId, requestId, fileId, person, document, fileName, ownerUserId |