O descritor de aplicativo é um dos elementos essenciais dos aplicativos Crowdin. O descritor do aplicativo é um arquivo JSON (por exemplo, crowdin.json
) que inclui informações gerais para o aplicativo, bem como os módulos com os quais o aplicativo deseja operar ou estender. Descreve como o aplicativo funcionará, quais recursos serão usados etc. Você pode ver um exemplo abaixo. Você pode ver um exemplo abaixo.
{
"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"
]
}
]
}
}
identifier | Type: Note: Don't use uppercase in the app identifier. Requerido: sim Descrição: Uma chave exclusiva para identificar o aplicativo. Esse identificador deve ser <= 255 characters. |
name | Tipo: Requerido: sim Descrição: O nome legível por humanos do aplicativo. |
baseUrl | Tipo: Requerido: sim Descrição: O URL base do aplicativo remoto, que é usado para todas as comunicações de volta para a instância do aplicativo. Isso é importante: escolha seu BaseUrl com sabedoria antes de tornar seu aplicativo público. Nota: Cada aplicativo deve ter um baseUrl exclusivo. Se você gostaria de servir a vários aplicativos do mesmo host, |
authentication | Tipo: Requerido: sim Descrição: Especifica o tipo de autenticação a ser usado ao assinar solicitações entre o aplicativo host e o aplicativo para Crowdin. |
description | Tipo: Descrição: A descrição legível por humanos do que o aplicativo faz. |
logo | Tipo: Descrição: O URL da imagem em relação ao URL base do aplicativo que será exibido na UI do Crowdin. |
events | Tipo: Descrição: Permite que o aplicativo se registre para notificações de eventos do aplicativo. |
scopes | Tipo: [ Descrição: Conjunto de escopos solicitado por este aplicativo.
|
modules | Tipo: Descrição: A lista de módulos que este aplicativo oferece. |
environments | Tipo: [ Allowed values: Description: Set of environments where a module could be installed.
|
Especifica o tipo de autenticação a ser usado ao assinar solicitações do aplicativo host para o aplicativo para Crowdin. Os aplicativos para Crowdin suportam dois tipos de autenticação:
authorization_code
)none
)Caso seu aplicativo Crowdin exija acesso à API Crowdin a qualquer momento, é recomendável usar o authorization_code
, em outros casos, sinta-se à vontade para usar o none
. O tipo de autenticação none
concede acesso à API Crowdin, bem como ao authorization_code
, mas apenas quando o aplicativo Crowdin é executado no lado do usuário, por exemplo, quando o iframe é aberto.
Exemplo:
{
"authentication": {
"type": "authorization_code",
"clientId": "seu--id-de-cliente"
}
}
Propriedades:
type | Tipo: Padrão para: Valores permitidos: Descrição: O tipo de autenticação a ser usado. |
clientId | Tipo: Descrição: ID do cliente OAuth para autorização via tipo de |
Módulos são como os aplicativos estendem o Crowdin e interagem com ele. Usando módulos, seu aplicativo pode fazer o seguinte:
Leia mais sobre módulos.
Permitir que um aplicativo registre retornos de chamada para eventos que ocorrem no espaço de trabalho. Quando um evento é disparado, uma solicitação POST é feita para o URL apropriado registrado para o evento. O retorno de chamada instalado é parte integrante do processo de instalação de um aplicativo, enquanto os eventos restantes são essencialmente webhooks. Cada propriedade dentro desse objeto é um URL relativo ao URL base do aplicativo.
Exemplo:
{
"events": {
"installed": "/hook/installed",
"uninstall": "/hook/uninstall"
}
}
Propriedades:
instalado | Tipo: Descrição: O evento que é enviado a um aplicativo depois que um usuário instala o aplicativo no Crowdin. Este evento é obrigatório se você usar |
desinstalar | Tipo: Descrição: O evento que é enviado a um aplicativo antes da desinstalação do aplicativo no Crowdin. |
Evento instalado
O evento Instalado é enviado do Crowdin para o aplicativo Crowdin remoto quando um usuário instala o aplicativo no Crowdin. O evento Instalado contém as informações sobre o espaço de trabalho do Crowdin em que o aplicativo Crowdin foi instalado, as informações sobre o próprio aplicativo, bem como o aplicativo authorization_code. Assim que o authorisation_code for recebido, é necessário autorizar o aplicativo usando os tokens de acesso e atualização.
Leia mais sobre fluxo de evento instalado.
Exemplo de carga
{
"appId": "your-application-identifier",
"clientId": "your-client-id",
"userId": 1,
"organizationId": 1,
"domain": null,
"baseUrl": "https://crowdin.com",
"code": "def.....608bdad9c625bd2eedf1fd6"
}
Propriedades:
aplicado | Tipo: Descrição: O identificador do aplicativo declarado no arquivo do descritor do aplicativo. |
clientId | Tipo: Descrição: O identificador do cliente OAuth declarado no arquivo do descritor do aplicativo. |
userId | Tipo: Descrição: O identificador numérico do usuário que instalou o aplicativo no Crowdin. |
organizationId | Tipo: Descrição: O identificador numérico da organização em que o aplicativo foi instalado. |
domain | Tipo: Descrição: O nome da organização em que o aplicativo foi instalado. Para Crowdin, o valor do domínio é sempre |
baseUrl | Tipo: Descrição: O baseUrl da organização em que o aplicativo foi instalado. Para Crowdin, o valor baseUrl é sempre |
code | Tipo: Descrição: O código usado para autorização de seu aplicativo para Crowdin. |
Evento de desinstalação
O evento de desinstalação é enviado do Crowdin para o aplicativo Crowdin remoto quando um usuário desinstala o aplicativo no Crowdin. O evento Uninstall, assim como o evento install, contém as informações sobre a área de trabalho Crowdin em que o aplicativo para Crowdin foi instalado e as informações sobre o próprio aplicativo. Depois de receber o evento de desinstalação, é necessário encontrar e remover todos os dados relacionados ao espaço de trabalho do Crowdin do qual o aplicativo foi removido.
Exemplo de carga
{
"appId": "your-application-identifier",
"clientId": "your-client-id",
"organizationId": 1,
"domain": null,
"baseUrl": "https://crowdin.com"
}
Propriedades:
aplicado | Tipo: Descrição: O identificador do aplicativo declarado no arquivo do descritor do aplicativo. |
clientId | Tipo: Descrição: O identificador do cliente OAuth declarado no arquivo do descritor do aplicativo. |
organizationId | Tipo: Descrição: O identificador numérico da organização da qual o aplicativo desinstalou. |
domain | Tipo: Descrição: O nome da organização da qual o aplicativo foi desinstalado. Para Crowdin, o valor do domínio é sempre |
baseUrl | Tipo: Descrição: O baseUrl da organização da qual o aplicativo foi desinstalado. Para Crowdin, o valor baseUrl é sempre |