🏢 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ámetroTipoRequeridoDescripciónValidación
----------------------------------------------------
rucstringRUC de la empresa (13 dígitos)`requiredstringmin:13max:13unique:companies,ruc`
namestringNombre comercial o identificador interno`requiredstringmin:3max:150`
business_namestringRazón social de la empresa`requiredstringmin:3max:250`
addressstringDirección principal`requiredstringmax:150`
phonestringTeléfono de contacto`requiredstringmax:15`
accounting_requiredstringIndica si lleva contabilidad`requiredstringin:SI,YES,NO`
special_taxpayerstringIndica si es contribuyente especial`requiredstringin:SI,YES,NO`
special_taxpayer_numberstringNúmero de contribuyente especial`nullablestringrequired_if:special_taxpayer,SIrequired_if:special_taxpayer,YES`
large_taxpayerstringIndica si es gran contribuyente`nullablestringin:SI,YES,NO`
major_taxpayerstringIndica si es contribuyente mayor`requiredstringin:SI,YES,NO`
sri_resolution_codestringCódigo de resolución SRI`nullablestringrequired_if:major_taxpayer,SIrequired_if:major_taxpayer,YES`
emailstringCorreo electrónico de la empresa`requiredstringemail:rfc,dnsmax:100unique: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ámetroTipoRequeridoDescripciónValidación
----------------------------------------------------
rucstringRUC de la empresa`requiredstringmin:13max:13`
namestringNombre comercial o identificador interno`requiredstringmin:3max:150`
business_namestringRazón social de la empresa`requiredstringmin:3max:250`
addressstringDirección principal`requiredstringmax:150`
phonestringTeléfono de contacto`requiredstringmax:15`
accounting_requiredstringIndica si lleva contabilidad`requiredstringin:SI,YES,NO`
special_taxpayerstringIndica si es contribuyente especial`requiredstringin:SI,YES,NO`
special_taxpayer_numberstringNúmero de contribuyente especial`nullablestringrequired_if:special_taxpayer,YES`
large_taxpayerstringIndica si es gran contribuyente`nullablestringin:SI,YES,NO`
major_taxpayerstringIndica si es contribuyente mayor`requiredstringin:SI,YES,NO`
sri_resolution_codestringCódigo de resolución SRI`nullablestringrequired_if:major_taxpayer,YES`
emailstringCorreo electrónico de la empresa`requiredstringemail:rfc,dnsmax: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ámetroTipoRequeridoDescripciónValidación
----------------------------------------------------
certifyfileArchivo del certificado P12`requiredfile`
passwordstringContraseña del certificado`requiredstring`
rucstringRUC de la empresa`requiredstringmin:13exists: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ámetroTipoRequeridoDescripciónValidación
----------------------------------------------------
rucstringRUC de la empresa`requiredstringmin:13exists:companies,ruc`
logofileArchivo de imagen del logo`requiredimagemax: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"

📚 Documentación relacionada