Başlarken
Stoneity Public API ile çalışma alanınızdaki kayıtları (ticket), board'ları, kullanıcıları ve bilgi bankası makalelerini okuyup yazabilir; bir şey değiştiğinde webhook ile haber alabilirsiniz.
1. API anahtarı oluşturun
- Stoneity'a yönetici olarak giriş yapın.
- Ayarlar → Uygulamalar → API anahtarları bölümünde Yeni anahtar'a tıklayın.
- Anahtara bir ad verin, hangi rolle çalışacağını seçin, ihtiyaç duyduğu scope'ları işaretleyin; isterseniz bitiş tarihi verin.
- Anahtarı kopyalayın.
stoneity_ile başlar ve yalnız bir kez gösterilir.
Her anahtar kendine ait bir servis hesabı adına çalışır: açtığı kayıtlar, eklediği yorumlar ve yaptığı durum değişiklikleri kayıt geçmişinde, bildirimlerde ve raporlarda bu hesabın adıyla görünür. Seçtiğiniz rol, anahtarın hangi board ve kayıtları görebileceğini tıpkı o roldeki bir kullanıcı gibi belirler.
2. API'yi çağırın
Temel adres:
| Ortam | Adres |
|---|---|
| Üretim | https://api.stoneity.com/public/v1 |
| Test | https://api.test.stoneity.com/public/v1 |
Anahtarı bearer token olarak gönderin. Başka bir başlık gerekmez; anahtar çalışma alanınızı tanımlar.
curl https://api.stoneity.com/public/v1/me \
-H "Authorization: Bearer stoneity_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"{
"apiKey": { "id": 12, "name": "Zapier", "prefix": "stoneity_ab12cd34", "scopes": ["tickets:read", "tickets:write"] },
"serviceUser": { "id": 418, "userName": "apikey-ab12cd34", "fullName": "Zapier API", "roleId": 1 },
"workspace": { "domain": "https://acme.stoneity.com", "name": "Acme" },
"limits": { "requestsPerMinute": 120, "maxWebhookSubscriptions": 10 }
}3. İlk kaydınızı açın
Board'lar, alanları ve durumları GET /boards ve GET /boards/{id} ile keşfedilir. Alan id'lerini oradan alın:
curl -X POST https://api.stoneity.com/public/v1/tickets \
-H "Authorization: Bearer $STONEITY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: siparis-10042-acildi" \
-d '{
"boardId": "65fef78fa23b4d12ab34cd56",
"subject": "VPN erişim sorunu",
"description": "Sabahtan beri bağlanamıyorum.",
"requesterEmail": "ayse@example.com",
"priority": "High",
"fields": [{ "fieldId": "SOURCE_SYSTEM_...", "value": "Magaza" }]
}'Yanıt, API'nin her yerinde ve webhook gövdelerinde kullanılan kayıt temsilidir. API ile açılan kayıtlar "channel": "api" taşır.
4. Haber alın
Ayarlar → Uygulamalar → Webhook'lar altında (ya da POST /webhooks ile) bir webhook kaydedin; ticket.created, ticket.state_changed gibi olayları alın. Bkz. Webhook'lar ve İmza doğrulama.