Usuários virtuais na Public API do Chatfuel
Um usuário virtual é um Editor ou Agent exclusivo da API em um bot, com token próprio. Crie, rotacione, mude a função e remova-o com seu token de API pessoal.
Última atualização
Um usuário virtual é um membro de um bot do Chatfuel que usa apenas a API. Ele tem um nome, a função Editor ou Agent e o próprio token da Public API, mas não tem login: não pode entrar no painel nem ver outros bots, workspaces ou a cobrança. Os usuários virtuais são a forma como as integrações devem chamar a Public API, porque cada um fica limitado a um único bot e a uma única função e pode ser revogado sem afetar a sua própria conta.
Somente um Admin do bot pode criar, rotacionar, mudar a função ou remover usuários virtuais, e somente com um token de API pessoal. Um bot pode ter até 20 usuários virtuais.
Como criar um usuário virtual
Somente token pessoal. Chame createVirtualUser com o ID do bot, um nome e uma função:
mutation CreateVirtualUser($botID: BotID!) {
createVirtualUser(
botID: $botID
name: "HubSpot sync"
role: { roleType: Agent, botPermissions: [] }
) {
member {
id
role { roleTypeV2 }
user { id name accountType }
}
authToken
}
}nameé obrigatório, com 1 a 100 caracteres depois de remover os espaços das pontas. É o que os membros da sua equipe veem no painel, então dê ao usuário virtual o nome da integração ou do cliente que ele atende.role.roleTypedeve serEditorouAgent. As permissões embotPermissionssão ignoradas: um usuário virtual sempre recebe o conjunto padrão de permissões da sua função, ajustado pelas configurações de funções do bot. Passe uma lista vazia.authTokenna resposta é o token do usuário virtual. Ele só é retornado aqui. Guarde-o junto commember.id, o ID de membro de que você precisa para qualquer alteração posterior.
O que usuários virtuais Editor e Agent podem fazer
As permissões de um usuário virtual vêm apenas da função dele no bot. As duas funções permitidas correspondem às funções Editor e Agent dos membros humanos da equipe.
Um usuário virtual Editor pode:
- ler e editar contatos, atributos, notas, responsáveis e etapas de venda, além de importar e exportar contatos
- ler conversas e enviar mensagens em todos os canais
- criar e alterar fluxos, regras de palavras-chave, configurações do Fuely AI, automações e transmissões
- gerenciar agendamentos, especialistas, produtos e serviços
- alterar as configurações do widget do site e publicar na conta do Instagram conectada
Um usuário virtual Agent pode:
- ler contatos e exportá-los, mas não editar nomes, atributos ou notas
- ler conversas, enviar mensagens e templates do WhatsApp
- atribuir contatos, definir o responsável do Fuely AI e mover contatos entre etapas de venda
- ver fluxos e automações e executar chats de teste, mas não alterá-los
Nenhuma das duas funções pode renomear ou excluir o bot, alterar o fuso horário ou o país dele, gerenciar membros da equipe, conectar ou desconectar canais nem mexer em workspaces e cobrança. Essas operações precisam de um token de API pessoal, como listado em autenticação. Cada operação nas páginas de referência informa a função mínima que pode executá-la.
Como regenerar o token de um usuário virtual
Somente token pessoal. Rotacione um token quando ele puder estar exposto ou quando alguém com acesso sair:
mutation RotateToken($memberID: BotTeamMemberID!) {
regenerateVirtualUserToken(memberID: $memberID)
}O token antigo para de funcionar imediatamente, e a mutação retorna o novo token como string. Se memberID pertencer a um membro humano da equipe, a chamada falha com NotVirtualUser.
Como alterar a função de um usuário virtual
Somente token pessoal. Alterne um usuário virtual entre Editor e Agent com changeBotMemberRoleV2:
mutation MakeEditor($memberID: BotTeamMemberID!) {
changeBotMemberRoleV2(memberID: $memberID, newRole: { roleType: Editor, botPermissions: [] }) {
id
role { roleTypeV2 }
}
}A mesma alteração está disponível no painel: Settings → Teammates, selecione o usuário virtual e depois Manage teammate. Para usuários virtuais, só Editor e Agent são oferecidos.
Como remover um usuário virtual
Somente token pessoal. Remover um usuário virtual exclui a conta e o token dela permanentemente:
mutation RemoveVirtualUser($memberID: BotTeamMemberID!) {
removeMemberFromBot(memberID: $memberID) { id }
}No painel, abra Settings → Teammates, selecione o usuário virtual e escolha Delete API user. O painel exibe este aviso: "This deletes the account and its API token permanently. Anything calling the API with that token will stop working. Delete anyway?" (Isso exclui a conta e o token de API dela permanentemente. Tudo o que chamar a API com esse token vai parar de funcionar. Excluir mesmo assim?)
Excluir um bot também exclui todos os usuários virtuais dele.
Como os usuários virtuais aparecem no painel e na API
No painel, um usuário virtual aparece em Settings → Teammates com o rótulo API depois do nome. O mesmo rótulo aparece na lista de responsáveis dos contatos e nas configurações de transferência para humano do Fuely AI, então você pode atribuir contatos a uma integração como faria com um membro da equipe.
Na API, a conta de um usuário virtual tem accountType: Virtual. Quando um usuário virtual lê a própria conta com currentUser, ele recebe a si mesmo, não a pessoa que o criou, e currentUser.botsV2 retorna apenas o próprio bot. A sua conta e os seus outros bots nunca aparecem nas respostas dele.
Problemas comuns
"VirtualUsersLimitReached"
O bot já tem 20 usuários virtuais. Remova os que você não usa mais com removeMemberFromBot ou reutilize um usuário virtual existente para a integração.
"VirtualUserNameInvalid"
O nome está vazio ou tem mais de 100 caracteres depois de remover os espaços das pontas.
"VirtualUserRoleNotAllowed"
A função é Admin ou Custom. Usuários virtuais só podem ser Editor ou Agent.
"NotVirtualUser"
regenerateVirtualUserToken foi chamado com o ID de membro de um membro humano da equipe. Use o ID de membro retornado por createVirtualUser ou encontre-o em bot(id:) { members { id user { name accountType } } }.
Autenticação e tokens da Public API
Envie um token de API pessoal (CLI token) ou um token de usuário virtual como token Bearer. Use usuários virtuais no dia a dia e o token pessoal para a conta.
Como fazer requisições à Public API
Envie requisições POST GraphQL para panel.chatfuel.com/graphql, pagine com cursores, assine eventos via WebSocket, envie arquivos e respeite os limites.