Uygulama Tanımlayıcısı

Uygulama tanımlayıcısı, Crowdin uygulamalarının temel yapı taşlarından biridir. Uygulama tanımlayıcısı, uygulamanın çalışmak veya genişletmek istediği modüllerinin yanı sıra uygulamanın genel bilgilerini içeren bir JSON dosyasıdır (örneğin, manifest.json). Uygulamanın nasıl çalışacağını, hangi kaynakların kullanılacağını, vb. açıklar. Aşağıda bir örnek görebilirsiniz.​

Uygulama Tanımlayıcısı Yapısı

{
   "identifier": "uygulama-tanımlayıcınız",
   "name": "Uygulamanız",
   "description": "Uygulama açıklaması",
   "logo": "/assets/logos/uyg-logo.png",
   "baseUrl": "http://ornek.com",
   "authentication": {
       "type": "authorization_code",
       "clientId": "istemci-kimliğiniz"
   },
   "events": {
       "installed": "/hooks/installed"
   },
   "scopes": [
       "project"
   ],
   "modules": {
       "project-integrations": [
           {
               "key": "modül-anahtarınız",
               "name": "Modül Adı",
               "description": "Modül açıklaması",
               "logo": "/assets/logos/modul-logo.png",
               "url": "/page/integration"
               "environments": [
                 "crowdin", "crowdin-enterprise"
              ]
           }
       ]
   }
}
identifier

Tür: string (^[a-z0-9-._]+$)

Not: Uygulama tanımlayıcısında büyük harf kullanmayın.

Zorunlu: evet

Açıklama: Uygulamayı tanımlamak için benzersiz bir anahtar. Bu tanımlayıcı şöyle olmak zorundadır: <= 255 characters.

name

Tür: dizgi

Zorunlu: evet

Açıklama: Uygulamanın okunabilir adı.

baseUrl

Tür: dizgi (uri)

Zorunlu: evet

Açıklama: Uygulama örneğine geri gönderilen tüm iletişimler için kullanılan uzak uygulamanın temel URL’si.
Uygulama bir çalışma alanına yüklendikten sonra, uygulamanın baseUrl’si, uygulama önceden kaldırılmadan değiştirilemez.

Bu önemlidir: Uygulamanızı herkese açık hale getirmeden önce baseUrl’nizi akıllıca seçin.
Tüm verilerin bulut örneklerimiz ve uygulamanız arasında güvenli bir şekilde gönderilmesini sağlamak için baseUrl, https:// ile başlamak zorundadır.

Not: Her uygulamanın benzersiz bir baseUrl’si olmak zorunda. Eğer aynı anamakineden birden fazla uygulama sunmak istiyorsanız,
baseUrl’ye bir yol öneki eklemeyi düşünün.

authentication

Tür: Kimlik Doğrulama

Zorunlu: evet

Açıklama: Anamakine uygulaması ile Crowdin uygulaması arasındaki istekleri imzalarken kullanılacak kimlik doğrulama türünü belirtir.

description

Tür: dizgi

Açıklama: Uygulamanın ne yaptığının okunabilir açıklaması.
Açıklama Crowdin kullanıcı arayüzünde görünür olacaktır.

logo

Tür: dizgi (relativeUri)

Açıklama: Crowdin kullanıcı arayüzünde görüntülenecek olan uygulamanın temel URL’sine ait resim URL’si.

events

Tür: Olaylar

Açıklama: Uygulamanın, uygulama olay bildirimlerine kaydolmasını sağlar.

scopes

Tür: [dizgi, … ]

Açıklama: Bu uygulama tarafından talep edilen kapsamlar grubu.

{
  "scopes": [
    "project",
    "tm"
  ]
}
modules

Tür: nesne

Açıklama: Bu uygulamanın sağladığı modüllerin listesi.

environments

Tür: [dizgi, … ]

İzin verilen değerler: crowdin, crowdin-enterprise

Açıklama: Modülün yüklenebildiği ortamlar kümesi.

{
  "environments": [
    "crowdin-enterprise"
  ]
}

Kimlik Doğrulama

​Anamakine uygulamasından Crowdin uygulamasına istekleri imzalarken kullanılacak kimlik doğrulama türünü belirtir. Crowdin Uygulamaları iki tür kimlik doğrulamayı destekler:

  • OAuth uygulamasını kullanma (crowdin_app değeri)
  • OAuth uygulaması olmadan (none değeri)

Crowdin uygulamanızın herhangi bir zamanda Crowdin API’ye erişim gerektirmesi durumunda, crowdin_app’i kullanmanız önerilir, diğer durumlarda none’ı kullanmaktan çekinmeyin. Kimlik doğrulama türü none, crowdin_app’in yanı sıra Crowdin API’ye de erişim sağlar, ancak sadece Crowdin uygulaması kullanıcı tarafında yürütüldüğünde, örneğin iframe açıldığında.

Örnek:

{
   "authentication": {
       "type": "crowdin_app",
       "clientId": "istemci-kimliğiniz"
   }
}

​ Özellikler:

type

Tür: dizgi

Varsayılanı: none

İzin verilen değerler: none, crowdin_app

Açıklama: Kullanılacak kimlik doğrulama türü.

clientId

Tür: dizgi

Açıklama: crowdin_app türü aracılığıyla yetkilendirme için OAuth istemci kimliği.

Modüller

Modüller, uygulamaların Crowdin’i genişletme ve onunla etkileşime girme şeklidir. Modülleri kullanarak uygulamanız aşağıdaki şeyleri yapabilir:

  • Crowdin kullanıcı arayüzünü genişletin.
  • Harici hizmetlerle bütünleştirmeler oluşturun.
  • Yeni özel dosya biçimleri için destek ekleyin.
  • Desteklenen dosya biçimleri için işlemeyi özelleştirin.

KA Modülleri ve Dosya İşleme Modülleri hakkında daha fazlasını okuyun.

Olaylar

Bir uygulamanın, çalışma alanında gerçekleşen olaylar için geri çağrıları kaydetmesine izin verin. Bir olay tetiklendiğinde, olay için kaydedilen uygun URL’ye bir POST isteği yapılacaktır. Installed geri çağrısı, bir uygulamanın kurulum işleminin ayrılmaz bir parçasıdır, oysa geri kalan olaylar aslında web kancalarıdır. Bu nesnedeki her özellik, uygulamanın temel URL’sine ait bir URL’dir.

Örnek:

{
   "events": {
       "installed": "/hook/installed",
       "uninstall": "/hook/uninstall"
   }
}

​ Özellikler:

installed

Tür: dizgi

Açıklama: Bir kullanıcı uygulamayı Crowdin’e yükledikten sonra bir uygulamaya gönderilen olay.

crowdin_app kullanıyorsanız bu olay gereklidir. Kimlik Doğrulaması hakkında daha fazlasını okuyun.

uninstall

Tür: dizgi

Açıklama: Crowdin’den uygulamayı kaldırılmadan önce bir uygulamaya gönderilen olay.

Installed Olayı Yükü

Installed olayı, kullanıcı uygulamayı Crowdin’e yüklediğinde Crowdin’den uzak uygulamaya gönderilir. Installed olayı, Crowdin Uygulamasının yüklü olduğu Crowdin çalışma alanı veya profili hakkında bilgileri, bir API belirteci almak için kimlik bilgilerinin yanı sıra uygulamanın kendisi hakkındaki bilgileri içerir.

Installed Olayı Akışı hakkında daha fazlasını okuyun.

Yük örnekleri:

{
    "appId": "uygulama-tanımlayıcınız",
    "appSecret": "dbfg....asdffgg",
    "clientId": "istemci-kimliğiniz",
    "userId": 1,
    "organizationId": 1,
    "domain": null,
    "baseUrl": "https://crowdin.com"
}
{
    "appId": "uygulama-tanımlayıcınız",
    "appSecret": "dbfg....asdffgg",
    "clientId": "istemci-kimliğiniz",
    "userId": 1,
    "organizationId": 1,
    "domain": "{etki_alanı}",
    "baseUrl": "https://{etki_alanı}.crowdin.com"
}

Özellikler:

appId

Tür: dizgi

Açıklama: Uygulama tanımlayıcı dosyasında bildirilen uygulamanın tanımlayıcısı.

appSecret

Tür: dizgi

Açıklama: Crowdin uygulamanızın yetkilendirilmesi için kullanılan benzersiz gizli anahtar.

clientId

Tür: dizgi

Açıklama: Uygulama tanımlayıcı dosyasında bildirilen OAuth istemci tanımlayıcısı.

userId

Tür: tamsayı

Açıklama: Uygulamayı Crowdin Enterprise’a yükleyen kullanıcının sayısal tanımlayıcısı.

organizationId

Tür: tamsayı

Açıklama: Uygulamanın yüklendiği kuruluşun sayısal tanımlayıcısı.

domain

Tür: dizgi

Açıklama: Uygulamanın yüklendiği Crowdin Enterprise’daki kuruluşun adı. Crowdin için etki alanı değeri her zaman null’dur

baseUrl

Tür: dizgi

Açıklama: Uygulamanın yüklendiği Crowdin Enterprise’daki kuruluşun temelUrl’si. Crowdin için baseUrl değeri her zaman "https://crowdin.com"dur

Uninstall Olayı Yükü

Uninstall olayı, kullanıcı uygulamayı Crowdin Enterprise’dan kaldırdığında Crowdin Enterprise’dan uzak Crowdin uygulamasına gönderilir. Uninstall olayı, installed olayı gibi, Crowdin Uygulamasının yüklü olduğu Crowdin çalışma alanı veya hesabı ve uygulamanın kendisi hakkındaki bilgileri içerir. Uninstall olayını aldıktan sonra, uygulamanın kaldırıldığı Crowdin çalışma alanı veya hesabı ile ilgili tüm verileri bulmak ve kaldırmak gerekir.

Yük örnekleri:

{
   "appId": "uygulama-tanımlayıcınız",
   "clientId": "istemci-kimliğiniz",
   "organizationId": 1,
   "domain": null,
   "baseUrl": "https://crowdin.com"
}
{
   "appId": "uygulama-tanımlayıcınız",
   "clientId": "istemci-kimliğiniz",
   "organizationId": 1,
   "domain": "{domain}",
   "baseUrl": "https://{domain}.crowdin.com"
}

Özellikler:

appId

Tür: dizgi

Açıklama: Uygulama tanımlayıcı dosyasında bildirilen uygulamanın tanımlayıcısı.

clientId

Tür: dizgi

Açıklama: Uygulama tanımlayıcı dosyasında bildirilen OAuth istemci tanımlayıcısı.

organizationId

Tür: tamsayı

Açıklama: Uygulamanın kaldırıldığı kuruluşun sayısal tanımlayıcısı.

domain

Tür: dizgi

Açıklama: Uygulamanın kaldırıldığı Crowdin Enterprise’daki kuruluşun adı. Crowdin için etki alanı değeri her zaman null’dur

baseUrl

Tür: dizgi

Açıklama: Uygulamanın kaldırıldığı Crowdin Enterprise’daki kuruluşun temelUrl’si. Crowdin için baseUrl değeri her zaman "https://crowdin.com"dur

Bu makale yararlı oldu mu?