Satış API
Satış modülünün tüm işlemleri (31) ve veri modelleri (11): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Potansiyel müşteriler, onları takip eden aramalar ve size potansiyel müşteri gönderen iş ortakları.
Modül kodu crm · 31 işlem · 11 veri modeli · 27 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ı: crm (hepsi), crm:read (yalnız okuma) ya da crm:<yetenek>.
Kaynaklar
| Kaynak | Tablo | Listeleme ve okuma | POST | PATCH | DELETE |
|---|---|---|---|---|---|
affiliate_report_links | affiliate_report_link | /api/v1/affiliate_report_links | |||
affiliates | affiliate | /api/v1/affiliates | crm.save_affiliate | ||
call_results | call_result | /api/v1/call_results | |||
call_statuses | call_status | /api/v1/call_statuses | |||
call_templates | call_template | /api/v1/call_templates | |||
calls | call | /api/v1/calls | |||
lead_cancellations | lead_cancellation | /api/v1/lead_cancellations | |||
lead_sources | lead_source | /api/v1/lead_sources | |||
lead_stages | lead_stage | /api/v1/lead_stages | |||
leads | lead | /api/v1/leads | crm.capture_lead | crm.update_lead | crm.archive_lead |
lost_reasons | lost_reason | /api/v1/lost_reasons |
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 |
|---|---|---|
crm.amend_call | crm:write | Aramayı düzelt |
crm.archive_lead | crm:delete | Potansiyel müşteriyi arşivle |
crm.assign_lead | crm:write | Potansiyel müşteriyi ata |
crm.attribute_lead | crm:write | Potansiyel müşteriyi bir satış ortağına yaz |
crm.cancel_lead | crm:write | Potansiyel müşteriyi iptal et |
crm.capture_lead | crm:write | Potansiyel müşteri aç |
crm.create_call_template | crm:manage | Arama şablonunu kaydet |
crm.deactivate_affiliate | crm:manage | Satış ortağını kapat |
crm.deactivate_call_template | crm:manage | Arama şablonunu kapat |
crm.deactivate_lost_reason | crm:manage | Kayıp nedenini kapat |
crm.export_calls | crm:export | Aramaları Excel’e aktar |
crm.export_leads | crm:export | Potansiyel müşterileri dışa aktar |
crm.issue_affiliate_report_link | crm:manage | Satış ortağına rapor bağlantısı gönder |
crm.log_call | crm:write | Arama kaydet |
crm.merge_lost_reasons | crm:manage | Kayıp nedenlerini birleştir |
crm.raise_stale_leads | crm:write | Sessiz potansiyel müşterileri işaretle |
crm.restore_lead | crm:delete | Potansiyel müşteriyi geri yükle |
crm.revoke_affiliate_report_link | crm:manage | Satış ortağı rapor bağlantısını kapat |
crm.save_affiliate | crm:manage | Satış ortağı ekle veya düzenle |
crm.score_leads | crm:write | Kayıtları puanla |
crm.set_call_option_active | crm:manage | Arama seçeneğini aç veya kapat |
crm.set_call_result | crm:manage | Arama sonucu ekle veya değiştir |
crm.set_call_status | crm:manage | Arama durumu ekle veya değiştir |
crm.set_lead_source | crm:manage | Potansiyel müşteri kaynağı ekle veya yeniden adlandır |
crm.set_lead_source_active | crm:manage | Potansiyel müşteri kaynağını aç veya kapat |
crm.set_lead_stage | crm:write | Potansiyel müşteriyi taşı |
crm.set_lead_stage_active | crm:manage | Aşamayı aç veya kapat |
crm.set_lead_stage_definition | crm:manage | Aşama ekle veya değiştir |
crm.set_lost_reason | crm:manage | Kayıp nedeni ekle veya yeniden adlandır |
crm.start_trial | crm:write | Deneme başlat |
crm.update_lead | crm:write | Potansiyel müşteriyi düzenle |
crm.amend_call
Aramayı düzelt — Kaydedilmiş bir aramayı düzeltir ve otomatik kapatma kuralını yeniden çalıştırır.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/calls/{id}/actions/amend_call- Asıl adres:
POST /api/v1/actions/crm.amend_call
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Arama · kimliği: call |
statusId | uuid | Sonuç · kimliği: call_status | |
resultId | uuid | Sonuç · kimliği: call_result | |
notes | string | Notlar · en çok 8000 | |
durationMinutes | number | Süre (dakika) · en az 0 · en çok 1440 | |
isImportant | boolean | Önemli | |
followUpDate | date | Takip tarihi | |
followUpTime | string | Saat · en çok 8 | |
followUpNotes | string | Takip notları · en çok 4000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
call_not_found | Arama bulunmalı. |
lead_not_found | Aramanın potansiyel müşterisi bulunmalı. |
call_status_not_available | Arama durumu bulunmalı ve aktif olmalı. |
call_result_not_available | Arama sonucu bulunmalı ve aktif olmalı. |
follow_up_in_the_past | Taşınan takip geçmişe düşmemeli. |
Yayımladığı olaylar: crm.call_amended, crm.lead_stage_changed, crm.lead_lost
Neye yazar: call (update) — Corrects the call; lead (update) — Re-evaluates the auto-close rule
curl -X POST https://app.getera.io/api/v1/calls/CALL_ID/actions/amend_call \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"statusId":"CALL_STATUS_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.call_amended",
"crm.lead_stage_changed",
"crm.lead_lost"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.calls.amendCall("CALL_ID", {
statusId: "CALL_STATUS_ID"
})era calls amend_call CALL_ID \
--status-id "CALL_STATUS_ID"{
"name": "era__crm__amend_call",
"arguments": {
"id": "CALL_ID",
"statusId": "CALL_STATUS_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 call_not_found, lead_not_found, call_status_not_available, call_result_not_available, follow_up_in_the_past · 429 çok sık istek
crm.archive_lead
Potansiyel müşteriyi arşivle — Potansiyel müşteriyi veya aramalarını silmeden listelerden çıkarır.
Gereken izin crm:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/leads/{id}/actions/archive_lead- REST kısayolu:
DELETE /api/v1/leads/{id} - Asıl adres:
POST /api/v1/actions/crm.archive_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · 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ı. |
already_archived | Potansiyel müşteri hâlâ aktif olmalı. |
Yayımladığı olaylar: crm.lead_archived
Neye yazar: lead (update) — Stamps archived_at
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/archive_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_archived"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.archiveLead("LEAD_ID")era leads archive_lead LEAD_ID{
"name": "era__crm__archive_lead",
"arguments": {
"id": "LEAD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, already_archived · 429 çok sık istek
crm.assign_lead
Potansiyel müşteriyi ata — Potansiyel müşteriye bir sahip verir ya da havuza geri koyar.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/assign_lead- Asıl adres:
POST /api/v1/actions/crm.assign_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
userId | uuid | Sahip |
Ö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ı. |
not_a_member | Sahip bu çalışma alanının aktif bir üyesi olmalı. |
Yayımladığı olaylar: crm.lead_assigned
Neye yazar: lead (update) — Sets the owner
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/assign_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"userId":"USER_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_assigned"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.assignLead("LEAD_ID", {
userId: "USER_ID"
})era leads assign_lead LEAD_ID \
--user-id "USER_ID"{
"name": "era__crm__assign_lead",
"arguments": {
"id": "LEAD_ID",
"userId": "USER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, not_a_member · 429 çok sık istek
crm.attribute_lead
Potansiyel müşteriyi bir satış ortağına yaz — Potansiyel müşteriyi hangi satış ortağının gönderdiğini belirtir; var olan kaydı taşımak onay gerektirir.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/attribute_lead- Asıl adres:
POST /api/v1/actions/crm.attribute_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
affiliateId | uuid | Satış ortağı · kimliği: affiliate | |
replace | boolean | Mevcut krediyi taşı |
Ö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. |
affiliate_not_found | Satış ortağı bulunmalı ve açık olmalı. |
already_attributed | Kaynağı bir satış ortağından diğerine taşımak onaylanmalı. |
unchanged | Potansiyel müşteri zaten bu şekilde bir satış ortağına bağlı. |
Yayımladığı olaylar: crm.lead_attributed
Neye yazar: lead (update) — Sets who referred the lead
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/attribute_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"affiliateId":"AFFILIATE_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_attributed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.attributeLead("LEAD_ID", {
affiliateId: "AFFILIATE_ID"
})era leads attribute_lead LEAD_ID \
--affiliate-id "AFFILIATE_ID"{
"name": "era__crm__attribute_lead",
"arguments": {
"id": "LEAD_ID",
"affiliateId": "AFFILIATE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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, affiliate_not_found, already_attributed, unchanged · 429 çok sık istek
crm.cancel_lead
Potansiyel müşteriyi iptal et — Müşterinin satın aldıktan sonra vazgeçtiğini kaydeder; iadeyi finans yürütür.
Gereken izin crm:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/lead_cancellations/actions/cancel_lead- Asıl adres:
POST /api/v1/actions/crm.cancel_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Potansiyel müşteri · kimliği: lead |
reason | string | evet | Neden · en çok 2000 |
Ö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ı. |
already_cancelled | Bir potansiyel müşteri bir kez iptal edilir. |
Yayımladığı olaylar: crm.lead_cancelled
Neye yazar: lead_cancellation (insert) — Records the cancellation
curl -X POST https://app.getera.io/api/v1/lead_cancellations/actions/cancel_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"LEAD_ID","reason":"Reason"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_cancelled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadCancellations.cancelLead({
id: "LEAD_ID",
reason: "Reason"
})era lead_cancellations cancel_lead \
--id "LEAD_ID" \
--reason "Reason"{
"name": "era__crm__cancel_lead",
"arguments": {
"id": "LEAD_ID",
"reason": "Reason"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, already_cancelled · 429 çok sık istek
crm.capture_lead
Potansiyel müşteri aç — Zaten müşteri olarak tanınan biri için bir satış takibi başlatır.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/actions/capture_lead- REST kısayolu:
POST /api/v1/leads - Asıl adres:
POST /api/v1/actions/crm.capture_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
customerId | uuid | evet | Kişi · kimliği: customer |
sourceId | uuid | Kaynak · kimliği: lead_source | |
stageId | uuid | Aşama · kimliği: lead_stage | |
assignedUserId | uuid | Atanan | |
assignmentNote | string | Sahibi için not · en çok 2000 | |
message | string | Ne dediler · en çok 4000 | |
affiliateId | uuid | Yönlendiren · kimliği: affiliate | |
trialDurationDays | number | Deneme süresi (gün) · en az 0 · en çok 365 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
customer_not_found | Kişi zaten müşteri olarak kayıtlı olmalı. |
customer_archived | Arşivlenmiş bir kişi takip edilemez. |
no_open_stage | Çalışma alanının en az bir açık aşaması olmalı. |
stage_not_available | Aşama bulunmalı ve aktif olmalı. |
source_not_available | Kaynak bulunmalı ve aktif olmalı. |
affiliate_not_found | Yönlendiren satış ortağı bulunmalı. |
Yayımladığı olaylar: crm.lead_captured
Neye yazar: lead (insert) — Opens the lead
curl -X POST https://app.getera.io/api/v1/leads/actions/capture_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"customerId":"CUSTOMER_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_captured"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.create({
customerId: "CUSTOMER_ID"
})era leads create \
--customer-id "CUSTOMER_ID"{
"name": "era__crm__capture_lead",
"arguments": {
"customerId": "CUSTOMER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 customer_not_found, customer_archived, no_open_stage, stage_not_available, source_not_available, affiliate_not_found · 429 çok sık istek
crm.create_call_template
Arama şablonunu kaydet — Arama formunun hızlıca ekleyebileceği kısa bir not — yeni, ya da düzenlenip yeniden açılan bir tane.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/call_templates/{id}/actions/create_call_template- Asıl adres:
POST /api/v1/actions/crm.create_call_template
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Şablon · kimliği: call_template | |
name | string | evet | Ad · en çok 255 |
templateText | string | evet | Metin · en çok 8000 |
isActive | boolean | Kullanımda |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Düzenlenen şablon mevcut olmalı. |
Yayımladığı olaylar: crm.call_template_changed
Neye yazar: call_template (insert) — Adds the template; call_template (update) — Or rewrites an existing one, opening or closing it
curl -X POST https://app.getera.io/api/v1/call_templates/CALL_TEMPLATE_ID/actions/create_call_template \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name","templateText":"Text"}'{
"ok": true,
"result": "…",
"events": [
"crm.call_template_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.callTemplates.createCallTemplate("CALL_TEMPLATE_ID", {
name: "Name",
templateText: "Text"
})era call_templates create_call_template CALL_TEMPLATE_ID \
--name "Name" \
--template-text "Text"{
"name": "era__crm__create_call_template",
"arguments": {
"id": "CALL_TEMPLATE_ID",
"name": "Name",
"templateText": "Text"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
crm.deactivate_affiliate
Satış ortağını kapat — Yeni yönlendirmeleri durdurur; açık potansiyel müşteriler kaynak bilgisini korur.
Gereken izin crm:manage · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/affiliates/{id}/actions/deactivate_affiliate- Asıl adres:
POST /api/v1/actions/crm.deactivate_affiliate
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Satış ortağı · kimliği: affiliate |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Satış ortağı bulunmalı. |
already_archived | Satış ortağı hâlâ açık olmalı. |
Yayımladığı olaylar: crm.affiliate_deactivated
Neye yazar: affiliate (update) — Closes the affiliate
curl -X POST https://app.getera.io/api/v1/affiliates/AFFILIATE_ID/actions/deactivate_affiliate \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.affiliate_deactivated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.affiliates.deactivateAffiliate("AFFILIATE_ID")era affiliates deactivate_affiliate AFFILIATE_ID{
"name": "era__crm__deactivate_affiliate",
"arguments": {
"id": "AFFILIATE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_archived · 429 çok sık istek
crm.deactivate_call_template
Arama şablonunu kapat — Şablonu seçiciden çıkarır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/call_templates/{id}/actions/deactivate_call_template- Asıl adres:
POST /api/v1/actions/crm.deactivate_call_template
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Şablon · kimliği: call_template |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Şablon bulunmalı. |
already_inactive | Şablon hâlâ açık olmalı. |
Yayımladığı olaylar: crm.call_template_changed
Neye yazar: call_template (update) — Closes the template
curl -X POST https://app.getera.io/api/v1/call_templates/CALL_TEMPLATE_ID/actions/deactivate_call_template \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.call_template_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.callTemplates.deactivateCallTemplate("CALL_TEMPLATE_ID")era call_templates deactivate_call_template CALL_TEMPLATE_ID{
"name": "era__crm__deactivate_call_template",
"arguments": {
"id": "CALL_TEMPLATE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_inactive · 429 çok sık istek
crm.deactivate_lost_reason
Kayıp nedenini kapat — Nedeni, onu kullanan potansiyel müşterilere dokunmadan seçiciden çıkarır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lost_reasons/{id}/actions/deactivate_lost_reason- Asıl adres:
POST /api/v1/actions/crm.deactivate_lost_reason
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Neden · kimliği: lost_reason |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Neden bulunmalı. |
already_inactive | Neden hâlâ açık olmalı. |
Yayımladığı olaylar: crm.lost_reason_changed
Neye yazar: lost_reason (update) — Closes the reason
curl -X POST https://app.getera.io/api/v1/lost_reasons/LOST_REASON_ID/actions/deactivate_lost_reason \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.lost_reason_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.lostReasons.deactivateLostReason("LOST_REASON_ID")era lost_reasons deactivate_lost_reason LOST_REASON_ID{
"name": "era__crm__deactivate_lost_reason",
"arguments": {
"id": "LOST_REASON_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_inactive · 429 çok sık istek
crm.export_calls
Aramaları Excel’e aktar — Arama kaydını, her arayan için bir sayfa olacak şekilde tek bir çalışma kitabında verir.
Gereken izin crm:export · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/actions/crm.export_callsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
outcome | uuid | Sonuç · kimliği: call_status | |
caller | string | Arayan · en çok 64 | |
from | date | Arama başlangıcı | |
to | date | Arama bitişi |
Yayımladığı olaylar: crm.calls_exported
curl -X POST https://app.getera.io/api/v1/actions/crm.export_calls \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"outcome":"CALL_STATUS_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.calls_exported"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("crm.export_calls", {
outcome: "CALL_STATUS_ID"
})era crm export_calls \
--outcome "CALL_STATUS_ID"{
"name": "era__crm__export_calls",
"arguments": {
"outcome": "CALL_STATUS_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:export izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
crm.export_leads
Potansiyel müşterileri dışa aktar — Filtrelenmiş potansiyel müşteri listesi, satırlar hâlinde — potansiyel müşteriler ekranı bunu CSV’ye çevirir.
Gereken izin crm:export · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/actions/crm.export_leadsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
view | string (enum) | Görüntüle · İzin verilen değerler: all, trials, recurring, today, tomorrow, overdue, never, archived | |
q | string | Ara · en çok 200 | |
stageId | uuid | Aşama · kimliği: lead_stage | |
sourceId | uuid | Kaynak · kimliği: lead_source | |
ownerId | string | Sahip · en çok 64 | |
createdFrom | date | Eklenme başlangıcı | |
createdTo | date | Eklenme bitişi | |
leadIds | object / array | Yalnızca bu potansiyel müşteriler |
Yayımladığı olaylar: crm.leads_exported
curl -X POST https://app.getera.io/api/v1/actions/crm.export_leads \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"view":"all"}'{
"ok": true,
"result": "…",
"events": [
"crm.leads_exported"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("crm.export_leads", {
view: "all"
})era crm export_leads \
--view "all"{
"name": "era__crm__export_leads",
"arguments": {
"view": "all"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:export izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
crm.issue_affiliate_report_link
Satış ortağına rapor bağlantısı gönder — Satış ortağının giriş yapmadan potansiyel müşterilerini ve komisyonunu görebildiği bir bağlantı. Bir kez gösterilir.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/affiliate_report_links/actions/issue_affiliate_report_link- Asıl adres:
POST /api/v1/actions/crm.issue_affiliate_report_link
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
affiliateId | uuid | evet | Satış ortağı · kimliği: affiliate |
purpose | string (enum) | Bağlantının amacı · İzin verilen değerler: report, referral | |
expiresInDays | number | Açık kalma süresi (gün) · en az 1 · en çok 365 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
affiliate_not_found | Satış ortağı bulunmalı ve açık olmalı. |
Yayımladığı olaylar: crm.affiliate_report_link_issued
Neye yazar: affiliate_report_link (insert) — Stores the hash of a new token
curl -X POST https://app.getera.io/api/v1/affiliate_report_links/actions/issue_affiliate_report_link \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"affiliateId":"AFFILIATE_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.affiliate_report_link_issued"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.affiliateReportLinks.issueAffiliateReportLink({
affiliateId: "AFFILIATE_ID"
})era affiliate_report_links issue_affiliate_report_link \
--affiliate-id "AFFILIATE_ID"{
"name": "era__crm__issue_affiliate_report_link",
"arguments": {
"affiliateId": "AFFILIATE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 affiliate_not_found · 429 çok sık istek
crm.log_call
Arama kaydet — Bir aramayı kaydeder — art arda üçüncü başarısızlıksa potansiyel müşteriyi kapatır.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/log_call- Asıl adres:
POST /api/v1/actions/crm.log_call
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leadId | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
statusId | uuid | evet | Sonuç · kimliği: call_status |
resultId | uuid | evet | Sonuç · kimliği: call_result |
durationMinutes | number | Süre (dakika) · en az 0 · en çok 1440 | |
notes | string | Notlar · en çok 8000 | |
isImportant | boolean | Önemli | |
followUpDate | date | Takip tarihi | |
followUpTime | string | Saat · en çok 8 | |
followUpNotes | string | Takip notları · en çok 4000 |
Ö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üşteriye arama kaydedilmez. |
call_status_not_available | Arama durumu bulunmalı ve aktif olmalı. |
call_result_not_available | Arama sonucu bulunmalı ve aktif olmalı. |
follow_up_in_the_past | Takip geçmişe planlanmamalı. |
Yayımladığı olaylar: crm.call_logged, crm.lead_stage_changed, crm.lead_lost
Neye yazar: call (insert) — Records the call; lead (update) — Closes the lead on the Nth consecutive failure
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/log_call \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"statusId":"CALL_STATUS_ID","resultId":"CALL_RESULT_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.call_logged",
"crm.lead_stage_changed",
"crm.lead_lost"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.logCall("LEAD_ID", {
statusId: "CALL_STATUS_ID",
resultId: "CALL_RESULT_ID"
})era leads log_call LEAD_ID \
--status-id "CALL_STATUS_ID" \
--result-id "CALL_RESULT_ID"{
"name": "era__crm__log_call",
"arguments": {
"leadId": "LEAD_ID",
"statusId": "CALL_STATUS_ID",
"resultId": "CALL_RESULT_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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, call_status_not_available, call_result_not_available, follow_up_in_the_past · 429 çok sık istek
crm.merge_lost_reasons
Kayıp nedenlerini birleştir — Birkaç nedenle kaydedilmiş tüm potansiyel müşterileri tek nedene taşır, sonra diğerlerini kapatır.
Gereken izin crm:manage · siler ya da geri alınamaz
https://app.getera.io/api/v1/lost_reasons/{id}/actions/merge_lost_reasons- Asıl adres:
POST /api/v1/actions/crm.merge_lost_reasons
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
sourceIds | object / array | evet | Birleştirilecek nedenler |
targetId | uuid | evet | Doldurulduğu yer: adresteki {id} · Bunu tut · kimliği: lost_reason |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
invalid_sources | Hedef dışında en az bir neden seçilmeli. |
target_not_found | Her şeyin taşınacağı neden açık olmalı. |
Yayımladığı olaylar: crm.lost_reason_changed
Neye yazar: lead (update) — Re-files the leads onto the surviving reason; lost_reason (update) — Closes the reasons that were folded in
curl -X POST https://app.getera.io/api/v1/lost_reasons/LOST_REASON_ID/actions/merge_lost_reasons \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"sourceIds":{}}'{
"ok": true,
"result": "…",
"events": [
"crm.lost_reason_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.lostReasons.mergeLostReasons("LOST_REASON_ID", {
sourceIds: {}
})era lost_reasons merge_lost_reasons LOST_REASON_ID --data '{"sourceIds":{}}'{
"name": "era__crm__merge_lost_reasons",
"arguments": {
"targetId": "LOST_REASON_ID",
"sourceIds": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 invalid_sources, target_not_found · 429 çok sık istek
crm.raise_stale_leads
Sessiz potansiyel müşterileri işaretle — Günlük iş: süre boyunca hareket etmeyen her açık potansiyel müşteri bir kez bildirilir.
Gereken izin crm:write · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/leads/actions/raise_stale_leads- Asıl adres:
POST /api/v1/actions/crm.raise_stale_leads
Girdi
Bu işlem girdi almaz.
Yayımladığı olaylar: crm.lead_stale
Neye yazar: lead (update) — Records that the lead was flagged as quiet
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
crm.restore_lead
Potansiyel müşteriyi geri yükle — Arşivlenmiş bir potansiyel müşteriyi geri getirir.
Gereken izin crm:delete · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/restore_lead- Asıl adres:
POST /api/v1/actions/crm.restore_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · 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ı. |
not_archived | Potansiyel müşteri arşivlenmiş olmalı. |
Yayımladığı olaylar: crm.lead_restored
Neye yazar: lead (update) — Clears archived_at
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/restore_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_restored"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.restoreLead("LEAD_ID")era leads restore_lead LEAD_ID{
"name": "era__crm__restore_lead",
"arguments": {
"id": "LEAD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 lead_not_found, not_archived · 429 çok sık istek
crm.revoke_affiliate_report_link
Satış ortağı rapor bağlantısını kapat — Bağlantı hemen çalışmaz olur; satış ortağına yenisi gönderilebilir.
Gereken izin crm:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/affiliate_report_links/{id}/actions/revoke_affiliate_report_link- Asıl adres:
POST /api/v1/actions/crm.revoke_affiliate_report_link
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Bağlantı · kimliği: affiliate_report_link |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bağlantı bulunmalı. |
already_revoked | Bağlantı hâlâ açık olmalı. |
Yayımladığı olaylar: crm.affiliate_report_link_revoked
Neye yazar: affiliate_report_link (update) — Stamps it revoked
curl -X POST https://app.getera.io/api/v1/affiliate_report_links/AFFILIATE_REPORT_LINK_ID/actions/revoke_affiliate_report_link \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"crm.affiliate_report_link_revoked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.affiliateReportLinks.revokeAffiliateReportLink("AFFILIATE_REPORT_LINK_ID")era affiliate_report_links revoke_affiliate_report_link AFFILIATE_REPORT_LINK_ID{
"name": "era__crm__revoke_affiliate_report_link",
"arguments": {
"id": "AFFILIATE_REPORT_LINK_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_revoked · 429 çok sık istek
crm.save_affiliate
Satış ortağı ekle veya düzenle — Yönlendirme kanalı ve anlaşılan koşullar.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/affiliates/{id}/actions/save_affiliate- REST kısayolu:
PATCH /api/v1/affiliates/{id} - Asıl adres:
POST /api/v1/actions/crm.save_affiliate
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Satış ortağı · kimliği: affiliate | |
name | string | evet | Ad · en çok 200 |
email | E-posta | ||
phone | phone | Telefon | |
commissionType | string (enum) | evet | Komisyon türü · İzin verilen değerler: percentage, fixed |
commissionRate | number | Oran (%) · en az 0 · en çok 100 | |
fixedCommissionAmount | number (money) | Sabit tutar · en az 0 | |
commissionCurrency | string | Para birimi · en çok 3 | |
commissionAccrualMode | string (enum) | Kazanılan · İzin verilen değerler: proportional, on_sale, on_full_collection | |
notes | string | Notlar · en çok 4000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
no_contact | Satış ortağının bir e-posta adresi veya telefon numarası olmalı. |
rate_required | Yüzdelik anlaşma bir oran gerektirir. |
amount_required | Sabit anlaşma bir tutar gerektirir. |
Yayımladığı olaylar: crm.affiliate_created, crm.affiliate_updated
Neye yazar: affiliate (upsert) — Writes the affiliate
curl -X POST https://app.getera.io/api/v1/affiliates/AFFILIATE_ID/actions/save_affiliate \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name","commissionType":"percentage"}'{
"ok": true,
"result": "…",
"events": [
"crm.affiliate_created",
"crm.affiliate_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.affiliates.saveAffiliate("AFFILIATE_ID", {
name: "Name",
commissionType: "percentage"
})era affiliates save_affiliate AFFILIATE_ID \
--name "Name" \
--commission-type "percentage"{
"name": "era__crm__save_affiliate",
"arguments": {
"id": "AFFILIATE_ID",
"name": "Name",
"commissionType": "percentage"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 no_contact, rate_required, amount_required · 429 çok sık istek
crm.score_leads
Kayıtları puanla — Her açık kayda iletişim bilgisi, aşama, aramalar, tutar ve güncelliğe göre 0–100 arası bir puan ve gerekçelerini verir.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/actions/score_leads- Asıl adres:
POST /api/v1/actions/crm.score_leads
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leadIds | object / array | Yalnızca bu potansiyel müşteriler |
Yayımladığı olaylar: crm.leads_scored
Neye yazar: lead (update) — Writes score, score_reasons and scored_at
curl -X POST https://app.getera.io/api/v1/leads/actions/score_leads \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"leadIds":{}}'{
"ok": true,
"result": "…",
"events": [
"crm.leads_scored"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.scoreLeads({
leadIds: {}
})era leads score_leads --data '{"leadIds":{}}'{
"name": "era__crm__score_leads",
"arguments": {
"leadIds": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
crm.set_call_option_active
Arama seçeneğini aç veya kapat — Bir arama durumu veya sonucunu, onu kullanan aramalara dokunmadan seçiciden çıkarır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/call_statuses/actions/set_call_option_active- Asıl adres:
POST /api/v1/actions/crm.set_call_option_active
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
table | string (enum) | evet | Sözlük · İzin verilen değerler: call_status, call_result |
id | uuid | evet | Seçenek |
active | boolean | evet | Aç |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Seçenek bulunmalı. |
already_in_that_state | Seçenek zaten açık ya da zaten kapalı. |
Yayımladığı olaylar: crm.call_dictionary_changed
Neye yazar: call_status (update) — Opens or closes the outcome; call_result (update) — Opens or closes the result
curl -X POST https://app.getera.io/api/v1/call_statuses/actions/set_call_option_active \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"table":"call_status","id":"ID_ID","active":true}'{
"ok": true,
"result": "…",
"events": [
"crm.call_dictionary_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.callStatuses.setCallOptionActive({
table: "call_status",
id: "ID_ID",
active: true
})era call_statuses set_call_option_active \
--table "call_status" \
--id "ID_ID" \
--active true{
"name": "era__crm__set_call_option_active",
"arguments": {
"table": "call_status",
"id": "ID_ID",
"active": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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
crm.set_call_result
Arama sonucu ekle veya değiştir — Arama sonuçlarını ve her birinin potansiyel müşteri lehine mi aleyhine mi sayıldığını yönetir.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/call_results/{id}/actions/set_call_result- Asıl adres:
POST /api/v1/actions/crm.set_call_result
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Sonuç · kimliği: call_result | |
key | string | evet | Anahtar · en çok 50 |
name | string | evet | Ad · en çok 255 |
behavior | string (enum) | evet | Sayıldığı tür · İzin verilen değerler: positive, neutral, negative |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
key_taken | İki arama sonucu aynı anahtarı paylaşamaz. |
Yayımladığı olaylar: crm.call_dictionary_changed
Neye yazar: call_result (upsert) — Writes the result
curl -X POST https://app.getera.io/api/v1/call_results/CALL_RESULT_ID/actions/set_call_result \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"key":"Key","name":"Name","behavior":"positive"}'{
"ok": true,
"result": "…",
"events": [
"crm.call_dictionary_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.callResults.setCallResult("CALL_RESULT_ID", {
key: "Key",
name: "Name",
behavior: "positive"
})era call_results set_call_result CALL_RESULT_ID \
--key "Key" \
--name "Name" \
--behavior "positive"{
"name": "era__crm__set_call_result",
"arguments": {
"id": "CALL_RESULT_ID",
"key": "Key",
"name": "Name",
"behavior": "positive"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 key_taken · 429 çok sık istek
crm.set_call_status
Arama durumu ekle veya değiştir — Arama durumlarını ve her birinin birine ulaşmış sayılıp sayılmadığını yönetir.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/call_statuses/{id}/actions/set_call_status- Asıl adres:
POST /api/v1/actions/crm.set_call_status
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Sonuç · kimliği: call_status | |
key | string | evet | Anahtar · en çok 50 |
name | string | evet | Ad · en çok 255 |
behavior | string (enum) | evet | Sayıldığı tür · İzin verilen değerler: reached, not_reached |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
key_taken | İki arama durumu aynı anahtarı paylaşamaz. |
Yayımladığı olaylar: crm.call_dictionary_changed
Neye yazar: call_status (upsert) — Writes the outcome
curl -X POST https://app.getera.io/api/v1/call_statuses/CALL_STATUSE_ID/actions/set_call_status \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"key":"Key","name":"Name","behavior":"reached"}'{
"ok": true,
"result": "…",
"events": [
"crm.call_dictionary_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.callStatuses.setCallStatus("CALL_STATUSE_ID", {
key: "Key",
name: "Name",
behavior: "reached"
})era call_statuses set_call_status CALL_STATUSE_ID \
--key "Key" \
--name "Name" \
--behavior "reached"{
"name": "era__crm__set_call_status",
"arguments": {
"id": "CALL_STATUSE_ID",
"key": "Key",
"name": "Name",
"behavior": "reached"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 key_taken · 429 çok sık istek
crm.set_lead_source
Potansiyel müşteri kaynağı ekle veya yeniden adlandır — Potansiyel müşterilerin nereden geldiğini yönetir — 25 farklı yazım yerine kanal başına tek satır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_sources/{id}/actions/set_lead_source- Asıl adres:
POST /api/v1/actions/crm.set_lead_source
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Kaynak · kimliği: lead_source | |
key | string | evet | Anahtar · en çok 50 |
name | string | evet | Ad · en çok 255 |
displayOrder | number | Sipariş · en az 0 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
key_taken | İki kaynak aynı anahtarı paylaşamaz. |
Yayımladığı olaylar: crm.lead_source_changed
Neye yazar: lead_source (upsert) — Writes the source
curl -X POST https://app.getera.io/api/v1/lead_sources/LEAD_SOURCE_ID/actions/set_lead_source \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"key":"Key","name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_source_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadSources.setLeadSource("LEAD_SOURCE_ID", {
key: "Key",
name: "Name"
})era lead_sources set_lead_source LEAD_SOURCE_ID \
--key "Key" \
--name "Name"{
"name": "era__crm__set_lead_source",
"arguments": {
"id": "LEAD_SOURCE_ID",
"key": "Key",
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 key_taken · 429 çok sık istek
crm.set_lead_source_active
Potansiyel müşteri kaynağını aç veya kapat — Bir kanalı, oradan gelen potansiyel müşterilere dokunmadan seçicilerden çıkarır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_sources/{id}/actions/set_lead_source_active- Asıl adres:
POST /api/v1/actions/crm.set_lead_source_active
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Kaynak · kimliği: lead_source |
active | boolean | evet | Aç |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Kaynak bulunmalı. |
already_in_that_state | Kaynak zaten açık ya da zaten kapalı. |
Yayımladığı olaylar: crm.lead_source_changed
Neye yazar: lead_source (update) — Opens or closes the source
curl -X POST https://app.getera.io/api/v1/lead_sources/LEAD_SOURCE_ID/actions/set_lead_source_active \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"active":true}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_source_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadSources.setLeadSourceActive("LEAD_SOURCE_ID", {
active: true
})era lead_sources set_lead_source_active LEAD_SOURCE_ID \
--active true{
"name": "era__crm__set_lead_source_active",
"arguments": {
"id": "LEAD_SOURCE_ID",
"active": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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
crm.set_lead_stage
Potansiyel müşteriyi taşı — Potansiyel müşteriyi başka bir aşamaya taşır; aşama son aşamaysa kapatır.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/set_lead_stage- Asıl adres:
POST /api/v1/actions/crm.set_lead_stage
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
stageId | uuid | evet | Aşama · kimliği: lead_stage |
lostReasonId | uuid | Neden · kimliği: lost_reason |
Ö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 taşınmadan önce geri yüklenir. |
stage_not_available | Aşama bulunmalı ve aktif olmalı. |
lost_reason_required | Bir potansiyel müşteriyi kaybedildi olarak kapatmak bir neden gerektirir. |
lost_reason_not_available | Neden bulunmalı ve aktif olmalı. |
Yayımladığı olaylar: crm.lead_stage_changed, crm.lead_won, crm.lead_lost
Neye yazar: lead (update) — Moves the lead and stamps its closure
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/set_lead_stage \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"stageId":"LEAD_STAGE_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_stage_changed",
"crm.lead_won",
"crm.lead_lost"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.setLeadStage("LEAD_ID", {
stageId: "LEAD_STAGE_ID"
})era leads set_lead_stage LEAD_ID \
--stage-id "LEAD_STAGE_ID"{
"name": "era__crm__set_lead_stage",
"arguments": {
"id": "LEAD_ID",
"stageId": "LEAD_STAGE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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, stage_not_available, lost_reason_required, lost_reason_not_available · 429 çok sık istek
crm.set_lead_stage_active
Aşamayı aç veya kapat — Aşamayı seçicilerden çıkarır; o aşamadaki potansiyel müşteriler orada kalır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_stages/{id}/actions/set_lead_stage_active- Asıl adres:
POST /api/v1/actions/crm.set_lead_stage_active
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Aşama · kimliği: lead_stage |
active | boolean | evet | Aç |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Aşama bulunmalı. |
already_in_that_state | Aşama zaten açık ya da zaten kapalı. |
last_terminal_stage | Bir çalışma alanında en az bir kazanıldı ve bir kaybedildi aşaması kalır. |
last_open_stage | Bir çalışma alanında yeni potansiyel müşteriler için en az bir açık aşama kalır. |
Yayımladığı olaylar: crm.lead_stage_definition_changed
Neye yazar: lead_stage (update) — Opens or closes the stage
curl -X POST https://app.getera.io/api/v1/lead_stages/LEAD_STAGE_ID/actions/set_lead_stage_active \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"active":true}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_stage_definition_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadStages.setLeadStageActive("LEAD_STAGE_ID", {
active: true
})era lead_stages set_lead_stage_active LEAD_STAGE_ID \
--active true{
"name": "era__crm__set_lead_stage_active",
"arguments": {
"id": "LEAD_STAGE_ID",
"active": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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, last_terminal_stage, last_open_stage · 429 çok sık istek
crm.set_lead_stage_definition
Aşama ekle veya değiştir — Satış hattını yönetir — en az bir kazanıldı ve bir kaybedildi aşaması bırakır.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lead_stages/{id}/actions/set_lead_stage_definition- Asıl adres:
POST /api/v1/actions/crm.set_lead_stage_definition
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Aşama · kimliği: lead_stage | |
key | string | evet | Anahtar · en çok 50 |
name | string | evet | Ad · en çok 255 |
behavior | string (enum) | evet | Anlamı · İzin verilen değerler: open, won, lost, suspended |
displayOrder | number | Sipariş · en az 0 | |
winProbability | number | Kazanma şansı (%) · en az 0 · en çok 100 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Aşama bulunmalı. |
key_taken | İki aşama aynı anahtarı paylaşamaz. |
last_terminal_stage | Bir çalışma alanında en az bir kazanıldı ve bir kaybedildi aşaması kalır. |
Yayımladığı olaylar: crm.lead_stage_definition_changed
Neye yazar: lead_stage (upsert) — Writes the stage
curl -X POST https://app.getera.io/api/v1/lead_stages/LEAD_STAGE_ID/actions/set_lead_stage_definition \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"key":"Key","name":"Name","behavior":"open"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_stage_definition_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leadStages.setLeadStageDefinition("LEAD_STAGE_ID", {
key: "Key",
name: "Name",
behavior: "open"
})era lead_stages set_lead_stage_definition LEAD_STAGE_ID \
--key "Key" \
--name "Name" \
--behavior "open"{
"name": "era__crm__set_lead_stage_definition",
"arguments": {
"id": "LEAD_STAGE_ID",
"key": "Key",
"name": "Name",
"behavior": "open"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, key_taken, last_terminal_stage · 429 çok sık istek
crm.set_lost_reason
Kayıp nedeni ekle veya yeniden adlandır — Bir potansiyel müşterinin neden kaybedildiğine dair çalışma alanının kendi sözlüğünü yönetir.
Gereken izin crm:manage · veriyi değiştirir
https://app.getera.io/api/v1/lost_reasons/{id}/actions/set_lost_reason- Asıl adres:
POST /api/v1/actions/crm.set_lost_reason
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | Doldurulduğu yer: adresteki {id} · Neden · kimliği: lost_reason | |
name | string | evet | Ad · en çok 255 |
displayOrder | number | Sipariş · en az 0 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
name_taken | İki neden aynı adı paylaşamaz. |
Yayımladığı olaylar: crm.lost_reason_changed
Neye yazar: lost_reason (upsert) — Writes the reason
curl -X POST https://app.getera.io/api/v1/lost_reasons/LOST_REASON_ID/actions/set_lost_reason \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"crm.lost_reason_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.lostReasons.setLostReason("LOST_REASON_ID", {
name: "Name"
})era lost_reasons set_lost_reason LOST_REASON_ID \
--name "Name"{
"name": "era__crm__set_lost_reason",
"arguments": {
"id": "LOST_REASON_ID",
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 name_taken · 429 çok sık istek
crm.start_trial
Deneme başlat — Denemeyi başlatır ve başladığı günü kaydeder.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/start_trial- Asıl adres:
POST /api/v1/actions/crm.start_trial
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
days | number | Süre (gün) · en az 1 · en çok 365 |
Ö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 deneme başlatamaz. |
no_trial_length | Denemenin gün olarak bir süresi olmalı. |
Yayımladığı olaylar: crm.lead_trial_started
Neye yazar: lead (update) — Records the trial and its start date
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/start_trial \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"days":1}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_trial_started"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.startTrial("LEAD_ID", {
days: 1
})era leads start_trial LEAD_ID \
--days 1{
"name": "era__crm__start_trial",
"arguments": {
"id": "LEAD_ID",
"days": 1
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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_trial_length · 429 çok sık istek
crm.update_lead
Potansiyel müşteriyi düzenle — Takibi değiştirir — kaynağını, sahibini, notunu veya deneme süresini.
Gereken izin crm:write · veriyi değiştirir
https://app.getera.io/api/v1/leads/{id}/actions/update_lead- REST kısayolu:
PATCH /api/v1/leads/{id} - Asıl adres:
POST /api/v1/actions/crm.update_lead
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Potansiyel müşteri · kimliği: lead |
sourceId | uuid | Kaynak · kimliği: lead_source | |
assignedUserId | uuid | Atanan | |
assignmentNote | string | Sahibi için not · en çok 2000 | |
message | string | Ne dediler · en çok 4000 | |
affiliateId | uuid | Yönlendiren · kimliği: affiliate | |
trialDurationDays | number | Deneme süresi (gün) · en az 0 · en çok 365 | |
expectedValueAmount | number (money) | Fırsat değeri | |
expectedValueCurrency | string | Fırsat para birimi · en çok 3 | |
expectedCloseDate | date | Beklenen kapanış |
Ö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 düzenlenmeden önce geri yüklenir. |
invalid_currency | Fırsat değerinin para birimi üç harfli bir kod olmalı. |
source_not_available | Kaynak bulunmalı ve aktif olmalı. |
affiliate_not_found | Yönlendiren satış ortağı bulunmalı. |
not_a_member | Sahip bu çalışma alanının aktif bir üyesi olmalı. |
Yayımladığı olaylar: crm.lead_updated
Neye yazar: lead (update) — Updates the lead
curl -X POST https://app.getera.io/api/v1/leads/LEAD_ID/actions/update_lead \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"sourceId":"LEAD_SOURCE_ID"}'{
"ok": true,
"result": "…",
"events": [
"crm.lead_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.leads.updateLead("LEAD_ID", {
sourceId: "LEAD_SOURCE_ID"
})era leads update_lead LEAD_ID \
--source-id "LEAD_SOURCE_ID"{
"name": "era__crm__update_lead",
"arguments": {
"id": "LEAD_ID",
"sourceId": "LEAD_SOURCE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde crm: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, invalid_currency, source_not_available, affiliate_not_found, not_a_member · 429 çok sık istek
Veri modelleri
AffiliateReportLink
Tablo affiliate_report_link · Kaynak affiliate_report_links
GET /api/v1/affiliate_report_linksGET /api/v1/affiliate_report_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 | ||
affiliate_id | string (uuid) · uuid | affiliate | ||
expires_at | string (date-time) · timestamptz | evet | ||
revoked_at | string (date-time) · timestamptz | evet | ||
last_used_at | string (date-time) · timestamptz | evet | ||
created_by_user_id | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
purpose | string · text | report, referral |
Birincil anahtar: id
Affiliate
Tablo affiliate · Kaynak affiliates
GET /api/v1/affiliatesGET /api/v1/affiliates/{id}PATCH /api/v1/affiliates/{id}→crm.save_affiliate
| 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 | |||
email | string · text | evet | ||
phone | string · text | evet | ||
phone_country_code | integer · int2 | evet | ||
status | string · text | active, inactive | ||
notes | string · text | evet | ||
commission_type | string · text | percentage, fixed | ||
commission_rate | string (decimal) · numeric | evet | ||
fixed_commission_amount | string (int64) · int8 | evet | ||
commission_currency | string · bpchar | en çok 3 | ||
commission_accrual_mode | string · text | proportional, on_sale, on_full_collection | ||
archived_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((commission_rate >= (0)::numeric) AND (commission_rate <= (100)::numeric)))CHECK ((fixed_commission_amount >= 0))CHECK ((((commission_type = 'percentage'::text) AND (commission_rate IS NOT NULL)) OR ((commission_type = 'fixed'::text) AND (fixed_commission_amount IS NOT NULL))))
CallResult
Tablo call_result · Kaynak call_results
GET /api/v1/call_resultsGET /api/v1/call_results/{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 | ||
key | string · text | |||
name | string · text | |||
behavior | string · text | positive, neutral, negative | ||
display_order | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
CallStatus
Tablo call_status · Kaynak call_statuses
GET /api/v1/call_statusesGET /api/v1/call_statuses/{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 | ||
key | string · text | |||
name | string · text | |||
behavior | string · text | reached, not_reached | ||
display_order | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
CallTemplate
Tablo call_template · Kaynak call_templates
GET /api/v1/call_templatesGET /api/v1/call_templates/{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 | |||
template_text | string · text | |||
is_active | boolean · bool | |||
created_by_user_id | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Call
Tablo call · Kaynak calls
GET /api/v1/callsGET /api/v1/calls/{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 | ||
called_by_user_id | string (uuid) · uuid | evet | app_user | |
assigned_user_id | string (uuid) · uuid | evet | app_user | |
duration_minutes | integer · int4 | evet | ||
status_id | string (uuid) · uuid | call_status | ||
result_id | string (uuid) · uuid | call_result | ||
notes | string · text | evet | ||
is_important | boolean · bool | |||
follow_up_date | string (date) · date | evet | ||
follow_up_time | string (time) · time | evet | ||
follow_up_notes | string · text | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK ((duration_minutes >= 0))
LeadCancellation
Tablo lead_cancellation · Kaynak lead_cancellations
GET /api/v1/lead_cancellationsGET /api/v1/lead_cancellations/{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 | ||
reason | string · text | |||
cancelled_by_user_id | string (uuid) · uuid | evet | app_user | |
cancellation_type | string · text | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
LeadSource
Tablo lead_source · Kaynak lead_sources
GET /api/v1/lead_sourcesGET /api/v1/lead_sources/{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 | ||
key | string · text | |||
name | string · text | |||
display_order | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
LeadStage
Tablo lead_stage · Kaynak lead_stages
GET /api/v1/lead_stagesGET /api/v1/lead_stages/{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 | ||
key | string · text | |||
name | string · text | |||
behavior | string · text | open, won, lost, suspended | ||
display_order | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
win_probability | integer · int2 | evet |
Birincil anahtar: id
Denetimler:
CHECK (((win_probability IS NULL) OR ((win_probability >= 0) AND (win_probability <= 100))))
Lead
Tablo lead · Kaynak leads
GET /api/v1/leadsGET /api/v1/leads/{id}POST /api/v1/leads→crm.capture_leadPATCH /api/v1/leads/{id}→crm.update_leadDELETE /api/v1/leads/{id}→crm.archive_lead
| 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 | ||
customer_id | string (uuid) · uuid | customer | ||
source_id | string (uuid) · uuid | evet | lead_source | |
stage_id | string (uuid) · uuid | lead_stage | ||
lost_reason_id | string (uuid) · uuid | evet | lost_reason | |
affiliate_id | string (uuid) · uuid | evet | affiliate | |
assigned_user_id | string (uuid) · uuid | evet | app_user | |
assignment_note | string · text | evet | ||
message | string · text | evet | ||
trial_duration_days | integer · int4 | |||
trial_start_date | string (date) · date | evet | ||
archived_at | string (date-time) · timestamptz | evet | ||
closed_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
expected_value_amount | string (int64) · int8 | evet | ||
expected_value_currency | string · text | evet | ||
expected_close_date | string (date) · date | evet | ||
stale_notice_at | string (date-time) · timestamptz | evet | ||
score | integer · int2 | evet | ||
scored_at | string (date-time) · timestamptz | evet | ||
score_reasons | object · jsonb |
Birincil anahtar: id
Denetimler:
CHECK ((((expected_value_amount IS NULL) OR (expected_value_amount >= 0)) AND ((expected_value_currency IS NULL) OR (expected_value_currency ~ '^[A-Z]{3}$'::text)) AND ((expected_value_amount IS NULL) OR (expected_value_currency IS NOT NULL))))CHECK (((score IS NULL) OR ((score >= 0) AND (score <= 100))))CHECK ((jsonb_typeof(score_reasons) = 'array'::text))CHECK ((trial_duration_days >= 0))
LostReason
Tablo lost_reason · Kaynak lost_reasons
GET /api/v1/lost_reasonsGET /api/v1/lost_reasons/{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 | |||
display_order | integer · int4 | |||
is_active | boolean · bool | |||
created_at | string (date-time) · timestamptz | |||
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 |
|---|---|---|
crm.affiliate_created | Bir iş ortağı eklendi. | id |
crm.affiliate_deactivated | Bir iş ortağı kapatıldı. | id, openLeads |
crm.affiliate_report_link_issued | Bir iş ortağına rapor ya da yönlendirme bağlantısı gönderildi. | id, affiliateId, purpose |
crm.affiliate_report_link_revoked | Bir iş ortağı rapor bağlantısı kapatıldı. | id, affiliateId |
crm.affiliate_updated | Bir iş ortağı düzenlendi. | id |
crm.call_amended | Kaydedilmiş bir arama düzeltildi. | id, leadId |
crm.call_dictionary_changed | Arama sözlüğü değişti. | id, table |
crm.call_logged | Bir arama kaydedildi. | id, leadId |
crm.call_template_changed | Bir arama şablonu değişti. | id |
crm.calls_exported | Arama kaydı, arayan başına bir sayfa olarak indirildi. | count |
crm.lead_archived | Bir potansiyel müşteri arşivlendi. | id |
crm.lead_assigned | Bir potansiyel müşterinin sahibi değişti. | id, userId |
crm.lead_attributed | Bir potansiyel müşteri bir satış ortağıyla ilişkilendirildi ya da ilişkili satış ortağı değişti. | id, affiliateId, previousAffiliateId |
crm.lead_cancelled | Bir müşteri satın aldıktan sonra vazgeçti. | id, customerId |
crm.lead_captured | Bir potansiyel müşteri açıldı. | id, customerId, affiliateId |
crm.lead_lost | Bir potansiyel müşteri elle ya da otomatik kapatma kuralıyla kaybedildi. | id, customerId, lostReasonId, automatic |
crm.lead_restored | Arşivlenmiş bir potansiyel müşteri geri geldi. | id |
crm.lead_source_changed | Kaynak sözlüğü değişti. | id |
crm.lead_stage_changed | Bir potansiyel müşteri satış hattında ilerledi. | id, stageId, behavior, stageKey, fromStageId, fromStageKey, customerId |
crm.lead_stage_definition_changed | Satış hattı değişti. | id |
crm.lead_stale | Açık bir potansiyel müşteri bir süredir hareket etmedi. | id, customerId, customerName, ownerUserId, stage, quietDays, lastMovedAt |
crm.lead_trial_started | Bir deneme başladı. | id, days |
crm.lead_updated | Bir potansiyel müşteri düzenlendi. | id |
crm.lead_won | Bir potansiyel müşteri kazanıldı — finans sözleşmeyi açar. | id, customerId |
crm.leads_exported | Biri potansiyel müşteri listesini dosya olarak dışa aktardı. | count, view, truncated |
crm.leads_scored | Açık kayıtlar puanlandı. | count |
crm.lost_reason_changed | Kayıp nedeni sözlüğü değişti. | id |