App-deskriptoren er en af de vigtigste byggesten i Crowdin-apps. App-deskriptoren er en JSON-fil (f.eks. crowdin.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": "app-identifkator",
"name": "Appen",
"description": "App-beskr.",
"logo": "/assets/logos/app-logo.png",
"baseUrl": "http://eksempel.dk",
"authentication": {
"type": "godkendelseskode",
"clientId": "klient-id"
},
"events": {
"installed": "/hooks/installed"
},
"scopes": [
"project"
],
"modules": {
"integrations": [
{
"key": "modulenøglen",
"name": "Modulenavn",
"description": "Modulbeskrivelse",
"logo": "/assets/logos/module-logo.png",
"url": "/page/integration",
"environments": [
"crowdin"
]
}
]
}
}
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: Description: Set of environments where a module could be installed.
|
Angiver den godkendelsestype, der skal bruges ved signering af anmodninger mellem værts-app og 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.:
Læs mere om Moduler.
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.
Eks.:
{
"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. |
Installed event
Install event sendes fra Crowdin til Crowdin fjern-appen, når en bruger installerer denne i Crowdin. Install event indeholder oplysningerne om det Crowdin-arbejdsområde, hvori Crowdin-appen er installeret, om selve appen samt appens 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-eks.:
{
"appId": "app-identifikator",
"clientId": "Klient-ID'en",
"userId": 1,
"organizationId": 1,
"domain": null,
"baseUrl": "https://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å brugeren, der installerede appen i Crowdin. |
organizationId | Type: Beskrivelse: Den numeriske identifikator på organisationen, hvori appen er installeret. |
domain | Type: Beskrivelse: Navnet på organisationen, hvori appen er installeret. For Crowdin, er domæneværdien altid |
baseUrl | Type: Beskrivelse: baseUrl'en på organisationen, hvori appen er installeret. Til Crowdin er baseURL-værdien altid |
kode | Type: Beskrivelse: Koden brugt til godkendelse af ens Crowdin-app. |
Uninstall event
Uninstall event sendes fra Crowdin til Crowdin fjern-appen, når en bruger afinstallerer denne i Crowdin. Uninstall event indeholder ligesom Install event oplysningerne om Crowdin-arbejdsområdet, hvori Crowdin-appen blev installeret samt oplysningerne om selve appen. Efter modtagelse af en uninstall event er det nødvendigt at finde og fjerne alle data relateret til Crowdin-arbejdsområdet, hvorfra appen er fjernet.
Payload-eks.:
{
"appId": "app-identifikator",
"clientId": "klient-ID",
"organizationId": 1,
"domain": null,
"baseUrl": "https://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: Beskrivelse: Navnet på organisationen, hvorfra appen er afinstalleret. For Crowdin, er domæneværdien altid |
baseUrl | Type: Beskrivelse: baseUrl'en for organisationen, hvorfra appen er afinstalleret. Til Crowdin er baseURL-værdien altid |