SelSup Developers

Fundamentos de la integración · Guías

Comenzando

Autenticación, la primera solicitud, errores localizados, paginado y un despliegue seguro de producción.

4 seccionesGuía para desarrolladores

Comience con un token dedicado y una operación de lectura. Añade mutaciones solo después de que se hayan probado el manejo y el comportamiento de error.

Desarrolladores e integradores de backend

01

Autenticación y almacenamiento de tokens

Envía el token API directamente en el encabezado Authorization sin un prefijo Bearer.

Crea un token separado para cada integración. Luego puedes revocar una conexión sin interrumpir a otras y otorgar solo los permisos que necesita.

Almacenar el token en secretos del lado del servidor. Nunca enviarlo en el navegador JavaScript, una aplicación móvil, una URL, registros o análisis.

!
Esto no es OAuth

No agregue Bearer o Basic. El valor Authorization es el token SelSup en sí mismo.

Primera solicitud · cURL
curl --request GET 'https://api.selsup.ru/api/brand/find?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

02

Errores y localización del mensaje

Apárate en el campo estable error y utiliza localMessage sólo para la salida legible para el ser humano.

Una aplicación error normalmente contiene error, localMessage y params. El servidor traduce XPRO TECTED4X utilizando el campo lang del usuario que posee el token.

El lenguaje de documentación y Accept-Language no cambian la localización de error. Nunca compare localMessage en código o lo persista como estado de máquina.

i
Contexto de diagnóstico

Registra el estado de HTTP, error, params, el tiempo de la solicitud y su ID de correlación. Nunca registre el token o los datos personales.

Aplicación de contrato error · JSON
{
  "error": "brand_already_exists",
  "localMessage": "Brand Base already exists",
  "params": {
    "name": "Base"
  }
}

03

Paginación de grandes colecciones

Utilice una clasificación estable y detenga cuando hasNextPage es falso o la página devuelta es menor que el límite.

count=true puede activar una consulta de recuento adicional. Envíalo en la primera solicitud solo cuando se necesita el total.

Los datos pueden cambiar entre páginas. Para la sincronización recurrente, clasificar por un identificador inmutable y procesar cambios en un flujo incremental separado.

Bucle de páginas · JavaScript
let page = 1;
let hasNextPage = true;

while (hasNextPage) {
  const url = new URL('https://api.selsup.ru/api/brand/find');
  url.searchParams.set('limit', '500');
  url.searchParams.set('page', String(page));
  url.searchParams.set('sortBy', 'BRANDID');
  url.searchParams.set('ascending', 'true');

  const response = await fetch(url, {
    headers: { Authorization: process.env.SELSUP_API_TOKEN }
  });
  if (!response.ok) throw await response.json();

  const result = await response.json();
  await savePage(result.rows);
  hasNextPage = result.hasNextPage;
  page += 1;
}

04

Lista de verificación de la producción

  1. 1

    Separación de lectura y escritura

    Valida primero las solicitudes de GET. Utilice entidades de prueba y un paso de confirmación explícito para las mutaciones.

  2. 2

    Configurar las temporadas y los retemplazos

    Sólo retratan fallas de red y operaciones seguras. Un POST sin su propia clave de idempotencia puede crear un duplicado.

  3. 3

    Limitar la concurrencia

    Respecte los límites de los puntos finales y use una cola con retroceso exponencial y un pequeño nervioso aleatorio.

  4. 4

    Conciliar los resultados

    Después de una sincronización masiva, comparar recuentos y identificadores de muestra, luego mover las discrepancias en una cola separada.

!
Datos de cuentas en vivo

Prueba envía la solicitud a la cuenta del propietario del token. La documentación agrega una confirmación para escritos, pero aún debe usar registros de prueba.