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": "applikationsidentifikator",
"name": "Applikation",
"description": "Applikationsbeskrivelse",
"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": "modulnøgle",
"name": "Modulnavn",
"description": "Modulbeskrivelse",
"logo": "/assets/logos/module-logo.png",
"url": "/page/integration",
"environments": [
"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: Beskrivelse: Klartekstbeskrivelsen af, hvad appen gør. |
logo | Type: Beskrivelse: Billed-URL relativ til appens basis-URL, som vist i Enterprise UI'en. |
events | Type: Beskrivelse: Tillad app'en at registrere sig til app-event notifikationer. |
scopes | Type: [ Beskrivelse: Sæt af udtrækninger anmodet af denne app.
|
modules | Type: Beskrivelse: Listen over modultyper, appen muliggør. |
environments | Type: [ Allowed values: Beskrivelse: Sæt af miljøer, hvor et modul kan installeres.
|
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 Enterprise og interagerer med den. 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: Den begivenhed, der sendes til en app, efter at en bruger har installeret appen i Enterprise. Denne begivenhed er obligatorisk ved brug af |
uninstall | Type: Beskrivelse: Den begivenhed, der sendes til en app, inden app-afinstallation i Enterprise. |
Installed event
Installér-begivenheden sendes fra Enterprise til Crowdin fjer-appen, når en bruger installerer appen i Enterprise. Installér-begivenheden indeholder oplysningerne om det Enterprise-workspace, hvortil Crowdin-appen blev installeret, oplysninger om selve appen, samt app authorization_code. Så snart authorization_code modtages, er det nødvendigt at godkende appen vha. adgangs- og opdaterings-tokens.
Læs mere om Installér-begivenheds Flow.
Payload-eks.:
{
"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: Beskrivelse: Navnet på organisationen, hvori appen er installeret. |
baseUrl | Type: Beskrivelse: baseUrl'en på organisationen, hvori appen er installeret. |
kode | Type: Beskrivelse: Koden brugt til godkendelse af ens Crowdin-app. |
Uninstall event
Afinstallér-begivenheden sendes fra Enterprise til Crowdin fjer-appen, når en bruger afinstallerer appen i Enterprise. Afinstallér-begivenheden, ligesom Installér-begivenheden, indeholder oplysningerne om den Enterprise-workspace, som Crowdin-appen blev installeret på, og oplysningerne om selve appen. Efter modtagelse af Afinstallér-begivenhed, det er nødvendigt at finde og fjerne alle data relateret til det Enterprise-workspace, hvorfra appen er fjernet.
Payload-eks.:
{
"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: Beskrivelse: Navnet på organisationen, hvorfra appen er afinstalleret. |
baseUrl | Type: Beskrivelse: baseUrl'en for organisationen, hvorfra appen er afinstalleret. |