API Rehberi
Kimlik doğrulamayı, liste meta verilerini almayı ve kayıtları almayı ve oluşturmayı öğreneceksiniz.
Kimlik Doğrulama
Workiom'daki tüm API'ler, header kısmına eklenmesi gereken bir API Key gerektirir. API Key'inizi Hesap Ayarları bölümünden alabilirsiniz.


Ardından bu anahtarı "X-Api-Key" ismini kullanarak header'a ekleyin.
Örnek:
curl -X GET "https://api.workiom.com/api/services/app/Apps/GetAll" -H "accept: text/plain" -H "X-Api-Key: {Your API Key}"
Liste Meta Verilerini Alma
Bir liste üzerinde yapmak isteyebileceğiniz işlemlerin çoğu, önce listenin meta verilerini almanızı gerektirir. Meta veri yanıtı; listenin alanları ve görünümleri ile bunların ID'leri gibi birçok faydalı bilgiyi içerir.
Yanıt
{ "appId": "string", "fields": [ { "id": 0 "name": "string", "description": "string", "dataType": 0, } ], "id": "string" "name": "string", "description": "string"}
Liste Kayıtlarını Alma
Bir listedeki kayıtlara erişmek basit ve esnektir. Kayıtları almak için bir listId belirtmeniz gerekir; ayrıca sıralama seçenekleri belirtebilir, sayfalama için maxResultCount ve skipCount kullanabilir veya aldığınız kayıtlar üzerinde çok daha ayrıntılı kontrol sağlamak için bir filtre nesneleri dizisi gönderebilirsiniz.
POST `/api/services/app/Data/All`
Content-Type "application/json"
Headers`X-Api-Key {Your API Key} `
Gövde (Body)
Yanıt
{ "summary": { "additionalProp1": 0, "additionalProp2": 0, "additionalProp3": 0 }, "totalCount": 0, "items": [ {} ]}
Kayıt Oluşturma
Kayıtlar, her anahtarın bir fieldId, her değerin ise kaydın o alana ait değeri olduğu basit JSON nesneleridir. Farklı alanlar farklı veri türlerine sahip olabilir; bir alanın id ve dataType bilgisini listenin meta veri yanıtında bulabilirsiniz.
Filtreler
Veri talep ederken filtreler kullanılabilir. Filtre genellikle; filtrelenecek fieldId'yi, filtre operatörünü ve bir filtre değerini içeren nesnelerden oluşan bir dizidir. Örneğin, bir Data/All isteğindeki filtre özelliği şu şekilde olabilir:
Sıralama
Sıralama, sıralanacak fieldId'yi ve sıralama yönünü içeren bir sıralama metni kullanılarak yapılabilir. Örneğin, 11284 numaralı alan üzerinde artan sıralama şöyledir:
sorting: "11284 ASC"
Aynı alan üzerinde azalan sıralama için:
sorting: "11284 DESC"
Veri Türleri
Workiom birçok alan veri türünü destekler; farklı veri türlerine sahip alanlar farklı türde değerleri kabul eder. Örneğin bir Tarih alanı yalnızca tarih kabul ederken, bir LinkedList alanı yalnızca bağlantılı kayıt ID'lerini içeren nesnelerden oluşan bir diziyi kabul eder. Veri türleri aşağıdaki sayılarla temsil edilir:
Kayıtları Güncelleme
Kayıt güncelleme, kayıt oluşturmaya neredeyse kadar basittir. POST yerine
bir PUT çağrısı yapmanız ve liste ID'sine ek olarak
kayıt ID'sini de sağlamanız yeterlidir. Bu standart bir PUT isteğidir, dolayısıyla istek
gövdesi, değişen alanları güncellenmiş hâliyle kaydın tamamını içerir.
PUT /api/services/app/Data/Update
Content-Type: "application/json"
Headers`X-Api-Key {Your API Key} `
Parametreler: listId: string, id: string
Gövde (Body)
Kayıtları Kısmen Güncelleme
Her güncellemede kaydın tamamını göndermek istemiyorsanız
/UpdatePartial endpoint'ini kullanabilirsiniz. Bu endpoint, /Update adresindeki standart PUT endpoint'inden farklı olarak yalnızca değişen
alanları göndermenize olanak tanır.
Veri Türlerine Göre Payload
Linked List: [ { "_id":string, "label":string } ]
Static List { "id":string, "label":string }
User { "id":int, "username":string }
Her türlü sorunuz için bize support@workiom.com adresinden ulaşabilirsiniz. Bu içerik, zamanla geliştirilecek ve genişletilecek sınırlı kapsamlı genel bir kılavuz olarak hazırlanmıştır. Daha resmî ve kapsamlı dokümantasyon için:
Kaynaklar:
Swagger spec şu adreste mevcuttur: https://api.workiom.com/swagger/.
API endpoint'i şu adreste mevcuttur: https://api.workiom.com.
Kayda dosya ekleme
Bir kayda dosya eklemek için şunları yapmanız gerekir:
- Dosyayı sunucuya yükleyin.
- Dosya ID'sini alın ve istediğiniz API'de kullanın.
Dosyayı yükleme
- Dosyayı /File/Upload API'sini kullanarak yükleyin.
- Yükleme tamamlandığında, dosya bilgilerini içeren bir yanıt alırsınız.
- Bu bilgileri, bir kaydı oluştururken veya güncellerken kullanmak üzere saklayın.
API Yanıtı:
fileName
:
"FILE_NAME"
fileToken
:
"FILE_TOKEN"
fileType
:
"FILE/MIME_TYPE"
fileUrl
:
"FILE_URL"
hasThumbnail
:
true
/
false
thumbnailUrl
:
"FILE_THUMBNAIL_URL"
// for images files
success
:
true
targetUrl
:
null
unAuthorizedRequest
:
false
Dosya yüklemek için Curl örneği
<?php
// Set the URL where you want to upload the file
$uploadUrl = "https://api.workiom.com/File/Upload";
// Set the file name and its path on your local machine
$fileName = "image-file.png";
$filePath = "/path/to/local/image-file.png"; // Replace this with the actual file path
// Create a cURL handle
$curl = curl_init();
// Set the cURL options
curl_setopt($curl, CURLOPT_URL, $uploadUrl);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($filePath, mime_content_type($filePath), $fileName)
]);
// Execute the cURL request and get the response
$response = curl_exec($curl);
// Check if there was an error during the cURL request
if (curl_errno($curl)) {
echo "cURL Error: " . curl_error($curl);
} else {
// Process the response from the API
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode === 200) {
echo "File uploaded successfully!";
// You can handle the API response here if needed
// $decodedResponse = json_decode($response, true);
// ... handle the response data ...
} else {
echo "File upload failed. Status code: " . $statusCode;
// ... handle the error ...
}
}
// Close the cURL handle
curl_close($curl);
?>
Kayıt Oluşturma/Güncelleme
Önceki adımdan edindiğiniz dosya bilgilerini kullanarak kayıt oluşturma veya kayıt güncelleme API'sini çağıracağız.
Kısmi güncelleme API'sini kullanarak dosya alanı ID'si olarak 12345 değerini kullanalım.
/api/services/app/Data/UpdatePartial?listId=LIST_ID&id=RECORD_ID
Bir dosya dizisi göndermemiz gerekir; bu dizi şu şekilde görünmelidir:
{
‘12345’: [
{
"AnonymousForm"
:
false
,
"ContentType"
:
"FILE/MIME_TYPE"
,
"ExpiryDate"
:
null
,
"FileName"
:
"FILE_NAME"
,
"FileUrl"
:
null
,
"ThumbnailUrl"
:
null
,
"HasThumbnail"
:
true/false
,
"IsPermanent"
:
true
,
"Size"
:
FILE_SIZE
,
"UserId"
:
CURRENT_USER_ID
,
"_id"
:
"FILE_TOKEN"
}
]
}
Aynı payload'u kayıt oluşturma API'si olan /api/services/app/Data/Create?listId=LIST_ID için de kullanabiliriz.

