Configure sua integração de API
Um passo do Chatlayer API etapa está disponível nos Ação blocos para permitir que você crie mensagens do bot com base em informações específicas do usuário e outros dados externos, e para redirecionar seus usuários para fluxos diferentes com base na sua própria lógica de negócio.
Você pode usar esta solução em qualquer plataforma que suporte receber e responder a requisições HTTP.
O passo de API envia uma requisição para o seu servidor backend.
Enviar uma requisição de API
Para configurar seu passo de API:

Clique em API.
Configure seus parâmetros. Veja abaixo para mais detalhes.
Você só pode definir um corpo de requisição quando seu método de requisição for POST ou DELETE.

Sob a Query aba, adicione parâmetros de query e/ou um payload de corpo definindo combinações chave-valor. Cada chave pode ter 3 tipos possíveis de valor:
text: texto estático.
variável: uma sessão do usuário variável. O valor da variável será armazenado como valor para a chave. Notação de ponto e de array são suportadas, por exemplo:
users[0].firstnamedialogstate: selecione um estado de diálogo no menu. O ID do estado de diálogo será armazenado como valor para a chave. Este ID pode ser usado para redirecionar o usuário para um determinado estado de diálogo com base na sua lógica de negócio ao retornar a resposta da API.

O Autorização aba tem os seguintes componentes:
Autenticação básica: exibirá os campos para preencher nome de usuário e senha.

Token Bearer: exibirá o campo Token para ser preenchido.


A aba Cabeçalhos é onde você configura seus cabeçalhos.

Corpo é onde você pode definir um corpo de requisição em todos os métodos HTTPS.
Sob a Corpo aba, adicione parâmetros de query e/ou um payload de corpo definindo combinações chave-valor. Cada chave pode ter 3 tipos possíveis de valor:
text: texto estático.
variável: uma sessão do usuário variável. O valor da variável será armazenado como valor para a chave. Notação de ponto e de array são suportadas, por exemplo:
users[0].firstnamedialogstate: selecione um estado de diálogo no menu. O ID do estado de diálogo será armazenado como valor para a chave. Este ID pode ser usado para redirecionar o usuário para um determinado estado de diálogo com base na sua lógica de negócio ao retornar a resposta da API.
Neste exemplo, representando uma transferência de dinheiro, enviamos cinco chaves no payload do corpo de uma requisição HTTPS POST para nosso endpoint de API https://chatlayer-integration-demo.glitch.me/transaction.

O amount a chave terá o valor da variável de sessão do usuário
transfer_amount(ex: 500).O destination a chave terá o valor da variável de sessão do usuário
transfer_destination(ex: Elon Musk).O accountType a chave terá o valor da variável de sessão do usuário
card_type(ex: savings_account).O transactionSuccess a chave terá o identificador do estado de diálogo para o estado de diálogo 'transação bem-sucedida'. Este identificador pode ser usado na resposta desta requisição de API para redirecionar o usuário para um novo estado de diálogo.
O transactionNoMoney a chave terá o identificador do estado de diálogo para o estado de diálogo 'transação malsucedida'. Este identificador pode ser usado na resposta desta requisição de API para redirecionar o usuário para um novo estado de diálogo.
O test a chave terá o valor '5'.
Isso resultará no seguinte payload do corpo:
{
"amount": 500,
"destination": "Elon Musk",
"accountType": "savings_account",
"transactionSuccess": "successful transaction",
"transactionNoMoney": "unsuccessful transaction",
"test": 5
}
Configuração é onde, se você tiver uma configuração de API em Configurações>API, você as verá aqui.
Escutar por uma resposta da API
Você não precisa configurar o plugin de API para escutar por uma resposta. Isso é feito automaticamente e o API passo irá escutar o que sua API retornar.
Certifique-se de incluir o tipo de conteúdo correto no cabeçalho: content-type: application/json;
Exemplo
Este exemplo demonstra um endpoint de API para transferir uma quantia de dinheiro de um tipo de conta (corrente ou poupança) para alguém. Nós redirecionaremos o usuário para um determinado estado de diálogo com base no resultado da transação.
app.post('/transaction', function (req, res) {
let nextDialogstate;
const { amount, destination, accountType, transactionSuccess, transactionNoMoney = req.body;
// obter tipo de conta (corrente - conta poupança)
const account = account_synonyms[accountType];
if( accounts[account].amount + accounts[accounthlimit — amount < ) {
nextDialogstate = transactionNoMoney
} else {
// transferir valor
accounts[account].amount —= amount;
nextDialogstate = transactionSuccess;
}
res.json({
action: {
nextDialogstate,
},
session: {
namespace: 'account',
data: {
limit: accounts[account].limit,
amount: accounts[account].amount
}
},
})
});Recebemos o objeto payload do corpo conforme definido no passo do Chatlayer API Se o usuário não tiver uma quantia suficiente de dinheiro em sua conta, definimos o próximo estado de diálogo como 'transactionNoMoney'. Caso contrário, subtraímos o valor desejado e definimos o próximo estado de diálogo como 'transactionSuccess'.
Como resposta à requisição, enviamos o próximo estado de diálogo para redirecionar o usuário para esse estado e salvamos a quantia de dinheiro e o limite da conta na sessão dele sob o namespace account. Esses dados podem ser usados nesse próximo estado de diálogo.

Como solução alternativa você também poderia enviar essa mensagem de chat como resposta das requisições do plugin de API usando a chave messages.
Atualizado
Isto foi útil?
