Hızlı başlangıç

API anahtarından ilk okumaya ve ilk yazmaya beş dakikada — curl, SDK ya da komut satırıyla.

Era'daki her modül — satış, mağaza, randevular, finans, gelen kutusu ve diğerleri — tek bir API'dir. Uygulamada gördüğün her kayıt okuyabileceğin bir kaynak, her düğme de çağırabileceğin bir işlemdir. Bu sayfa seni sıfırdan çalışan bir isteğe götürür.

API anahtarı oluştur

Era'da Ayarlar → Gelişmiş → API anahtarları (/settings/api-keys) sayfasını aç ve Yeni anahtar'a tıkla. Anahtara onu kullanacak şeyin adını ver ("Muhasebe eşitlemesi"), hangi modüllere ulaşacağını seç ve anahtarı kopyala — era_ ile başlar ve yalnız bir kez gösterilir.

Anahtar senin adına çalışır: o işletmede senin yapabildiğinden fazlasını asla yapamaz; rolün daralırsa anahtar da daralır. Anahtarı sunucuda tut; tarayıcıya ya da Git deposuna koyma.

Terminal
export ERA_API_KEY="era_…"

Kim olduğuna bak

curl https://app.getera.io/api/v1/me \
  -H "Authorization: Bearer $ERA_API_KEY"
Yanıt
{
  "user": { "id": "…", "name": "Ada Lovelace" },
  "workspace": { "id": "…", "organization_id": "…" },
  "credential": { "kind": "key", "id": "…", "client_id": null, "scopes": ["*"] },
  "modules": { "crm": ["read", "write"], "retail": ["read", "write", "manage"] }
}

modules, bu anahtarın şu an tam olarak neler yapabildiğini gösterir: her modül ve orada sahip olduğu yetenekler.

Bir şey oku

Her kaynak aynı biçimde listelenir. Süzgeçler düz sorgu parametreleridir:

curl "https://app.getera.io/api/v1/orders?status=unfulfilled&limit=20" \
  -H "Authorization: Bearer $ERA_API_KEY"
Yanıt
{ "data": [ { "id": "…", "number": 1042, "status": "unfulfilled", "total_amount": 125000, "…": "…" } ], "next_cursor": "…" }

Sonraki sayfa için next_cursor değerini ?cursor= olarak geri gönder. GET /api/v1, anahtarının okuyabildiği tüm kaynakları listeler.

Bir şey yap

Yazma işlemleri birer işlemdir (action). Uygulamadaki düğmeyle aynı denetimlerden geçer — izin, girdi doğrulama, ön koşullar — ve etkinlik akışında aynı izi bırakır.

curl -X POST https://app.getera.io/api/v1/customers \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"name": "Ada Lovelace", "email": "[email protected]"}'
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const customer = await era.customers.create({ name: "Ada Lovelace", email: "[email protected]" })
const { id } = customer.result as { id: string }
await era.leads.captureLead({ customerId: id, message: "Yıllık planla ilgileniyor" })
era customers create --name "Ada Lovelace" --email [email protected]
era crm capture_lead --customer-id CUSTOMER_ID --message "Yıllık planla ilgileniyor"
Yanıt
{ "ok": true, "result": { "id": "…" }, "events": ["customers.created"] }

events, işlemin yayımladığı olaylardır — iş akışlarının ve webhook'ların tepki verdiği şeyler.

Bir istek reddedilirse

Hatalar her zaman aynı biçimdedir:

{ "error": { "code": "customer_not_found", "message": "Kişi zaten müşteri olarak kayıtlı olmalı.", "status": 409, "request_id": "req_…" } }
DurumAnlamı
401Kimlik bilgisi yok; ya da yanlış, süresi dolmuş veya iptal edilmiş.
403Kimlik bilgisinde işlemin istediği yetenek yok (ör. retail:manage).
404Böyle bir kayıt yok — ya da kayıt veya modülün tamamı bu kimlik bilgisinin erişimi dışında. Era hangisi olduğunu söylemez.
409Bir ön koşul tutmadı; code o koşulun kodudur (her işlemin sayfası bunları listeler). Ayrıca idempotency_in_progress.
422Geçersiz girdi; problems her alanı ve sorununu listeler.
429Çok sık istek; Retry-After kadar bekle.

Tekrar deneyebileceğin her yazma isteğine bir Idempotency-Key ekle: aynı anahtar 24 saat boyunca işi ikinci kez yapmak yerine ilk yanıtı döndürür (Idempotency-Replayed: true).

Sonra

Bu sayfa yardımcı oldu mu?