Hvordan kan vi hjelpe?

Fortell kort hva det gjelder – vi svarer på e-post.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Til startsiden

Dados de clientes no chat (pedidos, entregas e faturas)

Permita que o assistente de IA responda às perguntas de clientes conectados sobre seus próprios pedidos, com segurança por meio de uma identidade assinada, campos definidos com precisão e dados consultados na sua loja ou importados.

Com os dados de clientes, o assistente de IA responde a perguntas como “Onde está minha encomenda?”, “Minha fatura foi paga?” ou “O que havia no meu último pedido?”, para clientes conectados e somente sobre seus próprios dados. O recurso está disponível nos planos pagos.

Como os dados são protegidos

Pré-requisito: verificação de identidade

O assistente usa dados de clientes apenas para visitantes cuja identidade foi confirmada pelo seu servidor. Configure um segredo em Projeto → Verificação de identidade na conta. Ele permanece no seu servidor e nunca deve estar no navegador ou no código de incorporação.

Para cada cliente conectado, seu servidor calcula um hash com prazo de validade (no máximo 24 horas à frente) e o passa ao widget:

$userId = (string) $customer->id;
$exp    = time() + 3600;
$hash   = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SECRET'));
echo "<script>ReactiveChat('identify', { userId: " . json_encode($userId)
   . ", userHash: " . json_encode($hash) . ", exp: " . $exp . " });</script>";
const crypto = require('crypto');
const exp  = Math.floor(Date.now() / 1000) + 3600;
const hash = crypto.createHmac('sha256', process.env.RC_IDENT_SECRET)
                   .update(String(user.id) + '.' + exp).digest('hex');
// in the template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });

Um hash sem exp ainda confirma o visitante (por exemplo, para o histórico de conversas), mas não é suficiente para os dados de clientes. Quando você renova o segredo, o anterior continua válido por 24 horas.

Assinar também o e-mail (para agendamentos e integrações baseadas em e-mail). Um email junto ao hash só conta como confirmado se fizer parte da assinatura: userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email) – o endereço exatamente como você o passa para identify. Sem isso, o visitante continua conectado, mas o assistente não agenda um compromisso para esse endereço, e as integrações não o consultam. O formato existente userId + "." + exp continua funcionando sem alterações.

Consulta, importação ou ambos

Em Projeto → Dados de clientes, você escolhe de onde o assistente obtém os dados:

Quais dados o assistente pode receber

Você habilita cada campo individualmente. Os padrões cobrem as perguntas habituais:

Um campo desativado nunca chega ao assistente: na consulta, ele é descartado; na importação, nem sequer é armazenado. Cidade e código postal só são permitidos quando você os habilita explicitamente, de propósito; rua e nome ficam sempre de fora.

O que nunca é repassado

Estes dados não podem ser habilitados. Se sua loja os enviar, serão descartados:

Limites

No máximo 10 pedidos por resposta, 20 itens por pedido, textos de até 200 caracteres e resposta completa de até 16 kB. Campos desconhecidos são descartados sem erro.

O endpoint de consulta

O reactive.chat chama seu endpoint com POST:

POST https://shop.your-domain.com/rc-customer-data
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(endpoint secret, X-RC-Zeit + "." + body))>

{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"en","nonce":"..."}

Seu endpoint deve:

  1. verificar a assinatura (comparação em tempo constante) e rejeitar requisições cujo X-RC-Zeit tenha uma diferença superior a 5 minutos,
  2. retornar apenas dados do user_id informado,
  3. ser acessível por https na porta 443 em um endereço público, sem redirecionamentos,
  4. responder em até 3 segundos.

Resposta:

{
  "bestellungen": [
    {
      "nummer": "2026-0815", "datum": "2026-09-28", "status": "shipped",
      "summe": "49.90", "waehrung": "EUR",
      "positionen": [ { "name": "Balance bike blue", "menge": 1 } ],
      "versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "out for delivery" },
      "rechnung": { "nummer": "R-2026-1201", "status": "paid", "faellig_am": "2026-10-12" }
    }
  ]
}

Um exemplo completo em PHP está disponível na documentação para desenvolvedores (kundendaten-referenz-endpunkt.php).

Com Testar conexão, o reactive.chat chama seu endpoint com o user_id rc-test e o tipo de solicitação test e mostra o resultado. Retorne uma lista vazia ou um pedido de exemplo para esse caso.

Importar pela API

Com uma chave de API que tenha a permissão kundendaten:schreiben:

PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <API key>
Content-Type: application/json

{"bestellungen":[ ... as above ... ]}

project_id é o número do seu projeto; se seu espaço de trabalho tiver apenas um projeto, você pode omiti-lo. Um PUT substitui todos os pedidos desse ID de cliente (no máximo 50). DELETE /v1/kundendaten/4711?project_id=123 os remove. Os dados importados são armazenados de forma criptografada do nosso lado e excluídos 90 dias após a última importação; por isso, envie as alterações continuamente, por exemplo, a cada mudança de status.

Visitantes que não estão conectados

Se alguém sem identidade confirmada perguntar sobre um pedido, o assistente não consulta nada. Em vez disso, mostra um aviso que você configura em Projeto → Dados de clientes: um texto por idioma e, opcionalmente, um link de login. Como alternativa, transfere a pergunta para sua equipe.

O que é armazenado

Solução de problemas

Leia mais na documentação

Em detalhes: Endpoint de dados de clientes. Todos os capítulos estão na documentação.

Sist oppdatert: