Saltar al contenido principal

Crear Compañía

Crear Nueva Compañía (Idempotente)

  • URL: POST /api/partner/v1/companies
  • Cabeceras Obligatorias: Authorization: Bearer <TOKEN_PARTNER_API>
  • Content-Type: application/json
  • Descripción: Registra una nueva compañía bajo el control del Partner. Este endpoint implementa Idempotencia estricta. Si ocurre un error de red y se reintenta el mismo payload (mismo NIT y entorno), el sistema no duplicará la compañía; en su lugar, devolverá un estado 200 OK con los datos del tenant_id existente para continuar el flujo de forma segura.

Ejemplo de Payload de Petición (Request Body)

{
"name": "Nombre Comercial de Prueba",
"business_name": "Razón Social S.A.",
"nit": "1002003004",
"modality_code": 1,
"is_uniper": 0,
"type_document_sectors_codes": [1, 2],
"system_code": ["221000"],
"platform": "emizor5",
"branch_code": 0,
"municipality": "La Paz",
"zone": "Obrajes",
"phone": "77777777"
}

Detalles del Payload de Petición

ParámetroTipoRequeridoDescripción
nameStringNombre comercial o identificador corto interno para la empresa cliente.
business_nameStringRazón social oficial del contribuyente registrada ante el SIN.
nitStringNúmero de Identificación Tributaria (NIT) del contribuyente (entre 5 y 15 dígitos numéricos).
modality_codeIntegerCódigo de modalidad de facturación (1: Electrónica en Línea, 2: Computarizada en Línea).
is_uniperIntegerIndicador de tipo de persona (1: Unipersonal, 0: Jurídica / Sociedad).
type_document_sectors_codesArray[Int]Lista de códigos numéricos de los sectores a emitir (ej. [1]). Debe contener solo sectores autorizados en /document-sectors.
system_codeArray[String]NoCódigos de sistema registrados. Opcional: Si se omite, el backend infiere automáticamente el sistema compatible más reciente.
platformStringNoIdentificador de versión del motor de facturación (Defecto: emizor5).
branch_codeIntegerNoCódigo de la sucursal inicial que se creará (Defecto: 0 para Casa Matriz).
addressStringNoDirección física completa para la sucursal inicial.
cityStringNoCiudad o departamento donde opera la sucursal inicial (ej. "La Paz").
municipalityStringNoMunicipio de ubicación de la sucursal inicial (ej. "Nuestra Señora de La Paz").
zoneStringNoZona o barrio de la sucursal inicial (ej. "Obrajes").
phoneStringNoTeléfono de contacto de la sucursal inicial.

Ejemplo de Respuesta de Éxito (201 Created / 200 OK)

{
"id": 45,
"name": "Nombre Comercial de Prueba",
"business_name": "Razón Social S.A.",
"nit": "1002003004",
"modality_code": 1,
"is_uniper": 0,
"system_code": "[\"221000\"]",
"type_document_sectors_codes": "[1,2]",
"enabled": 1,
"company_key": "6a51539e12667",
"tenant_id": "6a51539e12667",
"created_at": "2026-07-24 11:00:00"
}

Detalles de los Campos de la Respuesta

CampoTipoDescripción
idIntegerIdentificador autonumérico de la empresa en la base de datos de Emizor.
tenant_id / company_keyStringClave del Tenant. Debe enviarse en la cabecera tenant-key para todas las operaciones futuras.
system_codeString (JSON)Códigos de sistema que fueron asignados y guardados para la empresa.
type_document_sectors_codesString (JSON)Códigos de sectores guardados para la empresa.
enabledIntegerHabilitada automáticamente (1) para operar de inmediato.

Respuestas de Error

  • 400 Bad Request: Error de validación en el payload, los system_code manuales no soportan los sectores solicitados, o error al registrar la sucursal.
  • 401 Unauthorized: El NIT proporcionado ya se encuentra registrado por otro Partner.
  • 403 Forbidden: Intentaste registrar un documento sector no autorizado en type_document_sectors_codes.
  • 500 Internal Server Error: Ocurrió un error inesperado en la base de datos.