Clientes
Los recursos de clientes contienen datos de clientes y necesitan una clave secreta en código de servidor de confianza.
clients.lookup()
clients.lookup(
input: ClientLookupInput,
options?: RequiplyRequestOptions,
): Promise<ClientLookupResponse>
Pasa email, phone o search; hace falta al menos uno. El método funciona en dos modos:
| Entrada | Modo | Respuesta |
|---|---|---|
email y/o phone | Coincidencia exacta, mayúsculas y minúsculas incluidas. Con los dos, el cliente debe tener los dos. | client es el cliente que coincide, o null. |
search | Búsqueda aproximada en el nombre, los apellidos, el email y el teléfono. | client es null; matches lista hasta 10 clientes. |
const { client } = await requiply.clients.lookup({ email: 'customer@example.com' });
const { matches } = await requiply.clients.lookup({ search: 'Olena Koval' });
search divide el texto en palabras (hasta cuatro), y un cliente coincide cuando todas las palabras aparecen en algún lugar de su nombre, sus apellidos, su email o su teléfono. Los nombres ucranianos también se prueban en el otro alfabeto, así que Olena encuentra Олена y Галина encuentra Halyna.
Cada cliente tiene id, name, lastName, email, phone y discountPercentage (0 si no tiene descuento). El nombre, los apellidos, el email y el teléfono pueden ser null.
clients.create()
clients.create(
input: ClientCreateInput,
options?: RequiplyRequestOptions,
): Promise<ClientCreateResponse>
La entrada acepta los campos opcionales name, lastName, email y phone. Hace falta al menos uno entre email y phone.
const { client, created } = await requiply.clients.create({
name: 'Alex',
lastName: 'Morgan',
email: 'alex@example.com',
phone: '+380951234567',
});
phone debe estar en formato internacional E.164: un + inicial, el prefijo del país y de 7 a 15 dígitos en total, por ejemplo +380951234567. Un número en formato nacional se rechaza con un 400 y el mensaje "Phone must be in international E.164 format with a country code, e.g. +380951234567" (el teléfono debe estar en formato internacional E.164 con el prefijo del país). La misma regla se aplica a los formularios de cliente de la app y a los asistentes de IA que crean clientes.La respuesta devuelve el cliente y created. clients.create() evita los duplicados: cuando ya existe un cliente con ese email o, si no, con ese teléfono, recibes ese cliente con created: false en lugar de un segundo registro.