Cliente API

Clientes

Accede a los datos de clientes del comerciante con client.customers — listar y obtener registros individuales de clientes.

client.customers proporciona acceso de lectura a la base de clientes del comerciante. Todas las operaciones requieren el permiso read:customers.

Permisos Requeridos

OperaciónPermiso requerido
list, getread:customers

Mapeo HTTP

MétodoVerbo HTTPRuta
list(params?)GET/customers
get(id)GET/customers/:id

Métodos

list

Obtiene una lista paginada de clientes.

const { data, pagination } = await client.customers.list({
  page: 1,
  per_page: 25,
});

data.forEach((customer) => {
  console.log(`${customer.name} — ${customer.email}`);
});

console.log(`Página 1 de ${pagination.pages}`);

get

Obtiene un único cliente por su ID.

const customer = await client.customers.get("365047281936");

console.log(customer.name);
console.log(customer.email);
console.log(customer.phone);

Consideraciones de Privacidad de Datos

Los datos de clientes son sensibles. Al construir plugins que acceden a client.customers:

  • Solo solicita read:customers si tu plugin genuinamente lo necesita — el permiso aparece en la pantalla de instalación del comerciante.
  • No almacenes PII bruta de clientes (correos, teléfonos) en tu propia base de datos a menos que sea estrictamente necesario para la funcionalidad de tu plugin.
  • Sigue las políticas de retención y eliminación de datos documentadas en las pautas de publicación.
  • Responde a los eventos webhook app.uninstalled eliminando todos los datos de clientes almacenados para ese comerciante.

Manejo de Errores

import { NotFoundError, AuthorizationError } from "@whatalo/plugin-sdk";

try {
  const customer = await client.customers.get("999999999999");
} catch (error) {
  if (error instanceof NotFoundError) {
    console.log(`Customer not found: ${error.resourceId}`);
  } else if (error instanceof AuthorizationError) {
    // Plugin does not have read:customers scope
    console.log(`Missing scope: ${error.requiredScope}`);
  } else {
    throw error;
  }
}

Consulta Errores y Límites de Tasa para la referencia completa de clases de error.

On this page