Cu ce vă putem ajuta?

Descrieți pe scurt despre ce este vorba - vă vom răspunde prin e-mail.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
La pagina de pornire

Datos de clientes en el chat (pedidos, envíos y facturas)

Permita que el asistente de IA responda a los clientes con sesión iniciada sobre sus propios pedidos, de forma segura mediante una identidad firmada, con campos definidos con precisión, consultados en su tienda o importados.

Con los datos de clientes, el asistente de IA responde preguntas como «¿Dónde está mi paquete?», «¿Está pagada mi factura?» o «¿Qué incluía mi último pedido?», para clientes con sesión iniciada y solo sobre sus propios datos. La función está disponible en los planes de pago.

Cómo se protegen los datos

Requisito: verificación de identidad

El asistente solo utiliza datos de clientes para visitantes cuya identidad haya confirmado su servidor. Configure un secreto en Proyecto → Verificación de identidad de su cuenta. Permanece en su servidor y nunca debe incluirse en el navegador ni en el código de inserción.

Para cada cliente con sesión iniciada, su servidor calcula un hash con fecha de caducidad (como máximo 24 horas en el futuro) y lo transmite al 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> });

Un hash sin exp sigue confirmando al visitante (por ejemplo, para el historial de conversación), pero no basta para los datos de clientes. Al renovar el secreto, el anterior sigue siendo válido durante 24 horas.

Firmar también el correo (para reservas de citas e integraciones basadas en correo). Un campo email junto al hash solo se considera confirmado si forma parte de la firma: userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email), con la dirección exactamente como se transmite a identify. Sin ello, el visitante sigue con sesión iniciada, pero el asistente no reserva citas para esa dirección y las integraciones no la consultan. La forma existente userId + "." + exp sigue funcionando sin cambios.

Consulta, importación o ambas

En Proyecto → Datos de clientes puede elegir de dónde obtiene los datos el asistente:

Qué datos puede recibir el asistente

Habilite cada campo de forma individual. Los valores predeterminados cubren las preguntas habituales:

Un campo desactivado nunca llega al asistente: en una consulta se descarta y en una importación ni siquiera se almacena. La localidad y el código postal solo se permiten si se habilitan expresamente; la calle y el nombre siempre quedan excluidos.

Qué no se transmite nunca

Estos datos no se pueden habilitar. Si su tienda los envía, se descartan:

Límites

Hasta 10 pedidos por respuesta, hasta 20 artículos por pedido, textos de hasta 200 caracteres y respuesta completa de hasta 16 kB. Los campos desconocidos se descartan sin error.

El endpoint de consulta

reactive.chat llama a su endpoint mediante 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":"..."}

Su endpoint debe:

  1. verificar la firma (comparación en tiempo constante) y rechazar solicitudes cuyo X-RC-Zeit difiera en más de 5 minutos,
  2. devolver solo datos del user_id indicado,
  3. ser accesible mediante https en el puerto 443 y en una dirección pública, sin redirecciones,
  4. responder en un plazo de 3 segundos.

Respuesta:

{
  "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" }
    }
  ]
}

Hay un ejemplo completo en PHP en la documentación para desarrolladores (kundendaten-referenz-endpunkt.php).

Con Probar la conexión, reactive.chat llama a su endpoint con user_id rc-test y el tipo de solicitud test y muestra el resultado. Devuelva una lista vacía o un pedido de ejemplo para esa solicitud.

Importación por API

Con una clave de API que tenga el permiso 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 es el número de su proyecto; si su espacio de trabajo solo tiene uno, puede omitirlo. Un PUT sustituye todos los pedidos de este ID de cliente (hasta 50). DELETE /v1/kundendaten/4711?project_id=123 los elimina. Los datos importados se almacenan cifrados en nuestros sistemas y se eliminan 90 días después de la última importación; envíe los cambios de forma continua, por ejemplo con cada cambio de estado.

Visitantes sin sesión iniciada

Si alguien sin identidad confirmada pregunta por un pedido, el asistente no consulta nada. En su lugar, muestra un aviso que puede configurar en Proyecto → Datos de clientes: un texto por idioma y, opcionalmente, un enlace para iniciar sesión. Como alternativa, transfiere la pregunta a su equipo.

Qué se almacena

Solución de problemas

Más información en la documentación

En detalle: Endpoint de datos de clientes. Todos los capítulos están en la documentación.

Ultima actualizare: