🏢 Gestión de Empresas
Configuración y administración de empresas para la API de Facturación Electrónica SRI.
🏢 Registrar Empresa
Endpoint: POST /api/companie/register
Registra una nueva empresa en el sistema con su información comercial.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción | Validación | ||||
| ----------- | ------ | ---------- | ------------- | ------------ | ||||
ruc | string | ✅ | RUC de la empresa (13 dígitos) | `required | string | min:13 | max:13 | unique:companies,ruc` |
name | string | ✅ | Nombre comercial o identificador interno | `required | string | min:3 | max:150` | |
business_name | string | ✅ | Razón social de la empresa | `required | string | min:3 | max:250` | |
address | string | ✅ | Dirección principal | `required | string | max:150` | ||
phone | string | ✅ | Teléfono de contacto | `required | string | max:15` | ||
accounting_required | string | ✅ | Indica si lleva contabilidad | `required | string | in:SI,YES,NO` | ||
special_taxpayer | string | ✅ | Indica si es contribuyente especial | `required | string | in:SI,YES,NO` | ||
special_taxpayer_number | string | ❌ | Número de contribuyente especial | `nullable | string | required_if:special_taxpayer,SI | required_if:special_taxpayer,YES` | |
large_taxpayer | string | ❌ | Indica si es gran contribuyente | `nullable | string | in:SI,YES,NO` | ||
major_taxpayer | string | ✅ | Indica si es contribuyente mayor | `required | string | in:SI,YES,NO` | ||
sri_resolution_code | string | ❌ | Código de resolución SRI | `nullable | string | required_if:major_taxpayer,SI | required_if:major_taxpayer,YES` | |
email | string | ✅ | Correo electrónico de la empresa | `required | string | email:rfc,dns | max:100 | unique:companies,email` |
Ejemplo de Solicitud
#### Crear empresa
curl -X POST "{{ url('/api/companie/register') }}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ruc": "1712345678001",
"name": "EMPRESA DE EJEMPLO",
"business_name": "EMPRESA DE EJEMPLO S.A.",
"address": "Av. Amazonas N34-123 y Elías Aguirre",
"phone": "0999999999",
"accounting_required": "SI",
"special_taxpayer": "NO",
"large_taxpayer": "NO",
"major_taxpayer": "NO",
"email": "[email protected]"
}'
Ejemplos de Respuesta
#### Éxito (201 Created)
{
"status": "ok",
"code": 201,
"message": "Empresa creada correctamente",
"data": {
"ruc": "1712345678001",
"name": "EMPRESA DE EJEMPLO",
"business_name": "EMPRESA DE EJEMPLO S.A.",
"address": "Av. Amazonas N34-123 y Elías Aguirre",
"phone": "0999999999",
"accounting_required": "YES",
"special_taxpayer": "NO",
"large_taxpayer": "NO",
"major_taxpayer": "NO",
"sri_resolution_code": null,
"email": "[email protected]",
"status": "ACTIVE",
"owner": {
"id": 1,
"name": "Juan Pérez",
"email": "[email protected]"
}
}
}
#### Error de validación (422)
{
"status": "error",
"code": 422,
"message": "Los datos proporcionados no son válidos.",
"errors": {
"ruc": ["El RUC ya ha sido registrado."],
"email": ["El correo electrónico ya ha sido registrado."]
}
}
#### Error de autenticación (401)
{
"status": "info",
"code": 401,
"message": "Token de API inválido o expirado."
}
📝 Actualizar Empresa
Endpoint: PUT /api/companie/update/{ruc}
Actualiza la información de la empresa.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción | Validación | |||
| ----------- | ------ | ---------- | ------------- | ------------ | |||
ruc | string | ✅ | RUC de la empresa | `required | string | min:13 | max:13` |
name | string | ✅ | Nombre comercial o identificador interno | `required | string | min:3 | max:150` |
business_name | string | ✅ | Razón social de la empresa | `required | string | min:3 | max:250` |
address | string | ✅ | Dirección principal | `required | string | max:150` | |
phone | string | ✅ | Teléfono de contacto | `required | string | max:15` | |
accounting_required | string | ✅ | Indica si lleva contabilidad | `required | string | in:SI,YES,NO` | |
special_taxpayer | string | ✅ | Indica si es contribuyente especial | `required | string | in:SI,YES,NO` | |
special_taxpayer_number | string | ❌ | Número de contribuyente especial | `nullable | string | required_if:special_taxpayer,YES` | |
large_taxpayer | string | ❌ | Indica si es gran contribuyente | `nullable | string | in:SI,YES,NO` | |
major_taxpayer | string | ✅ | Indica si es contribuyente mayor | `required | string | in:SI,YES,NO` | |
sri_resolution_code | string | ❌ | Código de resolución SRI | `nullable | string | required_if:major_taxpayer,YES` | |
email | string | ✅ | Correo electrónico de la empresa | `required | string | email:rfc,dns | max:100` |
Ejemplo de Solicitud
#### Actualizar empresa
curl -X PUT "{{ url('/api/companie/update/1712345678001') }}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ruc": "1712345678001",
"name": "EMPRESA ACTUALIZADA",
"business_name": "EMPRESA ACTUALIZADA S.A.",
"address": "Av. Amazonas N999-999 y Elías Aguirre",
"phone": "0998887777",
"accounting_required": "SI",
"special_taxpayer": "NO",
"large_taxpayer": "NO",
"major_taxpayer": "NO",
"email": "[email protected]"
}'
📜 Subir Certificado
Endpoint: POST /api/companie/certificate
Sube el certificado digital .p12 para la firma de documentos XML.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción | Validación | |||
| ----------- | ------ | ---------- | ------------- | ------------ | |||
certify | file | ✅ | Archivo del certificado P12 | `required | file` | ||
password | string | ✅ | Contraseña del certificado | `required | string` | ||
ruc | string | ✅ | RUC de la empresa | `required | string | min:13 | exists:companies,ruc` |
Ejemplo de Solicitud
#### Subir certificado
curl -X POST "{{ url('/api/companie/certificate') }}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "ruc=1712345678001" \
-F "certify=@/path/to/certificate.p12" \
-F "password=secure_password123"
🖼️ Subir Logo
Endpoint: POST /api/companie/upload/logo
Sube la imagen del logo de la empresa.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción | Validación | |||
| ----------- | ------ | ---------- | ------------- | ------------ | |||
ruc | string | ✅ | RUC de la empresa | `required | string | min:13 | exists:companies,ruc` |
logo | file | ✅ | Archivo de imagen del logo | `required | image | max:2048` |
Ejemplo de Solicitud
#### Subir logo
curl -X POST "{{ url('/api/companie/upload/logo') }}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "ruc=1712345678001" \
-F "logo=@/path/to/company-logo.png"