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_...
REST API erişimi Business planında talep üzerine sunulur ve incelemenin ardından çalışma alanı bazında etkinleştirilir. Ardından çalışma alanı sahipleri ve yöneticileri Çalışma alanı ayarları, Entegrasyonlar, HummingDeck API bölümünde ayrı ayrı adlandırılmış API anahtarları oluşturabilir. Her entegrasyon için yalnızca gereken izinleri seçin. Anahtar oluşturulurken bir kez gösterilir ve daha sonra geri alınamaz. Bir yıl sonra sona erer ve çalışma alanına kalıcı olarak bağlı kalır; bu nedenle bir istek çalışma alanını seçemez veya değiştiremez.
Bir çalışma alanında en fazla 20 etkin API anahtarı olabilir. Bir anahtar değiştirildiğinde yalnızca o anahtarın önceki gizli değeri hemen geçersiz olur; diğer anahtarlar çalışmaya devam eder. Sahipler ve yöneticiler tek bir anahtarı veya tüm anahtarları istedikleri zaman devre dışı bırakabilir. Bu gizli değerin iptali kalıcıdır.
Bir çalışma alanı API anahtarı yalnızca seçilen izinlerin onayladığı işlemleri çağırabilir. Webhook abonelik uç noktaları bu anahtarlar tarafından kullanılamaz.
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.
İzinler
En az bir izin seçin. Yazma izinleri ilgili okuma erişimini de içerir. Anahtarı değiştirdiğinizde izinleri de değiştirebilirsiniz.
rooms:readOdaları, sekmeleri, öğeleri, bağlantıları ve etiketleri görüntüleyin.
rooms:writeOdaları, sekmeleri, öğeleri, bağlantıları ve etiketleri oluşturup yönetin.
plan:readOrtak eylem planı aşamalarını ve görevlerini görüntüleyin.
plan:writeOrtak eylem planı aşamalarını ve görevlerini oluşturup yönetin.
analytics:readEtkileşim analizlerini, etkinliği ve toplanan e-postaları görüntüleyin.
crm:readÇalışma alanındaki şirketleri ve kişileri arayın.
crm:writeŞirketleri, kişileri ve bağlantı hedef kitlelerini oluşturun veya güncelleyin.
documents:readBelgeleri arayın ve meta verilerini görüntüleyin.
documents:writeBelge yükleyin ve odalara belge veya URL ekleyin.
Uç nokta satırlarındaki izin etiketleri çalışma alanı API anahtarları için geçerlidir. Zorunlu izinler her zaman, ek izinler ana izinle birlikte, koşullu izinler ise yalnızca istek ilgili filtreleri veya alanları kullandığında gerekir. GET /me izin gerektirmez. Zapier OAuth sabit entegrasyon erişimini kullanır.
Bir istek 401 döndürdüğünde
Anahtar bilinmiyorsa veya hatalıysa, süresi dolmuşsa, devre dışı bırakılmışsa, API erişimi kapatılmış bir çalışma alanına aitse ya da anahtarı oluşturan kişi artık çalışma alanının sahibi veya yöneticisi değilse istek 401 döndürür.
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.
API anahtarı izni gerekmez
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.
documents:write/decksEn yeniden başlayarak en fazla 20 belgeyi listeler. İsteğe bağlı title sorgu parametresiyle başlığın bir bölümünü büyük ve küçük harfe duyarlı olmadan filtreleyin.
documents:read/decks/{deckId}/replaceBelgeyi aynı türdeki yerel bir dosyayla değiştirir. documents:write iznine sahip bir çalışma alanı API anahtarı gerekir. Mevcut bağlantılar, başlık ve sunum modu korunur. Önizlenebilir dosyalar pending, yalnızca indirilebilir dosyalar completed döndürür. Yanıt alanları POST /decks ile aynıdır.
documents:writeGET /decks Yanıt alanları
| Field | Type | Description |
|---|---|---|
| id | string | Belge kimliği |
| title | string | Belge başlığı |
| fileType | string | Belgenin MIME türü |
| pageCount | integer | null | Sayfa sayısı |
| thumbnailUrl | string | null | Küçük resim URL'si |
| processingStatus | string | pending, processing, completed veya failed. Bir belge işlenirken odaya eklenebilir; bağlantıyı durum completed olduğunda gönderin. |
| processingErrorCode | string | null | İşleme başarısız olduğunda nedeni |
| createdAt | string | ISO 8601 zaman damgası |
POST /decks Yanıt alanları
| Field | Type | Description |
|---|---|---|
| id | string | Belge kimliği |
| title | string | Belge başlığı |
| fileType | string | Belgenin MIME türü |
| processingStatus | string | pending, processing, completed veya failed. Bir belge işlenirken odaya eklenebilir; bağlantıyı durum completed olduğunda gönderin. |
| processingErrorCode | string | null | İşleme başarısız olduğunda nedeni |
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.
/roomsOdaları en yeniden başlayarak listeler. search, status (active, archived veya all) ve companyId ile filtreleyin. Her sayfada 25 oda vardır (limit ile 100'e kadar); sonraki sayfa için sayfanın nextCursor değerini cursor olarak gönderin.
rooms:readcrm:read(Required when the companyId filter is present.)/roomsBelgeleri ve ilk hedef kitle bağlantısıyla birlikte tek çağrıda bir oda oluşturur.
rooms:writedocuments:write(Required when documentIds contains one or more document IDs.)crm:write(Required when the request supplies contactId, recipientName, recipientEmail, companyId, companyName, or when either primaryLink.allowedEmails or primaryLink.allowedDomains is non-empty.)/rooms/{roomId}Oda meta verilerini, sekmeleri, içerik öğelerini ve etkin/toplam bağlantı sayılarını döndürür.
rooms:read/rooms/{roomId}Adı, karşılama mesajını, iletişim kişisini, şirketi veya kişiyi değiştirir.
rooms:writecrm:write(Required when companyId or contactId is present, including null to detach the association.)/rooms/{roomId}/archiveOdayı arşivler. Bağlantıları çalışmayı durdurur.
rooms:write/rooms/{roomId}/restoreArşivlenmiş bir odayı geri yükler. Bağlantıları yeniden çalışır.
rooms:write/rooms/{roomId}/tabsBelirli bir sıraya veya sona bir sekme ekler.
rooms:write/rooms/{roomId}/tabs/{tabId}Bir sekmeyi yeniden adlandırır.
rooms:write/rooms/{roomId}/tabs/orderTüm sekmeleri yeni bir sıraya koyar.
rooms:write/rooms/{roomId}/tabs/{tabId}Hiç öğe göstermeyen bir sekmeyi kaldırır.
rooms:write/rooms/{roomId}/itemsBir sekmeye belge, URL, gömülü içerik veya bölüm ayırıcısı ekler.
rooms:writedocuments:write(Required when type is document or url.)/rooms/{roomId}/items/{itemId}/moveBir öğeyi başka bir sekmenin sonuna taşır.
rooms:write/rooms/{roomId}/items/orderBir sekmenin öğelerini yeni bir sıraya koyar.
rooms:write/rooms/{roomId}/items/{itemId}Bir öğeyi odadan çıkarır. Kitaplığınızda kalır.
rooms:write/rooms/{roomId}/linksOdanın hedef kitle bağlantılarını en yeniden başlayarak listeler; kısıtlı bağlantılarda etkin davetliler de yer alır.
rooms:read/rooms/{roomId}/linksEtkin bir oda için ilişkilendirilmiş Açık bağlantı oluşturur.
rooms:writecrm:write/rooms/{roomId}/links/{linkId}Bir bağlantıyı açar veya kapatır, son kullanma tarihini ayarlar ya da temizler veya erişim listesini değiştirir.
rooms:writecrm:write(Required when allowedEmails or allowedDomains is present, including an empty array that clears the audience.)/rooms/{roomId}/action-planOdanın eylem planını döndürür: ayarları, aşamaları, görevleri (dahili olanlar dahil), bağımlılıkları ve ilerlemesi.
plan:read/rooms/{roomId}/action-planPlanın ayarlarını değiştirir; odayı açanların kendi görevlerini işaretleyip işaretleyemeyeceği de buna dahildir.
plan:write/rooms/{roomId}/action-plan/phasesBir kilometre taşı ekler. color verilmezse aşamalar sırayla turkuaz, şeftali ve mavi olur.
plan:write/rooms/{roomId}/action-plan/phases/{phaseId}Bir aşamayı yeniden adlandırır, taşır, tarihini değiştirir veya rengini ayarlar. color olarak null göndermek otomatik sıraya döndürür.
plan:write/rooms/{roomId}/action-plan/phases/{phaseId}Bir aşamayı kaldırır. mode zorunludur: delete_tasks veya move_to_unphased; böylece görevler yanlışlıkla silinmez.
plan:write/rooms/{roomId}/action-plan/tasksBir görev ekler. assignee null, sorumlu şirket için tek başına bir side ya da belirli bir kişi için side ve email olabilir.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}Bir görevi günceller. assignee gönderilmezse sorumluluk değişmez; null göndermek sorumluluğu kaldırır.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}Bir görevi kaldırır. Alt görevleri de onunla birlikte gider.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}/statusBir görevi çalışma alanı adına tamamlar veya yeniden açar. Tamamlanmamış bir bağımlılığın ardındaki görev 409 TASK_BLOCKED döndürür.
plan:write/rooms/{roomId}/analyticsOda ziyaretleri, benzersiz görüntüleyenler, ortalama süre, toplamdan açılan belgeler ve ortalama tamamlanma. Botlar hariç.
analytics:read/rooms/{roomId}/activityOdada ne olduğunu en yeniden başlayarak döndürür. Tartışma kayıtları göndereni belirtir, mesajın kendisini asla taşımaz. since ile daraltın.
analytics:read/rooms/{roomId}/captured-emailsOdanın topladığı adresler. source, kişi tek kullanımlık bağlantıyla doğruladıysa verify, yalnızca yazdıysa ask olur.
analytics:read/room-viewsÇalışma alanındaki oda girişleri, en yeniden başlayarak. Bir odaya girildiğini öğrenmenin başka yolu yoktur; /views yalnızca belge görüntülemelerini kapsar.
analytics:read/room-labelsÇalışma alanının oda etiketlerini, her birini kaç odanın kullandığıyla birlikte listeler. Bir odayı etiketlemeden önce kimlikleri burada bulursunuz.
rooms:read/room-labelsBir etiket oluşturur. Adlar büyük küçük harf ayrımı olmadan çalışma alanı içinde benzersizdir; color, #RRGGBB biçiminde bir onaltılık değerdir.
rooms:write/room-labels/{labelId}Bir etiketi yeniden adlandırır, rengini değiştirir veya açıklamasını düzenler.
rooms:write/room-labels/{labelId}Bir etiketi ve atamalarını siler. Etiketi taşıyan odalar değişmez; yanıt kaçının etiketi kaybettiğini bildirir.
rooms:writeTek çağrıda oda oluşturun
Her dosyayı POST /decks ile yükleyin, ardından odayı alıcı tarafın şirketi için, görmesi gereken kişilere açık kısıtlı bir bağlantıyla oluşturun. Şirket, kişiler, oda, belgeler ve bağlantı birlikte oluşturulur: çağrı reddedilirse hiçbiri oluşturulmaz. Belgeler işlenmeye devam ederken odaya eklenebilir. Odanın öğeleri processingStatus bildirdiğinden, bağlantıyı her belge completed okuduğunda gönderin.
{
"name": "Acme renewal",
"companyName": "Acme Inc",
"recipientName": "Pat Buyer",
"recipientEmail": "pat@acme.example",
"documentIds": [
"{documentId}",
"{documentId}"
],
"primaryLink": {
"accessMode": "verified-allowlist",
"allowedEmails": [
"pat@acme.example",
{
"email": "cfo@acme.example",
"name": "Sam Rivera"
}
],
"allowedDomains": [
"acme.example"
]
}
}accessMode değeri open (URL'ye sahip herkes), verify-any (ziyaretçiler e-posta adreslerini tek kullanımlık bağlantıyla doğrular) veya verified-allowlist (yalnızca allowedEmails içindeki adresler ve allowedDomains alan adlarındaki herkes) olabilir. API kısıtlı bir bağlantıya kendiliğinden kimseyi eklemez; odayı önizlemek isterseniz kendi adresinizi de ekleyin. Planınızda bulunmayan bir seçenek 403 FEATURE_NOT_AVAILABLE, bilinmeyen bir alan ise 400 döndürür; böylece bir oda istediğinizden farklı bir kitleye açılmaz.
Sekmeleri ve öğeleri düzenleyin
Odanın şu anki hâlinden başlayın: bir odayı okumak sekmelerini ve öğelerini görüntüleme sırasıyla döndürür ve her öğe hangi sekmede olduğunu ve o sekmedeki sırasını 0'dan sayarak bildirir. Sekmeleri ve öğeleri belirli bir sıraya ekleyin, öğeleri sekmeler arasında taşıyın ve bir sekmenin yeni sırasının tamamını gönderin. Sıralama, sekmedeki her öğeyi tam olarak bir kez listelemelidir; arada başka bir değişiklik olduysa odayı yeniden okuyun. Hiç öğe göstermeyen bir sekme kaldırılabilir.
{
"type": "section",
"label": "Commercials",
"tabId": "{tabId}",
"position": 0
}Desteklenen gömme sağlayıcıları
Gömmeler hem paylaşım bağlantısını hem de gömme bağlantısını kabul eder ve sağlayıcının gömme biçimine normalleştirir. Bu listenin dışındaki her şey 400 EMBED_PROVIDER_NOT_SUPPORTED döndürür.
| Field | Type | Description |
|---|---|---|
| Video | Loom, YouTube, Vimeo, Wistia, Vidyard | |
| Randevu planlama | Calendly, Cal.com, SavvyCal, Google Calendar | |
| Formlar | Typeform, Tally, Google Forms, Jotform, Fillout | |
| Tasarım | Figma, Miro, Canva, Whimsical | |
| Belgeler ve tablolar | Google Docs, Google Sheets, Notion, Coda, Airtable | |
| Sunumlar | Google Slides, Pitch, Gamma, Guideflow, Flipsnack, Prezi | |
| Ses | Spotify, SoundCloud |
Başka bir hedef kitle bağlantısı ekleyin
Her odanın POST /rooms ile oluşturulmuş bir bağlantısı zaten vardır; farklı atıf veya erişim gerektiren hedef kitleler için yenilerini ekleyin. recipientName, recipientEmail, contactId, companyId veya companyName alanlarından en az birini verin. accessMode, primaryLink ile aynı open, verify-any ve verified-allowlist değerlerini ve aynı alanları alır (requireEmail, allowedEmails, allowedDomains, label, expiresAt, allowDownloads). Plan sınırı dahil, reddedilen bir çağrı geride bağlantı, şirket veya kişi bırakmaz.
{
"companyName": "Analytical Engines",
"accessMode": "verified-allowlist",
"allowedEmails": [
{
"email": "cfo@analytical.example",
"name": "Sam Rivera"
}
]
}Bir bağlantıyı güncelleyin
Dört alan: isActive, expiresAt, allowedEmails, allowedDomains (son ikisi yalnızca verified-allowlist bağlantılarında). accessMode ve slug hiç değişmez; bunun yerine yeni bir bağlantı oluşturun. Bir bağlantıyı yeniden açmak, plandaki etkin bağlantı sınırını yeniden denetler.
{
"isActive": false
}Eylem planını oluşturun
Her odanın tam olarak bir planı vardır, bu yüzden plan kendi kimliği olmadan odanın altında yer alır. Görevlerin çoğu bir kişiye değil bir şirkete aittir: yalnızca side gönderin, plan bunu şirket olarak okur. Karşı tarafta işi kimin yapacağını bilmediğinizde istediğiniz budur. E-posta adresini yalnızca kişiyi biliyorsanız ekleyin. Dahili bir görev odada hiç görünmez, bu yüzden alıcı tarafına ait olamaz.
{
"title": "Sign the NDA",
"assignee": {
"side": "buyer"
},
"dueDate": "2026-10-02"
}Plandaki recipientCompletionEnabled, odayı açanların kendi taraflarındaki görevleri işaretleyip işaretleyemeyeceğine karar verir. Varsayılanı true'dur ve tek koşul budur: API bir görevi tamamlamak için alıcının adresini hiçbir zaman istemez. Her görevi kimin işaretlediği, odanın erişim moduna göre sağlanan kesinlikle kaydedilir.
Odaları etiketleyin
Etiketler çalışma alanının tamamında geçerlidir: bir kez oluşturun, tekrar tekrar kullanın. Bir odayı oluştururken etiketlemek için POST /rooms içinde, tüm kümeyi değiştirmek için PATCH /rooms/{roomId} içinde labelIds gönderin; boş bir dizi tüm etiketleri kaldırır, alanı hiç göndermemek ise onları olduğu gibi bırakır. Bir oda en fazla beş etiket taşır; bu bir ayar değil, yapısal bir sınırdır. Bir odayı okumak etiketlerini de döndürür.
{
"labelIds": [
"{labelId}"
]
}Ne olduğunu öğrenin
Çalışma alanındaki tüm girişleri görmek için /room-views uç noktasını yoklayın, ardından tek bir odanın analitiğini, etkinliğini ve toplanan adreslerini okuyun. Devam etmek için sayfanın nextCursor değerini cursor olarak gönderin; bu API'nin vermediği bir imleç baştan başlamak yerine 400 döndürür, böylece yoklama aynı işi tekrarlamaz. Etkinlik aralığını since ile daraltın ve sayfalar arasında cursor ile ilerleyin. /room-views bir arşiv değil, zaman penceresidir: since göndermezseniz son 30 günü alırsınız ve 90 günden eski istekler reddedilir. Uygulanan pencere since olarak döner; aynı kümeyi sayfalamaya devam etmek için cursor ile birlikte gönderin.
Şirketler ve Kişiler
Mevcut hesap kayıtlarını bulun veya kesin eşleştirme kurallarıyla oluşturun. Şirket adları ve kişi e-posta adresleri büyük ve küçük harfe duyarlı olmadan eşleştirilir.
/companies?name={name}&domain={domain}Tam ad, alan adı veya her ikisiyle en fazla 10 şirket bulun.
crm:read/companiesŞirketi büyük ve küçük harfe duyarlı olmadan adına göre bulun veya oluşturun. Açıkça verilen alan adı yalnızca kaydı zenginleştirir. Sonucu created alanı belirtir.
crm:write/contacts?email={query}Kişileri e-posta adresine göre arayın. Eşleşen kişileri ilişkili şirketleriyle birlikte döndürür.
crm:read/contactsBir kişiyi e-posta adresine göre bulun veya isteğe bağlı mevcut ya da yeni bir şirketle oluşturun.
crm:writePOST /companies isteği
| Field | Type | Description | |
|---|---|---|---|
| name | string | zorunlu | Şirket adı |
| domain | string | isteğe bağlı | Kaydı zenginleştirmek için şirket alan adı. Mevcut bir şirketi eşleştirmek için hiçbir zaman kullanılmaz |
POST /contacts isteği
| Field | Type | Description | |
|---|---|---|---|
| name | string | koşullu | Tam ad. Bunu veya firstName ve lastName alanlarını kullanın |
| firstName | string | koşullu | name verilmediğinde ad |
| lastName | string | isteğe bağlı | firstName kullanılırken soyadı |
| string | zorunlu | Büyük ve küçük harfe duyarlı olmayan eşleştirmede kullanılan e-posta adresi | |
| title | string | isteğe bağlı | Görev unvanı |
| companyId | UUID | isteğe bağlı | Kimliği doğrulanmış çalışma alanındaki mevcut şirket |
| companyName | string | isteğe bağlı | companyId verilmediğinde bulunacak veya oluşturulacak şirket |
| companyDomain | string | isteğe bağlı | companyName ile kullanılan isteğe bağlı zenginleştirme alan adı. Şirket eşleştirme anahtarı değildir |
Şirket yanıtı
| Field | Type | Description |
|---|---|---|
| company.id | UUID | Şirket kimliği |
| company.name | string | Şirket adı |
| company.domain | string | null | Normalleştirilmiş şirket alan adı |
| created | boolean | Bu isteğin şirketi oluşturup oluşturmadığı |
Kişi yanıtı
| Field | Type | Description |
|---|---|---|
| contact.id | UUID | Kişi kimliği |
| contact.firstName | string | Ad |
| contact.lastName | string | Soyadı |
| contact.email | string | E-posta adresi |
| contact.title | string | null | Görev unvanı |
| contact.companyId | UUID | null | İlişkili şirket kimliği |
| contact.companyName | string | null | İlişkili şirket adı |
| created | boolean | Bu isteğin kişiyi oluşturup oluşturmadığı |
| company | object | null | Varsa çözümlenen şirket |
| companyCreated | boolean | Bu isteğin şirketi oluşturup oluşturmadığı |
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.
Yalnızca Zapier OAuth
/hooks/{id}Abonelik kimliğiyle bir olaydan çıkın.
Yalnızca Zapier OAuth
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.
analytics:read/decisionsSon teklif kararlarını listeleyin (kabul edildi, reddedildi, değişiklik talep edildi).
analytics:read/emailsKorumalı içerikten son e-posta yakalamalarını listeleyin.
analytics:readHata işleme
Her hata, neyin yanlış gittiğini açıklayan bir error alanı içeren JSON nesnesi döndürür. Çoğu yanıt ayrıca PLAN_LIMIT_REACHED, FEATURE_NOT_AVAILABLE, ROOM_NOT_ACTIVE, TAB_NOT_EMPTY, INVALID_FORMAT veya FILE_TOO_LARGE gibi programatik işleme yönelik bir code alanı içerir. HTTP durum kodları standart kurallara uyar.
| Status | Meaning |
|---|---|
| 400 | Hatalı istek: eksik veya geçersiz parametreler |
| 401 | Yetkisiz: geçersiz veya süresi dolmuş Bearer token |
| 403 | Yasak: kimlik bilgisinde gerekli scope yok, plan sınırına ulaşıldı, plan gerekli bir seçeneği içermiyor veya bu kimlik bilgisi türü bu uç noktada kullanılamıyor |
| 404 | Bulunamadı: kaynak mevcut değil veya ekibinize ait değil |
| 409 | Çakışma: verilen kimlikler uyuşmuyor, oda arşivlenmiş veya odanın sekmeleri bu değişikliğe izin vermiyor |
| 413 | Yük çok büyük: istek gövdesi veya yüklenen dosya bu uç noktanın sınırını aşıyor |
| 429 | Çok fazla istek: anahtar veya istemci IP’si geçerli sınırı aştı; Retry-After süresinden sonra yeniden deneyin |
| 500 | Sunucu hatası: isteği yeniden deneyin |
Hız sınırları
Manuel çalışma alanı anahtarlarına ve Zapier OAuth bağlantılarına kimlik bilgisi başına sınır uygulanır: 5 dakikada 600 okuma, dakikada 120 yazma, dakikada 60 /room-views isteği ve saatte 20 yükleme. Tüm kimlik bilgileri birlikte değerlendirildiğinde çalışma alanı başına sınır; 5 dakikada 1.200 okuma, dakikada 240 yazma, dakikada 120 /room-views isteği ve saatte 40 yüklemedir. Başarısız Bearer kimlik doğrulaması ve geçersiz OAuth istemci kimlik doğrulaması ayrı ayrı istemci IP’si başına 5 dakikada 60 denemeyle sınırlıdır. Ekip başına en fazla 50 etkin webhook aboneliği olabilir.
Bu API şu anda Zapier entegrasyonumuz tarafından kullanılmaktadır. Gelecekte ek entegrasyon platformları desteklenebilir.