Ana içeriğe geç

Bir varlık alan türü ile form gönderme (sayfalar, ürünler...)

Bu örnekte, OneEntry API'sini kullanarak sayfalar veya ürünler gibi bir varlık alan türü içeren bir formun nasıl gönderileceğini gösteriyoruz.

✅ Senaryonun amacı:

  • OneEntry Platform'dan form yapılandırmasını almak
  • Kullanıcının varlıkların bir öğesini seçmesi
  • Toplanan verileri OneEntry API'sine göndermek.

✅ İhtiyacınız olanlar:

  • OneEntry API'si ile kimlik doğrulama için geçerli bir PROJECT_URL ve APP_TOKEN.
  • OneEntry'de bir işaretçi (örneğin, varlık) ve "varlık" türünde bir alan içeren önceden yapılandırılmış bir form.
  • "varlık" türünde bir alan içeren önceden yapılandırılmış form alanları.

📌 Önemli:

  • Bu örneklerde hataları ele almıyoruz.
  • Hataları trycatch içinde veya "await Promise.catch((error) => error)" gibi bir yapı içinde ele alabilirsiniz.

Senaryo

1. oneEntry'yi içe aktarın ve url ile token'ı tanımlayın

Örnek:

import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

2. defineOneEntry() fonksiyonu ile bir API istemcisi oluşturma

Örnek:

const { AuthProvider, Orders, Payments, Forms } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

3. Forms.getFormByMarker() ile OneEntry Platform'dan form verilerini alıyoruz

Örnek:

const formData = await Forms.getFormByMarker('entity');
Sonuç:
{
"id": 2,
"attributeSetId": 1,
"type": "data",
"localizeInfos": {
"title": "Varlık",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 17,
"position": 1,
"identifier": "entity",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "entity",
"marker": "entity",
"isLogin": null,
"isSignUp": null,
"position": 1,
"settings": {},
"isVisible": true,
"listTitles": [
{
"id": 1,
"depth": 0,
"title": "Katalog",
"parentId": null,
"position": 1,
"selected": true
},
{
"id": 7,
"depth": 0,
"title": "Premium sayfa",
"parentId": null,
"position": 2,
"selected": true
}
],
"validators": {},
"localizeInfos": {
"title": "Varlık"
},
"additionalFields": [],
"isNotificationEmail": null,
"isNotificationPhoneSMS": null,
"isNotificationPhonePush": null
}
]
}

4. Varlık türü niteliğinin öğelerinden birini seçin ve değeri sayfalar için id'lerin (sayısal) dizisi veya ürünler için string'lerin dizisi olarak geçirin

Örnek:

[
{
"marker": "entity",
"type": "entity",
"value": [
1
]
}
]

5. FormData.postFormsData() ile form verilerini gönderin

Örnek:

const response = FormData.postFormsData({
formIdentifier: 'entity',
formData: fieldsData,
});
console.log(response);
Sonuç:
{
"formData": {
"formIdentifier": "entity",
"time": "2025-08-29T17:30:21.596Z",
"formData": [
{
"marker": "entity",
"type": "entity",
"value": [
1
]
}
],
"id": 94
},
"actionMessage": ""
}

Son örnek

// 1. oneEntry'yi içe aktarın ve PROJECT_URL ile APP_TOKEN'ı tanımlayın
import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

// 2. Bir API istemcisi oluşturma:
const { Forms, FormData } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

// 3. OneEntry Platform'dan form verilerini alıyoruz
const formData = await Forms.getFormByMarker('entity');

// 4. Varlık türü niteliğinin öğelerinden birini seçin
const fieldsData = [
{
marker: 'entity',
type: 'entity',
value: [
1,
],
},
];

// 5. Form verilerini FormData.postFormsData() ile gönderin
let response = await FormData.postFormsData({
formIdentifier: 'entity',
formData: fieldsData,
});
// console.log(response);