X-On-Behalf-Of e ambos gravam eventos de auditoria JSONL indexados pelo mesmo response_id e conversation_id.
Para o padrão de solicitação básico, consulte gerar uma resposta.
Se precisar criar ou gerenciar um ID de conversa reutilizável por usuário final, consulte gerenciar conversas.
Arquitetura
Mensagem do usuário final no WhatsApp -> O webhook do WhatsApp recebe a mensagem -> Seu servidor chamamka1.llm.responses.create com store: true
-> Seu servidor registra o objeto de resposta armazenada completo e o response_id
-> Seu servidor envia a resposta de volta ao WhatsApp
-> Seu aplicativo web solicita o mesmo response_id do seu backend
-> Seu backend chama mka1.llm.responses.get
-> Seu backend registra a recuperação web usando o mesmo response_id e conversation_id
Mantenha sua chave de API no servidor. O navegador deve chamar sua rota de backend, e não a API MKA1 diretamente.
Use um ID de usuário final em ambos os canais
O valor deX-On-Behalf-Of é a chave que vincula os canais no nível do usuário final.
Use o mesmo ID estável de usuário final em ambos os harnesses.
Você também deve usar a mesma chave de API MKA1 compartilhada em ambos os harnesses.
Exemplos:
- O webhook do WhatsApp mapeia um número de telefone para
user_123. - A sessão do aplicativo web da mesma pessoa também é resolvida como
user_123. - Ambos os harnesses autenticam com a mesma chave de API MKA1.
X-On-Behalf-Of mudar entre os canais, os logs deixarão de ser auditáveis como uma única conversa de usuário final.
Se a chave de API mudar entre os canais, as solicitações pertencerão a usuários de API MKA1 diferentes, mesmo quando X-On-Behalf-Of corresponder.
Harness do WhatsApp: armazene a resposta e registre-a
Comece com um wrapper de SDK compartilhado que ambos os harnesses usam. Isso mantém a autenticação, a criação de conversas, a recuperação de respostas e a criação de respostas consistentes entre os canais.- O WhatsApp é o canal de entrada.
- A solicitação é armazenada com
store: true. - O objeto de resposta completo é registrado em um formato aberto.
- O log inclui
response_id,conversation_ideend_user_id.
Harness web: recupere a mesma resposta armazenada
O aplicativo web deve chamar seu próprio backend. Esse backend pode recuperar a mesma resposta commka1.llm.responses.get e registrar a recuperação como um evento do segundo canal.
- O aplicativo web é um canal separado do WhatsApp.
- Ele recupera a mesma resposta MKA1 armazenada por
response_id. - Ele registra essa recuperação no mesmo fluxo de auditoria JSONL.
- O objeto recuperado ainda carrega a mesma vinculação de usuário final e conversa.
Exportação de auditoria unificada em um formato aberto
Exemplo de exportação:Requisito de autenticação para logs compartilhados
Para esta demonstração multicanal, todos os itens a seguir devem corresponder entre os harnesses do WhatsApp e web:- a mesma chave de API MKA1
- o mesmo ID de usuário final
X-On-Behalf-Of - o mesmo
response_idarmazenado - o mesmo
conversation_idquando você usar conversas