Criando NicoApp (1.0)
Para criar um aplicativo, siga as etapas 1 a 6 na imagem acima.

Para criar um aplicativo, siga as etapas 1 a 6 na imagem acima.
Na página de edição (à esquerda), informe título, descrição, logotipo, capa e ID do Vídeo do YouTube; ele aparecerá assim na Loja de NicoApps (à direita):

No lado direito da página de edição:

Você sempre pode consultar os dados de exemplo na parte inferior para se orientar. E os Campos do Sistema são os que você pode usar no seu código JSON, se necessário.
Este bloco serve para configurar as autenticações do seu NicoApp.

Este é um exemplo de autenticação com uma chave de API na consulta. Veja a seguir como ele fica depois que os usuários instalam o aplicativo:

A "chave da API" definida pelos usuários é armazenada na variável "token".
{
"type": "APIKEY",
"params": [
{
"name": "sid",
"title": "Twilio Account SID:"
},
{
"name": "token",
"title": "Twilio Auth Token:"
}
],
"connection": {
"headers": {
"Authorization": "Basic [[sid]]:[[token]]"
}
}
}
Exemplo 1: autenticação APIKEY, headers
{
"type": "APIKEY",
"params": [
{
"name": "token",
"title": "Enter your api key:"
}
],
"connection": {
"headers": {
"Authorization": "Bearer [[token]]"
}
}
}
Os "headers" da "connection" são adicionados a cada solicitação, para que você não precise repeti-los em todos os lugares depois.
Exemplo 2: autenticação APIKEY, parâmetros de consulta
{
"type": "APIKEY",
"params": [
{
"name": "api_key",
"title": "Enter your api key:"
}
],
"connection": {
"qs": {
"key": "[[api_key]]"
}
}
}
Como no exemplo acima, a string de consulta é adicionada a cada solicitação.
Exemplo 3: autenticação APIKEY, token JWT
{
"type": "APIKEY",
"params": [
{
"name": "email",
"title": "Enter your email:"
},
{
"name": "api_key",
"title": "Enter your api key:"
}
],
"request": {
"url": "https://example.com/get-token",
"method": "POST",
"body_format": "form",
"cache": 3600, //cache this request for 3600 seconds
"payload": {
"email": "[[email]]",
"api_key": "[[api_key]]"
},
"mapping": [
{
"name": "token",
"path": "$.data.token"
}
]
},
"connection": {
"headers": {
"Authorization": "Bearer [[token]]"
}
}
}
O email e a api_key fornecidos pelos usuários são enviados em uma solicitação. As respostas são então mapeadas para a variável token pelo caminho JSON $.data.token. Depois disso, ela é usada como variável [[token]] em um cabeçalho de autorização. Novamente, o cabeçalho é adicionado a cada solicitação posterior.
Ações são as funções/recursos que os usuários podem executar com o seu aplicativo. Por exemplo, este aplicativo "Google Translate" tem 2 ações: "Detectar idioma" e "Traduzir texto":

Na área de código, você precisa definir as informações padrão da ação, incluindo name, title, description, forms e requests, para que a ação funcione no fluxo com configuração.
Na parte inferior, clique em “Obter Produto” para ver um exemplo de solicitação GET e em “Atualizar Produto” para um exemplo de solicitação POST. Os campos forms e requests são do tipo objeto, portanto é preciso definir vários atributos.

{"Content-Type": "application/json"}A seguir, o código do exemplo de verificação de e-mail e as etapas da interface em ação.



Exemplo 1:
{
"url": "https://translation.googleapis.com/language/translate/v2/detect",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"payload": {
"q": "[[q]]"
},
"mapping": [
{
"name": "language",
"type": "text",
"title": "Detected Language",
"path": "$.data.detections.0.0.language"
}
]
}
Exemplo 2:
{
"url": "https://example/api/auth",
"method": "POST",
"body_format": "form",
"cache": 3600,
"payload": {
"email": "[[email]]",
"api_key": "[[api_key]]"
},
"mapping": [
{
"name": "token",
"type": "text",
"title": "Token",
"path": "$.data.token"
}
]
}
O bloco Sources é usado para oferecer aos usuários uma lista de opções para o valor do formulário. Use o nome da fonte no parâmetro form do bloco Actions para criar a conexão.
Existem 2 formatos de fontes, static e dynamic. As opções de uma fonte estática são fixas, enquanto uma fonte dinâmica traz opções que variam conforme as entradas.
path. É o valor real retornado quando um rótulo é selecionadopath. Exibido na lista suspensa como rótulo"forms": [
{
"name": "static_options",
"type": "select",
"title": "Static Options",
"source": "product_type_list"
},
{
"name": "dynamic_options",
"type": "select",
"title": "Dynamic Options",
"source": "users_list"
}
]
[
{
"name": "product_type_list",
"type": "enum:static",
"list": [
{
"value": "food",
"label": "Food & Drink"
},
{
"value": "toy",
"label": "Toys"
},
{
"value": "phone",
"label": "Mobile Phone"
}
]
},
{
"name": "users_list",
"type": "enum:rpc",
"request": {
"url": "https://jsonplaceholder.typicode.com/users",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"mapping": [
{
"type": "select",
"path": "$",
"value": "$.id",
"label": "$.username"
}
]
}
}
]



Ao definir gatilhos, os usuários podem usá-los na seção de automação como qualquer outro gatilho nativo, conforme a captura de tela acima.

Observe que o nome do gatilho deve ser:
- em minúsculas
- único na lista de gatilhos
- sem espaços; você pode separar as palavras com sublinhados
Contexto é onde você lista todas as variáveis predefinidas para quando os dados chegarem.
Após definir o gatilho, você precisará configurar as "Solicitações de Token de API" e selecionar a API em "Escopos da API"; veja a orientação abaixo.
Para chamar esse gatilho, consulte a API para gatilho de NicoApp.

Em "Escopos da API", selecione todas as APIs que o seu NicoApp precisa acessar. Consulte a "Documentação da API" pelo link na parte superior.
Por exemplo, se o seu aplicativo precisar ver a lista de tags dos usuários no fluxo, selecione "Visualizar tags de fluxo". E, se precisar usar gatilhos no aplicativo, selecione “App Trigger”, como na imagem acima.

Em "Solicitações de Token de API", clique nos dados de exemplo "Solicitações" na parte inferior e edite a URL do seu endpoint de assinatura e de cancelamento de assinatura. Veja também, na parte inferior, os Campos do Sistema disponíveis e coloque no payload as informações de que você precisa. Por exemplo, inclua "app_token" no payload se precisar acessar o fluxo dos usuários via API (caso selecione alguma API no bloco Escopos da API).
Por fim, clique em “Salvar” para finalizar a criação. Parabéns!! Você acabou de criar um NicoApp com sucesso.💯💯
Se você for usar o aplicativo apenas na sua própria workspace, não precisa publicá-lo. Você pode testá-lo e usá-lo em qualquer bot de qualquer canal da sua workspace.
Para compartilhar o aplicativo com outras workspaces, você precisará publicá-lo na Loja de NicoApps do NicoChat.

