Skip to main content

Obtener un Token

1

Crear aplicación

Entra a developers.getjusto.com y crea una nueva app
2

Crea una nueva autorización

Despues de crear la aplicación debes crear una autorización para obtener acceso a una marca. Debes seleccionar los permisos que necesitas para tu aplicación. No se puede cambiar despues.
3

Solicita la autorización al cliente

Enviale a la marca la URL que se indica en el portal para que te entregue el acceso.
4

Obten el token

Una vez que la marca te de acceso, puedes obtener el token de autenticación. Este token solo lo podrás ver una vez asi que asegurate de guardarlo en un lugar seguro. Los token no expiran pero puedes generar uno nuevo y el anterior dejará de funcionar.

Autenticar Requests

Para autenticar tus requests debes enviar el token en el header Authorization de la siguiente manera:
fetch('https://api.service.getjusto.com/v3/api/me', {
  headers: {
    Authorization: 'Bearer ' + token,
  },
});

Autenticación de Webhooks

Al configurar un webhook puedes elegir el método de autenticación que usará Justo al llamar tu endpoint. Por defecto se usa firma HMAC.

Firma HMAC

Justo firma cada webhook con el token del webhook. La firma permite validar que el request fue enviado por Justo y que el payload no fue modificado. La firma se envía en el header X-Hub-Signature:
X-Hub-Signature: sha256=<firma_en_hex>
Para validar un webhook:
  1. Lee el body crudo del request, antes de parsearlo como JSON.
  2. Calcula HMAC-SHA256(rawBody, webhookSecret).
  3. Convierte el resultado a hexadecimal.
  4. Compara el resultado con el valor del header, removiendo el prefijo sha256=.
No reconstruyas el payload con JSON.stringify(req.body) para validar la firma. Cambios de espacios, orden de propiedades o formato de fechas pueden producir una firma distinta. Usa siempre el body exacto recibido por HTTP.
import crypto from 'crypto'

function verifyJustoWebhook(rawBody, signatureHeader, webhookSecret) {
  const receivedSignature = signatureHeader.replace('sha256=', '')

  const expectedSignature = crypto
    .createHmac('sha256', webhookSecret)
    .update(rawBody)
    .digest('hex')

  return crypto.timingSafeEqual(
    Buffer.from(receivedSignature, 'utf8'),
    Buffer.from(expectedSignature, 'utf8'),
  )
}

Token en Authorization

También puedes configurar el webhook para que Justo envíe el token del webhook directamente en el header Authorization:
Authorization: Bearer <token_del_webhook>
Este método no firma el payload. Úsalo cuando tu integración espera validar el token del webhook en el header de autorización.

Token de API en Authorization

También puedes configurar el webhook para que Justo envíe exactamente el mismo token que tu integración usa para autenticar requests hacia nuestra API:
Authorization: Bearer <token_de_api>
Este token corresponde a la autorización asociada al webhook. Si el token fue generado antes de que esta opción estuviera disponible, Justo lo guardará la próxima vez que tu integración haga un request válido a la API con ese token. Si todavía no existe un token guardado, el webhook no podrá enviarse con este método hasta que hagan un request válido o generen un token nuevo.