چطور می‌توانیم کمک کنیم؟

کوتاه بفرمایید موضوع چیست؛ از طریق ایمیل با شما تماس می‌گیریم.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
رفتن به صفحه اصلی

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.

آخرین به‌روزرسانی: