Skip to main content
PATCH
/
honorary
/
authorized-users
Enrolar usuario autorizado
curl --request PATCH \
  --url https://api.tupana.ai/v1/honorary/authorized-users/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "master_entity_id": 1,
  "rut": "12.345.678-9",
  "action": "enroll"
}
'
{
  "status": "enrolled",
  "message": "<string>",
  "rut": "<string>",
  "master_entity": {
    "id": 123,
    "name": "<string>",
    "tax_id": "<string>"
  }
}

Endpoints disponibles

Este endpoint está disponible en dos formatos:
  • PATCH /v1/honorary/authorized-users/ (recomendado): El master_entity_id y rut se proporcionan en el body o query parameters
  • PATCH /v1/honorary/master-entities/{master_entity_id}/authorized-users/{rut}/: El master_entity_id y rut se proporcionan en la ruta (mantiene compatibilidad)

Qué hace

Enrola un usuario autorizado del SII para emitir boletas de honorarios. El master_entity_id y rut pueden proporcionarse en el body, query parameters, o en la ruta (según el endpoint usado). Para desenrolar un usuario, usa el endpoint de Desenrolar Usuario Autorizado.

Enrolar (action=“enroll” o sin action)

Enrola un usuario autorizado del SII para que pueda emitir boletas de honorarios desde la cuenta del usuario para una entidad emisora específica. Al enrolar:
  1. Valida que el RUT esté en la lista de autorizados del SII para la entidad
  2. Extrae el nombre real del usuario desde el SII
  3. Crea una nueva entidad con la razón social completa
  4. Asocia la entidad al usuario y a la credencial de la entidad emisora

Ejemplos de uso

  • Permitir que un contador emita boletas de honorarios para una empresa específica
  • Agregar un nuevo autorizador al sistema después de verificar sus permisos en el SII
  • Configurar usuarios para emisión de boletas en una entidad emisora específica

Reglas de negocio

Acción por defecto

Este endpoint está diseñado para enrolar usuarios. Si no se especifica el parámetro action en el body, el sistema asume que se quiere enrolar el usuario. Para desenrolar un usuario, usa el endpoint de Desenrolar Usuario Autorizado.

Validación automática

El RUT debe existir en la lista de autorizados del SII. Si el RUT no está autorizado, la operación falla. Esto garantiza que solo se puedan enrolar usuarios que realmente tienen permisos en el SII.

Creación de entidad automática

Si el usuario no tiene una entidad asociada, se crea automáticamente. El nombre de la entidad se obtiene del registro del SII para garantizar exactitud. La entidad se asocia tanto al usuario como a la credencial de la entidad emisora.

Usuario ya enrolado

Si el usuario ya está enrolado, la operación retorna un estado especial indicando que ya estaba enrolado, pero no falla. Esto permite que el frontend muestre el estado correcto sin generar errores.

Actualización del contexto

Después del enrolamiento exitoso, el frontend debe actualizar el contexto de entidades. La nueva entidad aparecerá en el selector de empresas con su nombre real obtenido del SII.

Consideraciones importantes

  • Requiere credenciales SII válidas para validar la autorización
  • El nombre se obtiene directamente del SII para garantizar exactitud
  • Una vez enrolado, el usuario puede emitir boletas desde esa cuenta
  • El enrolamiento es reversible mediante el endpoint de desenrolar

Authorizations

Authorization
string
header
required

API Key para autenticación. Debe proporcionarse en el header Authorization con el formato: 'Api-Key YOUR-API-KEY' (incluye el prefijo 'Api-Key ' seguido de tu API key)

Query Parameters

master_entity_id
integer

ID de la entidad emisora

rut
string

RUT del usuario a gestionar. Puede proporcionarse en query parameter o en el body. RUT del usuario autorizado

Body

application/json
master_entity_id
integer
required

ID de la entidad emisora (requerido si no se proporciona en query parameter)

Example:

1

rut
string
required

RUT del usuario autorizado (requerido si no se proporciona en query parameter)

Example:

"12.345.678-9"

action
enum<string>
default:enroll

Acción a realizar. Por defecto 'enroll'

Available options:
enroll,
unenroll
Example:

"enroll"

Response

Operación exitosa (enrolar o desenrolar)

Respuesta al enrolar

status
enum<string>
required

Estado del enrolamiento

Available options:
enrolled,
already_enrolled
message
string
required

Mensaje descriptivo

rut
string
required

RUT normalizado del usuario enrolado

master_entity
object

Información de la entidad creada/asociada