Olá Uriel.
Por se tratar de um MVP, optamos por não utilizar a api oficial. Desenvolvemos a Letsia utilizando algumas camadas de interfaces, como, integrações de bibliotecas como Venon, WhatsappWebJS e o próprio GPT.
Que interessante, eu to testanto o whatsapp-web.js, não testei o venon.
Acho que nem vou, o que quero é bem simples.
Uma pergunta:
Tenho um problema em criar tipo um fluxo.
- pessoa entra em contato
- bot responde e pede 1 ou 2
- respondeu 1
- bot responde e acaba a interação.
- respondeu 2
- bot pede pra escrever um titulo
- pessoa manda titulo
- bot pede pra confirmar 1 ou reescrever 2
- resposta 1
- bot pede pra colocar a descrição
....
Meu problema é saber onde esta aquela pessoa.
Se no titulo, se na descrição.
Eu não to sabendo fazer esse fluxo.
para verifica onde ta, em que parte da conversa esta.
E meu bot é coisa simples são
3 informações que o bot precisa.
titulo, descrição e uma data.
Meu problema ta na implementação de código.
A pessoa entra em contato crio um tipo de sessão pro número dela.
Eu nem sei explicar direito, e olha que é algo bobo kkkkk
Eu li o do rapaz aqui
e não entendi o fluxo
https://www.tabnews.com.br/jjrdev/como-eu-integrei-o-chatgpt-ao-whatsapp-para-uma-empresa
Caso a sessão exista, verifica qual o estágio dela e realiza as ações daquele estágio, como enviar mensagens, verificar respostas, redirecionar ou outras ações.
Essa parte que não sei ainda, pq ta confuso pra mim.
Se puder dar uma luz o resto eu corro atrás sem problema
Olá Uriel,
Você pode seguir usando a estratégia que citou acima - armazenando o fluxo do usuário em memória ou em um banco de dados. No caso da Letsia, usamos as duas estratégias...
CACHE: quando o usuário não completou o fluxo e as informações não são relevantes para serem salvas. Consequentemente, a sessão expira e não tenho os registros do fluxo. Ponto crítico; você precisa ter uma aplicação estável para que nenhum bug aconteça e você percar os caches no caminho.
BD: quando cada ação do usuário é relevante ou quando de fato finaliza todo o fluxo. Consequentemente, você poderá consultar o status de cada user em um dashboard a qualquer momento.
Sobre a lógica de construção, pense o seguinte:
cacheObject -> "numero_whatsapp"(primaryKey) -> array[step1, step2, step3, ok]
Acho que entendi
cacheObject -> "numero_whatsapp"(primaryKey) -> array[step1, step2, step3, ok]
Vou tentar aqui.
Obrigadinho!
Abraços