postFormsData
Form verilerini OneEntry platformuna gönderin.
🎯 Bu yöntem ne yapar?
Bu yöntem form verilerini OneEntry platformuna gönderir. Bunu, bir iletişim formunda "Gönder" butonuna tıklamak gibi düşünün - kullanıcının girdiği tüm bilgileri (isim, e-posta, mesaj, dosyalar vb.) sunucuya gönderir.
Kullanım durumları:
- 📝 İletişim formları
- 📋 Kayıt formları
- 💬 Geri bildirim formları
- 📤 Dosya yüklemeleri
- 🎫 Destek talepleri
📖 Basit Açıklama
Bir kullanıcı web sitenizde bir form doldurduğunda, bu verileri bir yere göndermeniz gerekir. Bu yöntem tam olarak bunu yapar - tüm form alanlarını (metin, sayılar, dosyalar vb.) alır ve OneEntry'ye gönderir.
Bunu şöyle düşünün:
Kullanıcı formu doldurur → Kodunuz postFormsData() çağrısını yapar → Veriler OneEntry'de kaydedilir ✅
🚀 Süper Basit Örnek (Buradan Başlayın!)
Senaryo: Sadece bir isim alanına sahip bir iletişim formunuz var.
// Adım 1: Kullanıcı formu doldurur (örneğin, "John Doe" yazar)
// Adım 2: OneEntry'ye gönderin
const response = await FormData.postFormsData({
formIdentifier: "contact_us", // 👈 Formunuzun adı
formModuleConfigId: 2, // 👈 Form yapılandırma ID'si (OneEntry admin'den)
moduleEntityIdentifier: "blog", // 👈 Nereye kaydedileceği (OneEntry'den)
replayTo: null, // 👈 Yanıt e-postası (isteğe bağlı)
status: "sent", // 👈 "gönderildi" veya "taslak"
formData: [ // 👈 Gerçek form verileri
{
marker: "name", // 👈 Alan adı
type: "string", // 👈 Alan türü
value: "John Doe" // 👈 Kullanıcının girişi
}
]
});
// ✅ Tamam! Form başarıyla gönderildi
console.log("Form gönderildi, ID:", response.formData.id);
Hepsi bu kadar! Şimdi farklı alan türlerini nasıl yöneteceğimize bakalım...
📋 Kullanımdan Önce Bilmeniz Gerekenler
Bu yöntemi çağırmadan önce, OneEntry admin panelinden bu 3 şeye ihtiyacınız var:
- formIdentifier - Formunuzun benzersiz adı (örneğin, "contact_us")
- formModuleConfigId - Form yapılandırma ID'si (bir sayı, örneğin, 2)
- moduleEntityIdentifier - Verilerin nerede saklanacağı (örneğin, "blog", "contacts")
Bunları nasıl bulabilirsiniz?
- OneEntry Admin hesabınıza giriş yapın
- Formlar bölümüne gidin
- Form yapılandırmanızdan değerleri kopyalayın
🔧 Yöntem İmzası
FormData.postFormsData(
body*,
body.formIdentifier*,
body.formModuleConfigId*,
body.moduleEntityIdentifier*,
body.replayTo*,
body.status*,
body.formData*,
body.fileQuery,
langCode
);
Parametreler şeması
Şema (body)
body(required): IBodyPostFormData
İstek gövdesi
örnek:
{
"formIdentifier": "test-form",
"formModuleConfigId": 2,
"moduleEntityIdentifier": "blog",
"replayTo": null,
"status": "sent",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
]
}
body.formIdentifier(required): string
Formun metin tanımlayıcısı (marker).
örnek: "form"
body.formModuleConfigId(required): number
Form modül yapılandırmasının benzersiz tanımlayıcısı.
örnek: 2
body.moduleEntityIdentifier(required): string
Modül varlığının metin tanımlayıcısı (marker).
örnek: "blog"
body.replayTo(required): string | null
Yanıt verilecek e-posta.
örnek: "some@email.com"
body.status(required): string
Formun durumu.
örnek: "sent"
body.formData(required): FormDataType[]
Form veri nesneleri dizisi.
örnek:
[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
body.fileQuery: IUploadingQuery
Dosya yüklemek için isteğe bağlı dosya sorgusu.
örnek:
{
"type": "page",
"entity": "editor",
"id": 3787
}
langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"
Örnekler
Minimal örnek
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "last_name", "type": "string", "value": "Andrey" } ]};
const response = await FormData.postFormsData(body);
Basit tür niteliği "string", "number", "float" ile örnek
const body = { "formIdentifier": "test-form", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "string_marker", "type": "string", "value": "Kullanıcı Adı" }, { "marker": "number_marker", "type": "number", "value": 1 }, { "marker": "float_marker", "type": "float", "value": 2.256 } ]};
const response = await FormData.postFormsData(body);
Basit tür niteliği "date", "dateTime", "time" ile örnek
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "date_marker", "type": "date", "value": { "fullDate": "2024-05-07T21:02:00.000Z", "formattedValue": "08-05-2024 00:02", "formatString": "DD-MM-YYYY HH:mm" } } ]};
const response = await FormData.postFormsData(body);
Basit tür niteliği "text" ile örnek (Sadece htmlValue, plainValue veya mdValue'dan biri sağlanabilir)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "about_marker", "type": "text", "value": [ { "htmlValue": "<p>Merhaba dünya</p>", "params": { "isImageCompressed": true, "editorMode": "html" } } ] } ]};
const response = await FormData.postFormsData(body);
Basit tür niteliği "textWithHeader" ile örnek (Sadece htmlValue, plainValue veya mdValue'dan biri sağlanabilir)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "textwithheader_marker", type: "textWithHeader", value: [ { "header": "Başlık", "htmlValue": "<p>Merhaba Dünya</p>", "params": { "isImageCompressed": true, "editorMode": "html" } } ] } ]};
const response = await FormData.postFormsData(body);
"image" tür niteliği ile örnek
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* Gerçek dünyada, URL'den dosya oluşturmak için File API'sini kullanmalısınız, ancak basitlik açısından, önceden tanımlanmış dosya URL'sini kullanacağız ve bu örnek için createFileFromUrl yöntemini kullanacağız */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "image_marker", type: "image", value: [ file ] } ]};
const response = await FormData.postFormsData(body);
"groupOfImages" tür niteliği ile örnek
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* Gerçek dünyada, URL'den dosya oluşturmak için File API'sini kullanmalısınız, ancak basitlik açısından, önceden tanımlanmış dosya URL'sini kullanacağız ve bu örnek için createFileFromUrl yöntemini kullanacağız */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "groupofimages_marker", type: "groupOfImages", value: [ file ] } ]};
const response = await FormData.postFormsData(body);
"files" tür niteliği ile örnek
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* Gerçek dünyada, URL'den dosya oluşturmak için File API'sini kullanmalısınız, ancak basitlik açısından, önceden tanımlanmış dosya URL'sini kullanacağız ve bu örnek için createFileFromUrl yöntemini kullanacağız */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "picture_marker", "type": "file", "value": [ { "filename": "files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png", "downloadLink": "http://my-site.com/cloud-static/files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png", "size": 392585 } ] } ]};
const response = await FormData.postFormsData(body);
"radioButton" veya "list" tür niteliği ile örnek
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "selector_marker", "type": "list", "value": [ { "marker": "list", "type": "list", "value": ["1"] } ] } ]};
const response = await FormData.postFormsData(body);
"entity" (iç içe liste) tür niteliği ile örnek
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "entity_marker", "type": "entity", "value": [25, 32, 24] } ]};
const response = await FormData.postFormsData(body);
Değer - sayısal tanımlayıcılar sayfalar için ve ürünler için metin tanımlayıcıları. Ürün tanımlayıcıları 'p-' ön ekini içermelidir, örneğin, 'p-1-', 'p-2-', vb. p-[parentId]-[productId]
"timeInterval" tür niteliği ile örnek
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: 'timeinterval_marker', type: 'timeInterval', value: [ [ "2025-02-11T16:00:00.000Z", "2025-02-13T16:00:00.000Z" ] ] }, ]};
const response = await FormData.postFormsData(body);
değer — ISO 8601 formatında aralık dizileri. örneğin 2025-02-11T16:00:00:000Z
2025 — yıl; 02 — ay; 11 — ayın günü; T — tarih ve saat arasındaki ayırıcı; 16:00:00 — saat:dakika:saniye formatında zaman; 000Z — milisaniye ve zaman dilimi belirtimi. Z, zamanın UTC formatında belirtildiği anlamına gelir.