formbasedocs
Uygulamaya gitUygulama

İstekler

İstekler için sorun giderme

Bir istek reddedildiğinde, bir davet hiç ulaşmadığında veya bir workflow zaten gerçekleşmiş bir geri çağırmayı hâlâ beklediğinde nereye bakılır.


Bir hatayı okumak

Her ret iki şey taşır: hata türü için bir code ve belirli neden için bir details.reason. Koda göre dallanın; neyi düzelteceğinizi anlamak için nedeni okuyun. Yardımcı olduğunda, details ayrıca suçlu field’ı, kabul edilecek anahtarları veya bir seçim sorusunun aldığı seçenek anahtarlarını da adlandırır.

İstek metotları dört kod kullanır: VALIDATION_ERROR (çağrı yanlıştı), CONFLICT (istek yanlış durumda, ya da bir idempotency anahtarı yeniden kullanıldı), NOT_FOUND, ve UPGRADE_REQUIRED (bir plan sınırı veya aylık kota). Çok hızlı çağırmak bunun yerine retryAfterMs ile birlikte RATE_LIMITED döndürür — bkz. hız sınırı.

Reddedilen bir requests.create
json
{
  "ok": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "No field with key \"company\".",
    "details": { "reason": "UNKNOWN_FIELD_KEY", "field": "prefill.company", "validKeys": ["company_name", "company_size"] }
  }
}

Görebileceğiniz nedenler

Çağrıyı doğru yapmak

NedenNe yapılmalı
FORM_NOT_PUBLISHEDFormu yayınlayın. Bir istek yayınlanmış bir sürümü sabitler, o yüzden bir tanesi olmalı.
UNKNOWN_FIELD_KEYO anahtarla bir alan yok, ya da diğer kovaya ait. Her context anahtarı yayınlanmış formda bir gizli alan olmalıdır; serbest biçimli anahtarları metadata içinde gönderin. fields.list'i kontrol edin; validKeys kabul edilenleri listeler.
CONTEXT_KEY_NOT_HIDDEN_FIELDContext içinde görünür bir soru — ya da hesaplanan bir alan — gönderdiniz. Görünür sorular prefill içine gider; hesaplanan alanlar hiç ayarlanamaz.
INVALID_PREFILL_VALUEO soru türü için yanlış biçim. expectedType neyin istendiğini söyler; seçim soruları için etiketi değil seçenek anahtarını gönderin; bir matris { "row_key": "column_key" } alır. expectedType "not_prefillable" alanın çağıran değeri almadığı anlamına gelir — bir dosya, imza, ödeme, randevu veya hesaplanan alan.
READONLY_REQUIRES_PREFILLKilitli bir anahtarın değeri yok. readonly içindeki her anahtar prefill içinde de olmalı.
READONLY_REQUIRED_EMPTYZorunlu bir alan boş bir değerle kilitlenmiş — alıcı asla gönderemezdi. Bir değer sağlayın ya da kilitlemeyi bırakın.
LANGUAGE_NOT_PUBLISHEDO dil geçerli sürümde yayınlanmamış. validKeys yayınlanmış olanları listeler.
INVALID_REMINDER_SCHEDULEBir süre okunamadı, aynı süre iki kez göründü, ya da beşten fazla adım var. Pozitif tam gün, saat veya dakika kullanın: 2d, 12h, 30m.
EXPIRY_OUT_OF_RANGEexpiresAt geçmişte veya 365 günden daha ileride.
CALLBACK_URL_NOT_ALLOWEDURL HTTPS değil, kimlik bilgileri taşıyor, ya da özel bir adrese çözümleniyor. Localhost çalışmaz — bir tünel kullanın.
DOMAIN_NOT_ALLOWEDO özel alan adı aktif değil, ya da başka bir çalışma alanına ait.
INVALID_DOCUMENT_TARGETFormda bir Belgeler bloğu yok, ya da birden fazla var ve field ile hangisi olduğunu belirtmediniz. validKeys blok anahtarlarını listeler.
DOCUMENT_NOT_UPLOADEDYükleme ayrıldı ama baytlar hiç gelmedi. Önce dosyayı uploadUrl'ine PUT edin.
DOCUMENT_INVALIDYüklenen baytlar, documents.create'in bildirdiği boyut, tür veya sha256 ile uyuşmuyor, ya da tür bir PDF veya görsel değil.
DOCUMENTS_TOO_MANYBlok, hazırlanmış olanlar dahil 20'den fazla belge gösterirdi.
DOCUMENTS_TOO_LARGEBir istek toplamda 100 MB belge ve belge başına 25 MB taşıyabilir.
SCOPE_REQUIREDİstekleri listelemek, listeyi kapsayacak bir çalışma alanı veya form gerektirir.
RECIPIENT_EMAIL_REQUIREDE-posta teslimatı veya hatırlatmalar recipient.email gerektirir.
UPGRADE_REQUIREDPlan özelliği içermiyor — hatırlatmalar Pro veya Business, ve bir misafir hesap davet e-postası gönderemez.
FREE_INVITATIONS_USEDBu Ücretsiz hesap 10 ücretsiz davetini kalıcı olarak tüketti. İsteği "delivery": "none" ile oluşturup bağlantıyı kendiniz gönderin ya da Pro'ya yükseltin.
MONTHLY_ALLOWANCE_REACHEDÇalışma alanı bu ayın gönderim ve istek kotasını tüketti. Her istek, yanıtlansın ya da yanıtlanmasın, oluşturulduğunda bir birime mal olur. Zaten oluşturduğunuz istekler yanıtlanabilir kalmaya devam eder; yeni istekler ayın 1'ini (UTC) veya bir yükseltmeyi bekler.

Mevcut bir istek üzerinde işlem yapmak

NedenNe yapılmalı
REQUEST_NOT_FOUNDBu belirtecin erişebildiği bir çalışma alanında o kimlikte bir istek yok.
REQUEST_NOT_PENDINGZaten tamamlandı, süresi doldu ya da iptal edildi. Bitmiş bir isteği hatırlatamaz veya iptal edemezsiniz.
REMINDER_TOO_SOONElle bir hatırlatma on dakikadan daha kısa süre önce gönderildi. details.retryAfterMs ne kadar bekleneceğini söyler.
REMINDER_CAP_REACHEDBu istek, elle ve programlı birlikte alacağı sekiz hatırlatmayı da almış.
TEST_REQUESTformbase'in bir test isteğini e-postayla göndermesini istediniz. Bir tanesi için asla e-posta gönderilmez — bunun yerine bağlantısını kendiniz açın.
REQUEST_NOT_TERMINALHâlâ beklemede olan bir istek için bir geri çağırmayı yeniden oynatmayı istediniz. Henüz yeniden oynatılacak bir şey yok.
NO_CALLBACK_TO_REPLAYİstek bir callbackUrl olmadan oluşturuldu.
IDEMPOTENCY_CONFLICTO anahtar farklı bir gövde için kullanıldı. Yeni bir anahtar kullanın, ya da orijinal gövdeyi değiştirmeden yeniden gönderin.

Davet hiç ulaşmadı

İsteği İstekler sayfasında açın ve zaman çizelgesini okuyun. İlk davet satırı hangi durumda olduğunuzu söyler.

Zaman çizelgesi ne diyorNe anlama gelirNe yapılmalı
Davet kuyruğa alındıKabul edildi, henüz gönderilmedi.Bir dakika bekleyin. Kuyrukta kalmaya devam ederse isteğin bir alıcı e-postası olduğunu kontrol edin.
Davet teslim edildiE-posta sağlayıcısına teslim edildi.Spam klasörünü kontrol etmelerini isteyin. Kendi alan adınızdan göndermek yardımcı olur — bkz. özel e-posta alan adları.
Davet başarısız olduformbase gönderemedi — ya da sağlayıcı onu geri çevirdi, ya da alıcı spam olarak işaretledi.requests.get üzerinde deliveryStatus'u okuyun: "failed" genellikle bir plan veya adres sorunudur, bu yüzden düzeltin ve aynı bağlantıyı taşıyan bir hatırlatma gönderin (Ücretsiz planda bağlantıyı kopyalayıp kendiniz gönderin). "bounced" adresin yanlış veya ölü olduğu anlamına gelir — doğru adres için yeni bir istek oluşturun; hatırlatmak yardımcı olmaz.

Hiç zaman çizelgesi girişi yoksa

O zaman hiç e-posta istenmemiştir. İstek delivery: “none” ile oluşturulmuştur — bağlantıyı kendiniz teslim edin, ya da delivery: “email” ile yeni bir istek oluşturun.

Davetler ve hatırlatmalar, form ve alıcı adresi başına günde on e-postalık bir bütçeyi paylaşır ve bir istek, kendi alıcısına yaşamı boyunca dokuzdan fazla e-posta göndermez — bir davet ve en fazla sekiz hatırlatma.

Geri çağırma hiç varmadı

İstek çekmecesinin Geri çağırma bölümü URL’yi ve sonucu gösterir. N denemeden sonra geri çağırma başarısız oldu demek, formbase’in denediği ve vazgeçtiği anlamına gelir — yaklaşık dört saat boyunca sekiz deneme.

  1. URL’yi kontrol edin. Çekmecede gösterilir. Bir workflow aracının devam URL’si tek bir çalışmaya aittir ve silinmiş veya yeniden oluşturulmuş bir çalışma artık orada yanıt vermez.

  2. Uç noktanızın ne döndürdüğünü kontrol edin. 2xx dışındaki her şey bir başarısızlıktır. 408 veya 429 dışındaki bir 4xx, yeniden denemeleri hemen durdurur — formbase bunu “uç noktanız bunu reddetti” olarak okur ve aynı baytları yeniden göndermek bunu değiştiremez.

  3. Alıcıyı düzeltin, sonra Yeniden gönder’e basın. Aynı yük, aynı olay kimliğiyle tekrar gönderilir, bu yüzden yinelenenleri ayıklayan bir alıcı güvendedir.

İnsanların karşılaştığı diğer şeyler

  • Alıcı, bağlantının form yerine bir bildirim gösterdiğini söylüyor. İstek nihai — tamamlandı, süresi doldu ya da iptal edildi. Bu, sonuç sayfasıdır. Başka bir denemeye ihtiyaçları varsa yeni bir istek oluşturun.

  • Bir düzenlemeden sonra bir otomasyon eşleşmeyi bıraktı — geri çağırmadan bir yanıt kayboldu, ya da requests.create, UNKNOWN_FIELD_KEY ile bir anahtarı reddetmeye başladı. Yayınlanmış bir alan anahtarı kayboldu: birisi onu yeniden yazdı, ya da soruyu silip yerine yeni bir tane ekledi. Yeniden başlıklandırma güvenlidir; bu ikisi değildir. Alanda eski anahtarı yazın (araç çubuğundaki anahtar simgesi → Anahtarlar) ve yeniden yayınlayın. Yayın bu olmadan önce uyarır — bkz. Yayınlanmış bir anahtar kaybolmak üzere olduğunda.

  • Bir dosya yüklemesi veya imza için önceden doldurma reddediliyor. Bunlar bir çağıran tarafından sağlanamaz — fields.list onları prefillable: false olarak işaretler.

  • Bir workflow çalışması için iki istek ortaya çıktı. Çalışma bir idempotencyKey olmadan yeniden denendi. Yürütme kimliğini anahtar olarak geçirin.