G2'de 5 üzerinden 5,0 puan
API Referansı
HummingDeck, entegrasyon ortakları ve otomasyon platformları için bir REST API sunar. Uç noktalar Bearer token ile kimlik doğrular ve JSON yanıtları döndürür.
https://app.hummingdeck.com/api/v1Kimlik Doğrulama
Her API isteği Authorization başlığında bir Bearer token taşır. İki tür kimlik bilgisi kabul edilir ve davranışları farklıdır.
Yöntem
Bearer token
Başlık biçimi
Authorization: Bearer {access_token}
Kimlik bilgisi türleri
Çalışma alanı API token'ı
Authorization: Bearer hd_api_...
Çalışma alanı sahibi tarafından Çalışma alanı ayarları, Entegrasyonlar, HummingDeck API bölümünden verilir. REST API erişimi Business planında talep üzerine sunulur ve incelemenin ardından çalışma alanı bazında etkinleştirilir. Token oluşturulurken bir kez gösterilir ve sonrasında geri alınamaz. Oluşturulmasından bir yıl sonra sona erer ve verildiği çalışma alanına kalıcı olarak bağlıdır, bu yüzden bir istek kendi çalışma alanını seçemez veya değiştiremez.
Zaten bir token varken yenisini oluşturmak onu değiştirir ve önceki token hemen çalışmayı durdurur. Sahip, token'ı istediği zaman kapatabilir. Bu, o token için kalıcıdır: geri getirmeyi beklemek yerine yeni bir tane oluşturun.
Webhook abonelik uç noktaları, çalışma alanı API token'larına açık değildir.
Zapier OAuth
Authorization: Bearer {access_token}
Bir çalışma alanı Zapier entegrasyonunu bağladığında OAuth yetkilendirme akışıyla verilir. Erişim token'ları 30 gün sonra sona erer. 90 gün geçerli olan yenileme token'ını kullanarak yeniden yetkilendirmeden yeni bir erişim token'ı alın.
Webhook aboneliği oluşturabilen veya silebilen tek kimlik bilgisi budur.
Bir istek 401 döndürdüğünde
Token bilinmiyorsa veya hatalıysa, süresi dolmuşsa, kapatılmışsa, API erişimi kapatılmış bir çalışma alanına aitse ya da artık o çalışma alanının sahibi olmayan biri tarafından verilmişse istek 401 ile reddedilir.
Bağlantınızı test edin
Token'ınızın geçerli olduğunu doğrulayın ve kimliği doğrulanmış kullanıcının profilini görüntüleyin.
/meGeçerli kullanıcının adını, e-postasını ve ekip bilgilerini döndürür.Belgeler
Belgeleri (PDF'ler, slayt destesi, teklifler ve diğer dosyalar) yükleyin, arayın ve yönetin.
/decksYeni bir belge yükleyin. file alanı (PDF, PPTX, DOCX, XLSX, HTML) ve title alanıyla birlikte multipart/form-data olarak gönderin. API üzerinden yükleme sınırı 30 MB’dir./decks?title={query}Belgeleri başlığa göre arayın. Büyük/küçük harf duyarsız, en fazla 20 sonuç döndürür.Yanıt alanları
| Field | Type | Description |
|---|---|---|
| id | string | Belge kimliği |
| title | string | Belge başlığı |
| fileType | string | Dosya türü (pdf, pptx, docx, html) |
| pageCount | number | Sayfa sayısı |
| thumbnailUrl | string | Küçük resim URL'si |
| createdAt | string | ISO 8601 zaman damgası |
Odalar
Oda yapısını alın ve izlenebilir hedef kitle bağlantıları oluşturun. Yalnızca çalışma alanı API belirteçleriyle kullanılabilir; Zapier OAuth kimlik bilgileri reddedilir.
/rooms/{roomId}Oda meta verilerini, sekmeleri, içerik öğelerini ve etkin/toplam bağlantı sayılarını döndürür./rooms/{roomId}/linksEtkin bir oda için ilişkilendirilmiş Açık bağlantı oluşturur.Açık oda bağlantısı oluşturma
recipientName, recipientEmail, contactId, companyId veya companyName alanlarından en az birini sağlayın. Ad ve e-posta alanları bir kişiyi bulur veya oluşturur; şirket alanları bir şirketi bulur veya oluşturur. URL’yi bilen herkes Açık bağlantıyı görüntüleyebilir.
{
"accessMode": "open",
"recipientName": "Ada Lovelace",
"recipientEmail": "ada@analytical.example",
"companyName": "Analytical Engines"
}Kişiler
Ekibinizin adres defterinde kişileri arayın.
/contacts?email={query}Kişileri e-posta adresine göre arayın. İlgili şirketiyle birlikte eşleşen kişileri döndürür.POST /companies request
| Field | Type | Description | |
|---|---|---|---|
| name | string | required | Company name |
| domain | string | optional | Company domain used for enrichment. Never used to match an existing company |
POST /contacts request
| Field | Type | Description | |
|---|---|---|---|
| name | string | conditional | Full name. Use this or firstName and lastName |
| firstName | string | conditional | First name when name is not supplied |
| lastName | string | optional | Last name when using firstName |
| string | required | Email used for case-insensitive matching | |
| title | string | optional | Job title |
| companyId | UUID | optional | Existing company in the authenticated workspace |
| companyName | string | optional | Company to find or create when companyId is not supplied |
| companyDomain | string | optional | Optional enrichment domain used with companyName. Not a company match key |
Company response
| Field | Type | Description |
|---|---|---|
| company.id | UUID | Company ID |
| company.name | string | Company name |
| company.domain | string | null | Normalized company domain |
| created | boolean | Whether this request created the company |
Contact response
| Field | Type | Description |
|---|---|---|
| contact.id | UUID | Contact ID |
| contact.firstName | string | First name |
| contact.lastName | string | Last name |
| contact.email | string | Email address |
| contact.title | string | null | Job title |
| contact.companyId | UUID | null | Associated company ID |
| contact.companyName | string | null | Associated company name |
| created | boolean | Whether this request created the contact |
| company | object | null | Resolved company, when available |
| companyCreated | boolean | Whether this request created the company |
Webhook'lar
REST Hooks aracılığıyla gerçek zamanlı olaylara abone olun. Bir olay gerçekleştiğinde, HummingDeck kayıtlı HTTPS URL'nize olay yüküyle birlikte bir POST isteği gönderir. Başarısız teslimler 3 defaya kadar yeniden denenir (1 s, 5 s ve 30 s aralıklarla). Webhook abonelikleri Zapier entegrasyonu tarafından yönetilir ve çalışma alanı API token'ları için kullanılamaz.
/hooksBir olaya abone olun. Hedef HTTPS URL'si ve olay türü gerektirir. Abonelik kimliği döndürür./hooks/{id}Abonelik kimliğiyle bir olaydan çıkın.Olay türleri
| Event | Description |
|---|---|
| view.created | Gerçek bir kişi paylaşılan bir belgeyi görüntüledi. Bot trafiği (e-posta güvenlik tarayıcıları, gezginler) otomatik olarak filtrelenir. |
| decision.made | Potansiyel müşteri bir teklife yanıt verdi: kabul etti, reddetti veya değişiklik talep etti. |
| email_captured | Bir ziyaretçi, korumalı içeriğe erişmek için e-posta adresini girdi. |
Örnek yükler
view.created
{
"event": "view.created",
"data": {
"id": "view_abc123",
"deck_id": "deck_xyz789",
"deck_title": "Q4 Enterprise Proposal",
"viewer_email": "sarah@acme.com",
"viewer_name": "Sarah Wood",
"viewer_company": "Acme Corp",
"location": "San Francisco, CA",
"device": "Desktop",
"browser": "Chrome",
"pages_viewed": 8,
"total_pages": 12,
"duration_seconds": 272,
"completion_percent": 67,
"created_at": "2026-03-29T14:32:00Z"
}
}decision.made
{
"event": "decision.made",
"data": {
"share_slug": "proposal-2024",
"decision": "accepted",
"deck_title": "Q4 Enterprise Proposal",
"viewer_email": "sarah@acme.com",
"viewer_name": "Sarah Wood",
"decision_note": "Approved pending final review",
"decided_at": "2026-03-29T15:30:00Z"
}
}email_captured
{
"event": "email_captured",
"data": {
"email": "prospect@company.com",
"share_slug": "proposal-2024",
"deck_title": "Q4 Enterprise Proposal",
"view_id": "view_xyz789",
"captured_at": "2026-03-29T14:35:00Z"
}
}Görüntülemeler ve Olaylar
Son etkileşim verilerini almak için yoklama uç noktaları. Bunlar, webhook'ların gerçek zamanlı olarak ilettiği aynı verileri döndürür. Geri doldurma, test veya yedek olarak kullanın.
/viewsEn son 100 belge görüntülemesini listeleyin. Bot oturumları hariç tutulur./decisionsSon teklif kararlarını listeleyin (kabul edildi, reddedildi, değişiklik talep edildi)./emailsKorumalı içerikten son e-posta yakalamalarını listeleyin.Hata işleme
Her hata, neyin yanlış gittiğini açıklayan bir error alanı içeren JSON nesnesi döndürür. Bazı yanıtlar ayrıca PLAN_LIMIT_REACHED, INVALID_FORMAT veya FILE_TOO_LARGE gibi programatik işleme için bir code alanı da içerir. HTTP durum kodları yaygın kurallara uyar.
| Status | Meaning |
|---|---|
| 400 | Hatalı istek: eksik veya geçersiz parametreler |
| 401 | Yetkisiz: geçersiz veya süresi dolmuş Bearer token |
| 403 | Yasak: plan sınırına ulaşıldı veya bu kimlik bilgisi türü bu uç noktada kullanılamaz |
| 404 | Bulunamadı: kaynak mevcut değil veya ekibinize ait değil |
| 500 | Sunucu hatası: isteği yeniden deneyin |
Hız sınırları
Ekip başına maksimum 50 aktif webhook aboneliği. API isteklerine hız sınırı uygulanmaz, ancak aşırı kullanım kısıtlanabilir.
Bu API şu anda Zapier entegrasyonumuz tarafından kullanılmaktadır. Gelecekte ek entegrasyon platformları desteklenebilir.