App-deskriptoren er en af de vigtigste byggesten i Crowdin-apps. App-deskriptoren er en JSON-fil (f.eks. manifest.json
) indeholdende generelle oplysninger om appen, samt de moduler, appen ønsker at operere med eller udvide. Den beskriver, hvordan appen vil fungere, hvilke ressourcer, som vil blive brugt mv. Et eks. ses nedenfor
{
"identifier": "your-application-identifier",
"name": "Your Application",
"description": "Application description",
"logo": "/assets/logos/app-logo.png",
"baseUrl": "http://example.com",
"authentication": {
"type": "authorization_code",
"clientId": "your-client-id"
},
"events": {
"installed": "/hooks/installed"
},
"scopes": [
"project"
],
"modules": {
"integrations": [
{
"key": "your-module-key",
"name": "Module Name",
"description": "Module description",
"logo": "/assets/logos/module-logo.png",
"url": "/page/integration",
"environments": [
"crowdin", "crowdin-enterprise"
]
}
]
}
}
identifier | Type: Bemærk: Brug ikke majuskler i app-identifikatoren. Required: yes Beskrivelse: En unik nøgle til app-identifikation. Denne identifikator skal være <= 255 characters. |
navn | Type: Required: yes Beskrivelse: Menneskeligt læsbare app-navn. |
baseUrl | Type: Required: yes Beskrivelse: Fjern-appens basis-URL brugt til al kommunikation retur til app-instansen. Dette er vigtigt: Vælg baseUrl klogt, før offentliggørelsen af appen. Bemærk: Hver app skal have en unik baseUrl. Ønskes flere apps tilgængeliggjort fra samme vært, |
authentication | Type: Required: yes Beskrivelse: Angiver den godkendelsestype, der skal bruges ved signering af anmodninger mellem værts-appen og Crowdin-appen. |
description | Type: Description: Klartekstbeskrivelsen af, hvad appen gør. |
logo | Type: Beskrivelse: Billed-URL'en relativ til appens basis-URL, som vist i Crowdin UI'en. |
events | Type: Beskrivelse: Tillad app'en at registrere sig til app-event notifikationer. |
scopes | Type: [ Beskrivelse: Sæt af anmodede udtrækninger fra appen.
|
modules | Type: Beskrivelse: Listen over modultyper, appen muliggør. |
environments | Type: [ Allowed values: Beskrivelse: Sæt af miljøer, hvor et modul kan installeres.
|
Specifies the authentication type to use when signing requests from the host application to the Crowdin app. Crowdin-apps understøtter to godkendelsestyper:
authorization_code
-værdi)ingen
-værdi)Såfremt Crowdin-appen på et tidspunkt kræver adgang til Crowdin-API’en, anbefales brug af authorization_code
, i øvrige tilfælde kan none
bruges. Godkendelsestypen none
giver adgang til Crowdin-API’en samt authorization_code
, men kun når Crowdin-appen eksekveres på brugersiden, f.eks. når iframe åbnes.
Eks.:
{
"authentication": {
"type": "authorization_code",
"clientId": "klient-id"
}
}
Properties:
type | Type: Defaults to: Allowed values: Beskrivelse: Godkendelsestypen, der skal anvendes. |
clientId | Type: Beskrivelse: OAuth-klient-ID for godkendelse via typen |
Moduler er måden, hvorpå apps udvider og interagerer med Crowdin. Vha. moduler kan en app gøre flg.:
Read more about UI Modules and File Processing Modules.
Tillad en app at registrere tilbagekald for begivenheder, som forekommer i arbejdsområdet. Når en begivenhed udløses, vil en POST-anmodning gå til den relevante URL registreret til begivenheden. Det installerede callback er en integreret del af en apps installationsproces, mens de resterende begivenheder hovedsagelig udgør webhooks. Hver egenskab i dette objekt er en URL relativ til appens basis-URL.
Eksempel:
{
"events": {
"installed": "/hook/installed",
"uninstall": "/hook/uninstall"
}
}
Properties:
installed | Type: Beskrivelse: Begivenheden sendt til en app, efter at en bruger har installeret appen i Crowdin. Denne begivenhed er obligatorisk ved brug af |
uninstall | Type: Beskrivelse: Begivenheden sendt til en app, inden den afinstalleres i Crowdin. |
The Installed event is sent from Crowdin to the remote app when a user installs the app in Crowdin. The Installed event contains the information about the Crowdin workspace or profile the Crowdin App was installed to, the information about the app itself, as well as the app authorization_code. Så snart authorization_code modtages, er det nødvendigt at godkende appen vha. adgangs- og opdaterings-tokens.
Læs mere om Installed Event Flow.
Payload examples:
{
"appId": "app-identifikator",
"clientId": "Klient-ID'en",
"userId": 1,
"organizationId": 1,
"domain": null,
"baseUrl": "https://crowdin.com",
"code": "def.....608bdad9c625bd2eedf1fd6"
}
{
"appId": "applikationsidentifikator",
"clientId": "klient-ID",
"userId": 1,
"organisationsID": 1,
"domain": "{domain}",
"baseUrl": "https://{domain}.crowdin.com",
"code": "def.....608bdad9c625bd2eedf1fd6"
}
Egenskaber:
appId | Type: Beskrivelse: Identifikator for appen er angivet i app-deskriptor filen. |
clientId | Type: Beskrivelse: OAuth-klientidentifikator, som erklæret i app-deskriptor filen. |
userId | Type: Beskrivelse: Den numeriske identifikator på den bruger, der installerede appen i Enterprise. |
organizationId | Type: Beskrivelse: Den numeriske identifikator på organisationen, hvori appen er installeret. |
domain | Type: Description: The name of the organization in Crowdin Enterprise the app was installed to. For Crowdin the domain value is always null |
baseUrl | Type: Description: The baseUrl of the organization in Crowdin Enterprise the app was installed to. Til Crowdin er baseURL-værdien altid "https://crowdin.com" |
kode | Type: Beskrivelse: Koden brugt til godkendelse af ens Crowdin-app. |
Afinstallér-begivenheden sendes fra Enterprise til Crowdin fjer-appen, når en bruger afinstallerer appen i Enterprise. The Uninstall event, like the install event, contains the information about the Crowdin workspace or account the Crowdin App was installed to, and the information about the app itself. After receiving the uninstall event, it’s necessary to find and remove all of the data related to the Crowdin workspace or account the app is removed from.
Payload examples:
{
"appId": "app-identifikator",
"clientId": "klient-ID",
"organizationId": 1,
"domain": null,
"baseUrl": "https://crowdin.com"
}
{
"appId": "applikationsidentifikator",
"clientId": "klient-ID",
"organizationId": 1,
"domain": "{domain}",
"baseUrl": "https://{domain}.crowdin.com"
}
Egenskaber:
appId | Type: Beskrivelse: Identifikator for appen er angivet i app-deskriptor filen. |
clientId | Type: Beskrivelse: OAuth-klientidentifikator, som erklæret i app-deskriptor filen. |
organizationId | Type: Beskrivelse: Den numeriske identifikator på organisationen, hvorfra appen er afinstalleret. |
domain | Type: Description: The name of the organization in Crowdin Enterprise the app uninstalled from. For Crowdin the domain value is always null |
baseUrl | Type: Description: The baseUrl of the organization in Crowdin Enterprise the app uninstalled from. Til Crowdin er baseURL-værdien altid "https://crowdin.com" |