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 OKcon los datos deltenant_idexistente 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ámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
name | String | Sí | Nombre comercial o identificador corto interno para la empresa cliente. |
business_name | String | Sí | Razón social oficial del contribuyente registrada ante el SIN. |
nit | String | Sí | Número de Identificación Tributaria (NIT) del contribuyente (entre 5 y 15 dígitos numéricos). |
modality_code | Integer | Sí | Código de modalidad de facturación (1: Electrónica en Línea, 2: Computarizada en Línea). |
is_uniper | Integer | Sí | Indicador de tipo de persona (1: Unipersonal, 0: Jurídica / Sociedad). |
type_document_sectors_codes | Array[Int] | Sí | Lista de códigos numéricos de los sectores a emitir (ej. [1]). Debe contener solo sectores autorizados en /document-sectors. |
system_code | Array[String] | No | Códigos de sistema registrados. Opcional: Si se omite, el backend infiere automáticamente el sistema compatible más reciente. |
platform | String | No | Identificador de versión del motor de facturación (Defecto: emizor5). |
branch_code | Integer | No | Código de la sucursal inicial que se creará (Defecto: 0 para Casa Matriz). |
address | String | No | Dirección física completa para la sucursal inicial. |
city | String | No | Ciudad o departamento donde opera la sucursal inicial (ej. "La Paz"). |
municipality | String | No | Municipio de ubicación de la sucursal inicial (ej. "Nuestra Señora de La Paz"). |
zone | String | No | Zona o barrio de la sucursal inicial (ej. "Obrajes"). |
phone | String | No | Telé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
| Campo | Tipo | Descripción |
|---|---|---|
id | Integer | Identificador autonumérico de la empresa en la base de datos de Emizor. |
tenant_id / company_key | String | Clave del Tenant. Debe enviarse en la cabecera tenant-key para todas las operaciones futuras. |
system_code | String (JSON) | Códigos de sistema que fueron asignados y guardados para la empresa. |
type_document_sectors_codes | String (JSON) | Códigos de sectores guardados para la empresa. |
enabled | Integer | Habilitada automáticamente (1) para operar de inmediato. |
Respuestas de Error
400 Bad Request: Error de validación en el payload, lossystem_codemanuales 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 entype_document_sectors_codes.500 Internal Server Error: Ocurrió un error inesperado en la base de datos.