Ana içeriğe geç

Başlarken

OneEntry Headless CMS SDK, OneEntry Headless CMS API ile etkileşim kurmanın kolay bir yolunu sağlayan bir SDK'dır.

Resmi Site

AsyncModules Headless CMS hakkında daha fazla bilgi edinmek için resmi AsyncModules web sitesini https://oneentry.cloud ziyaret edin.

Kayıt Ol

AsyncModules ile başlamanız için https://account.oneentry.cloud/authentication/register adresinde bir hesap oluşturun.

Kurulum

Projenizde AsyncModules Headless CMS SDK'sını kurmak için aşağıdaki komutu çalıştırın:

npm install oneentry

Projenizde AsyncModules Headless CMS SDK'sını kullanmak için defineOneEntry fonksiyonunu içe aktarın:

import { defineOneEntry } from 'oneentry'

const config = {
token:'your-app-token',
};
const {
Admins,
AttributesSets,
AuthProvider,
Blocks,
Events,
Forms,
FormData,
FileUploading,
GeneralTypes,
IntegrationCollections,
Locales,
Menus,
Orders,
Pages,
Products,
ProductStatuses,
System,
Templates,
TemplatePreviews,
Users,
WS
} = defineOneEntry('your-url', config);

Ya da

const config = {
token:'your-app-token',
};
const api = defineOneEntry('your-url', config);

Konfigürasyon

Yapıcının ikinci parametresi 'config' alır. Aşağıdaki değerleri içerir:

  • 'token' - Projeniz için güvenli "Güvenlik API Token" anahtarını ayarlayın. Eğer sertifika koruması kullanıyorsanız, bu değişkeni geçmeyin. Projenizin güvenliği hakkında daha fazla bilgi için buraya göz atabilirsiniz.

  • 'langCode' - Varsayılan dili ayarlamak için "langCode" değerini belirleyin. Bu parametreyi bir kez belirterek, langCode'u ONEENTRY API yöntemlerine geçmek zorunda kalmazsınız. Varsayılan dili geçmediyseniz, "en_US" olarak ayarlanacaktır.

  • 'traficLimit' - Bazı yöntemler, aldığınız verilerin eksiksiz ve üzerinde çalışmanın kolay olması için CMS'ye birden fazla istek gönderir. Bu parametre için "true" değerini geçerek trafiği tasarruf edin ve hangi verilere ihtiyacınız olduğunu kendiniz belirleyin. Varsayılan değer "false"dur.

  • 'auth' - Yetkilendirme ayarlarıyla bir nesne. Varsayılan olarak, SDK kullanıcı oturumu içindeki token'larla çalışacak şekilde yapılandırılmıştır ve sizden ek bir işlem gerektirmez. Aynı zamanda, SDK oturumlar arasında oturum durumunu saklamaz. Bu ayarlarla memnunsanız, 'auth' değişkenini hiç geçmeyin.

'auth' aşağıdaki ayarları içerir:

  • 'refreshToken' - Kullanıcının yenileme token'ı. Kullanıcının oturumunu başlatma sırasında burada depolamak için buradan aktarın.

  • 'saveFunction' - Yenileme token'ı ile çalışan bir fonksiyon. Token'ı oturumlar arasında saklamak istiyorsanız, örneğin yerel depolamada, bunu yapan bir fonksiyonu buraya geçin. Fonksiyon, token ile birlikte geçilecek bir parametre almalıdır.

  • 'customAuth' - Yetkilendirmeyi kendiniz yapılandırmak ve token'larla çalışmak istiyorsanız, bu bayrağı true olarak ayarlayın. SDK ayarlarını kullanmak istiyorsanız, false olarak ayarlayın veya hiç geçmeyin.

Token koruması ve oturumlar arasında durumu saklayan otomatik yetkilendirme ile bir yapılandırma örneği

const tokenFunction = (token) => {
localStorage.setItem('refreshToken', token)
}

const api = defineOneEntry('https://my-project.oneentry.cloud', {
token:'my-token',
langCode:'en_US',
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: tokenFunction
}
})

Sertifika ile korunan bir yapılandırma örneği, yetkilendirme sistemini kendiniz yapılandırmanıza ve isteklerde verileri saklamanıza olanak tanır.

const api = defineOneEntry('https://my-project.oneentry.cloud', {
langCode:'en_US',
traficLimit: true,
auth: {
customAuth: true,
refreshToken: localStorage.getItem('refreshToken')
}
})

Token'ları kendiniz yapılandırmayı seçtiyseniz, token'ı metoda aşağıdaki gibi geçebilirsiniz. Ara yöntem, isteğe bir erişim token'ı geçmenizi sağlar. Ardından gerekli yöntemi çağırın. Bu yöntem (setAccessToken), kullanıcı yetkilendirmesi gerektirmeyen bir yöntem çağrılmadığında çağrılmamalıdır.

const user = api.Users.setAccessToken('my.access.token').getUser()

Bağlantı güvenliğini sağlamak için token korumasını seçtiyseniz, token'ınızı isteğe bağlı bir parametre olarak fonksiyona geçin.

Token'ı aşağıdaki gibi alabilirsiniz:

  1. Kişisel hesabınıza giriş yapın
  2. "Projeler" sekmesine gidin ve bir proje seçin
  3. "Erişim" sekmesine gidin
  4. "Güvenlik API Token" anahtarını açın
  5. Projeye giriş yapın, ayarlar bölümüne gidin ve token sekmesini açın
  6. Projenizin token'ını alın ve kopyalayın

Projenizi korumak için bir tls sertifikası da bağlayabilirsiniz. Bu durumda, "token"ı hiç geçmeyin. Sertifika kullanırken, projenizde bir proxy ayarlayın. URL parametresi olarak boş bir dize geçin. Güvenlik hakkında daha fazla bilgi edinin

const saveTokenFromLocalStorage = (token) => {
localStorage.setItem('refreshToken', token)
}

const api = defineOneEntry('your-url', {
token: 'my-token',
langCode:'my-langCode',
auth: {
customAuth: false,
userToken: 'rerfesh.token',
saveFunction: saveTokenFromLocalStorage
}
});

Hatalar

SDK içinde hatalardan kaçınmak istiyorsanız, "errors" özelliğini varsayılan olarak bırakın. Bu durumda, ya varlık verilerini ya da hata nesnesini alırsınız. Tür kontrolü yapmanız gerekir. Örneğin, statusCode özelliğini ".hasOwnProperty" ile kontrol ederek.

Ancak "try catch(e) " yapısını kullanmak istiyorsanız, "isShell" özelliğini "false" değerine ayarlayın. Bu durumda, hatayı "try catch(e) " kullanarak ele almanız gerekir.

Ayrıca, SDK içinde uygun hata kodu ile çağrılacak özel fonksiyonlar geçebilirsiniz. Bu fonksiyonlar bir hata nesnesini argüman olarak alır. Bunu kendiniz işleyebilirsiniz.

const api = defineOneEntry('your-url', {
token: 'my-token',
langCode:'my-langCode',
errors: {
isShell: false,
customErrors: {
400: (error) => console.error(error.message),
404: (error) => console.error(error.message),
500: (error) => console.error(error.message)
}
}
});