formbasedocs
Uygulamaya gitUygulama

İstekler

Alan anahtarları

Bir alan anahtarı, bir formdaki bir alanın geliştiriciye dönük adıdır — company_name, contacts. Bir otomasyonun bir alanı önceden doldurmasını, kilitlemesini veya yanıtı geri okumasını sağlayan şey budur ve yeniden başlıklandırmaya ve çoğaltmaya rağmen değişmez.


Neden var

Alan anahtarları olmasaydı, bir otomasyonun sorularınızı kimse için bir anlam ifade etmeyen dahili kimliklerle adreslemesi gerekirdi — ve bir webhook gövdesi bunlarla dolu gelirdi. Alan anahtarlarıyla her iki taraf da aynı şekilde okur:

Otomasyonunuzun gönderdiği ve aldığı
json
{ "company_name": "Acme", "employees": 120, "contacts": [{ "name": "Ada" }] }

Alan anahtarları iki yerde kullanılır: bir istek oluşturulurken prefill, context ve readonly; ve her geri çağırmadaki ve her webhook gövdesindeki answers ve display haritaları.

Nerede bulunur

crimson, blue ve green seçenekleriyle pick_one'ı ve satır ile sütunlarıyla bir matrisi listeleyen Anahtarlar tablosu
Anahtarlar tablosu: her alan, seçenek, satır ve sütun, her anahtar yerinde düzenlenebilir.

Formun yayınladığı her anahtar tek bir yerde yaşar, Anahtarlar tablosunda: her alan, bir seçim sorusunun altında her seçenek, bir matrisin altında her satır ve sütun. Tablo, geri çağırmanızın taşıyacağı answers nesnesinin, sizin anahtarlarınızla dolu bir önizlemesiyle sona erer.

  1. 1

    Açın

    Düzenleyici araç çubuğundaki anahtar simgesine tıklayın (ya da dar bir pencerede araç çubuğunun taşan menüsünde Anahtarlar'a). Tablo, tüm formun üzerinde bir yan sayfa olarak açılır.

  2. 2

    Yer tutucuyu okuyun

    Bir giriş boşken yer tutucusu, alanın gerçekte yanıt verdiği anahtarı gösterir — form yayındaysa yayınlandığı anahtarı, değilse geçerli başlığından ya da etiketinden türetilen anahtarı. Geçersiz kılmak için yazın; geri dönmek için girişi temizleyin.

Her seçeneğin ipucu satırı — düzenlediğiniz seçeneğin altındaki gri satır — anahtarını bir chip olarak sonlandırır. Anahtarı yerinde düzenlemek için chip’e tıklayın, bitirince Enter veya Escape tuşuna basın. Bir matris, etiketini düzenlediğiniz satır veya sütun için chip’i gösterir. Form yayındaysa ve yazdığınız anahtar otomasyonların zaten kullandığı anahtarı taşıyacaksa chip turuncuya döner.

Aynı tablo, bir entegrasyon bağlarken salt okunur olarak görünür: webhook’un alan eşlemesinin altında ve Paylaş panelinin İstekler kartındaki istek parçacıklarının altında. Tüm anahtarları aynı anda fields.list ile de okuyabilirsiniz.

Bir anahtar nasıl türetilir

Hiçbir şey ayarlamanız gerekmez. Siz düzenleyene kadar bir anahtar, sorunun başlığından türetilir: aksanlar kaldırılır ve ø, æ, ß gibi harfler o, ae ve ss olur, her şey küçük harfe çevrilir, harf veya rakam olmayan her ardışık dizi tek bir alt çizgiye dönüşür, baştaki ve sondaki alt çizgiler kaldırılır ve sonuç 64 karaktere kısaltılır.

Soru başlığıTüretilen anahtar
Company namecompany_name
What is your VAT number?what_is_your_vat_number
Prénomprenom
Søknad om støttesoknad_om_stotte
الاسم الكاملfield_3 — Latin harfi veya rakam yok, bu yüzden formdaki konumuna geri döner

Yalnızca Arapça, İbranice, Kiril, Yunanca, Çince veya Japonca gibi Latin dışı bir yazıyla yazılmış bir başlıkta kaldırılacak bir şey olmaz; bu yüzden anahtarı field_ artı konumudur, bir seçeneğinki ise option_ artı konumudur. Bu anahtarlar yayınlandıktan sonra diğerleri kadar kararlıdır, ancak soru hakkında hiçbir şey söylemez. Bir otomasyon yanıtları okuyorsa, Anahtarlar tablosunda okunaklı bir anahtarı kendiniz ayarlayın.

İki alan aynı anahtarla sonuçlanacaksa, formbase _2, _3 gibi ekler ekleyerek belge sırasına göre çakışmayı çözer. Kendi belirlediğiniz bir anahtar her zaman iddiasını kazanır, türetilen anahtar geri çekilir.

Kendi anahtarınızı ayarlamak

Türetilen anahtarın yerine geçmesi için Alan anahtarı girişine bir ad yazın. Girişi temizlemek türetilen anahtara geri döner. İzin verilen karakterler harfler, rakamlar, _, . ve -’dir, en fazla 64 karakter — başka her şey “Sadece harf, rakam ve _ . - kullanın (en fazla 64 karakter).” ile reddedilir. Siz yazarken boşluklar alt çizgiye dönüştürülür, böylece “contact name” contact_name olur.

Anahtarlar büyük/küçük harfe duyarlıdır ve bir form içinde benzersiz olmalıdır. Başka bir soru, tekrarlayan grup, gizli alan veya hesaplanan alan tarafından zaten kullanılan bir anahtarı yeniden kullanmak “Bu anahtarı başka bir alan zaten kullanıyor.” ile reddedilir.

Anahtarlar ilk yayında donar

İlk yayınladığınızda, her alanın anahtarı o yayınlanmış sürüme yazılır. Sonraki her yayın aynı anahtarları taşır, bunun anlamı şudur:

  • Yeniden başlıklandırma bir anahtarı asla taşımaz. “Company name”i “Legal entity name” olarak yeniden adlandırın, anahtar company_name olarak kalır. Otomasyonlarınız çalışmaya devam eder; yalnızca sayfadaki kelimeler değişir.

  • Bir sorunun türünü değiştirmek bir anahtarı asla taşımaz. Bir metin sorusunu bir açılır listeye dönüştürmek anahtarını korur — ancak otomasyonunuzun göndermesi gereken değer biçimi bununla birlikte değişir.

  • Bir soruyu taşımak anahtarını asla taşımaz. Konum, yalnızca kullanılabilir bir başlığı olmayan bir alandaki konumsal yedek için önemlidir.

  • Bir bloğu çoğaltmak kopyaya yeni bir anahtar verir. Kendi belirlediğiniz bir anahtar kopyalanır ve bir sonraki boş _2’ye yeniden anahtarlanır; türetilen anahtarlar yayında benzersiz hale getirilir.

  • Alan anahtarları var olmadan önce oluşturulmuş formlar anahtarlarını bir sonraki yayınlarında alır.

Yinelenenlerin yakalandığı yer de yayındır ve ikisi de bir alanı sessizce yeniden adlandırmak yerine yayını durdurur:

  • İki alan bir anahtarı iddia ederse — Field key “…” is used by more than one field.

  • Bir alana yazdığınız anahtar başka bir alan tarafından zaten yayınlanmışsa —

    Field key “…” is already published on “…”. Giving it to “…” would rename that field’s key to “…_2” and break automations using “…”.

    İkisinden birinde anahtarı serbest bırakın ve yeniden yayınlayın.

İkisi de Yayınla düğmesinin yanında, diğer her ön kontrol bulgusuyla birlikte görünür — bkz. Yayın kontrolleri.

Yayınlanmış bir anahtar kaybolmak üzere olduğunda

Bir anahtar, yayınlandığı alana aittir, başlığına değil. Bu yüzden istemeden bir anahtarı kaybetmenin iki yolu vardır: yayınlanmış bir alana farklı bir anahtar yazmak, ya da bir soruyu silip yerine yeni bir tane eklemek. Yeni soru yeni bir alandır — kendi başlığından türetilmiş yepyeni bir anahtar alır ve eski anahtar yok olur.

Bu gerçekleştiğinde formbase tarafında hiçbir şey başarısız olmaz. Webhook yine tetiklenir ve geri çağırma yine gelir, yalnızca o yanıt olmadan; ve requests.create, eski anahtarı UNKNOWN_FIELD_KEY ile reddetmeye başlar. Bu yüzden yayın önce bunu kontrol eder. Canlı sürümün yayınladığı bir anahtar bir sonraki sürümde bulunmayacaksa, yayın iletişim kutusu ve Yayınla düğmesinin yanındaki sorun göstergesi bir uyarı gösterir:

Yayın uyarısı
text
"company_name" alan anahtarı bu yayından sonra artık var olmayacak. Onu kullanan entegrasyonlar ve istekler bu yanıtı almayı bırakacak. Yeni bir "Company" alanı "company" olarak yayımlanıyor. Bunların çalışmaya devam etmesi için alan anahtarını "company_name" olarak ayarla.
  • Otomasyonlarınızın çalışmaya devam etmesi için Anahtarlar tablosunu açın, uyarının adını verdiği alanı bulun ve eski anahtarı yazın. Uyarı kaybolur ve anahtar hiçbir şey olmamış gibi devam eder.

  • Alanı kasıtlı olarak kaldırdıysanız yine de yayınlayın — bu bir hata değil, bir uyarıdır — ve anahtarı okuyan otomasyonları güncelleyin.

  • Uyarı bir alanı yalnızca seçim belirginken adlandırır: anahtarını yeniden yazdığınız alan, ya da tek bir silinenin yerinde duran tek bir yeni alan. Aksi halde yalnızca anahtarı adlandırır.

  • Bir tekrarlayan grubu silmek, grubun anahtarı ve içindeki her alanın anahtarı için uyarır. MCP sunucusunun form_publish’i üzerinden yayınlamak aynı mesajları warnings içinde döndürür.

  • Seçenek, satır ve sütun anahtarları da aynı muameleyi görür: yayınlanmış bir formda bir seçeneği silmek veya anahtarını yeniden yazmak yayında Option key “pro” of “Plan” will no longer exist after this publish uyarısını gösterir, seçenek hâlâ varsa şu anda yayınladığı anahtarı adlandırarak. Yayın iletişim kutusu, her iki düzeydeki her anahtar değişikliğini Bu yayında değişen anahtarlar başlığı altında listeler.

Tekrarlayan gruplar ve gizli alanlar

Bir tekrarlayan grubun kendi anahtarı vardır, içindeki her alanın da öyle. Otomasyonlar grubu bir bütün olarak adresler ve üyeleri iç içe yerleştirir:

contacts adında tekrarlayan bir grup
json
{ "contacts": [{ "name": "Ada", "email": "ada@acme.com" }, { "name": "Grace", "email": "grace@acme.com" }] }

Bir grubun içindeki bir alana yalnızca kendi grubu üzerinden ulaşılabilir — burada üst düzeyde bir name yoktur, yalnızca contacts[0].name vardır. Grubun anahtarını yeniden adlandırırsanız tüm dizi taşınır; bir üyenin anahtarını yeniden adlandırırsanız yalnızca her nesnenin içindeki o ad değişir.

Bir gizli alanın parametre adı, onun alan anahtarıdır. Bir istek oluştururken context içine koyduğunuz anahtar budur ve genel bir bağlantıda bir URL parametresinde kullanacağınız isimle aynıdır.

Bir hesaplanan alanın adı onun alan anahtarıdır ve formun geri kalanıyla paylaştığı tek anahtar kümesinin bir parçasıdır. Salt okunurdur: formun kendisi değerini hesaplar, bu yüzden siz asla bir değer gönderemezsiniz — fields.list onu calculated: true ile listeler ve requests.create, prefill ve context içinde onu reddeder. Ama geri okuyabilirsiniz: answers içinde kendi adı altında ( answers.total) gelir. Yayınlanmış bir hesaplanan alanı yeniden adlandırmak, diğer her alanla aynı yayın uyarısıyla, onun anahtarını da yeniden adlandırır.

Seçenek anahtarları: bir sorunun içindeki seçimler

Bir yanıtın adlandırdığı sorunun parçaları da anahtar alır. Bir radyo, açılır liste, onay kutusu, görsel seçim veya sıralama sorusunun her seçeneği, ve bir matrisin her satırı ve sütunu, bir seçenek anahtarına sahiptir: bir alan anahtarının bir başlıktan türetildiği şekilde etiketinden türetilir, düzenlenebilir ve yayında donar. Böylece bir yanıt her iki tarafta da bir ad olarak okunur:

Bir otomasyonun seçimler için gönderdiği ve aldığı
json
{ "plan": "pro", "interests": ["billing", "api"], "satisfaction": { "delivery_speed": "very_good" } }

Bir workflow, yanıtlayan hangi dilde yanıt verirse versin answers.plan == “pro” üzerinde dallanır ve bir istek bir seçimi { "plan": "pro" } ile önceden doldurur. Anahtarlar, her alanın options’ı altında ya da bir matrisin rows ve columns’ı altında fields.list tarafından listelenir ve Anahtarlar tablosunda ya da seçeneğin chip’inde düzenlenir. Her sorunun seçenekleri kendi ad alanına sahiptir, bu yüzden iki soru aynı anda bir yes’e sahip olabilir ve bir matrisin bir satırı ile bir sütunu aynı anahtarı paylaşabilir. Aynı anahtarı türetecek bir sorunun iki seçeneği, alanlarda olduğu gibi _2 ile birbirinden ayrılır.

Karar sorusu, üç seçeneği approve, decline ve changes anahtarlarını taşıyan sıradan bir radyo sorusudur; bir isteğin outcome’unu kapalı bir küme yapan da budur.