Ana içeriğe geç

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:

  1. formIdentifier - Formunuzun benzersiz adı (örneğin, "contact_us")
  2. formModuleConfigId - Form yapılandırma ID'si (bir sayı, örneğin, 2)
  3. 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.


Örnek dönüş:

{
"formData": {
"formIdentifier": "test-form",
"time": "2026-01-07T04:15:52.928Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"entityIdentifier": "blog",
"fingerprint": "UQ_ue7gas",
"isUserAdmin": false,
"formModuleId": 2,
"userIdentifier": null,
"parentId": null,
"id": 3481
},
"actionMessage": ""
}

Yanıt şeması

Şema: IPostFormResponse

formData: object
Form verileri.
örnek:

{
"id": 42,
"formIdentifier": "contact_form",
"time": "2023-10-01T12:00:00Z",
"entityIdentifier": "blog",
"isUserAdmin": false,
"formModuleId": 2,
"parentId": null,
"userIdentifier": null,
"formData": [
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
}

formData.id: number
Form sayfasının benzersiz tanımlayıcısı.
örnek: 12345

formData.formIdentifier: string
Formun tanımlayıcısı.
örnek: "contact_form"

formData.time: string
Formun gönderim zamanı.
örnek: "2023-10-01T12:00:00Z"

formData.entityIdentifier: string
Varlık tanımlayıcısı.
örnek: "blog"

formData.isUserAdmin: boolean
Kullanıcı admin mi.
örnek: false

formData.formModuleId: number
Form modül tanımlayıcısı.
örnek: 2

formData.parentId: any
Üst tanımlayıcı.
örnek: null

formData.userIdentifier: any
Kullanıcı tanımlayıcısı.
örnek: null

formData.formData: FormDataType[]
Form alanları verileri.
örnek:

[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]

actionMessage: string
Form verileri için işlem mesajı.
örnek: "Form başarıyla gönderildi"