Eliminar Puntos de Emisión
Eliminar Puntos de Emisión
Section titled “Eliminar Puntos de Emisión”Dominio: https://test-api-factura.edw-dev.com
Dominio: https://api-financiero.e-dinky.com
Información General
Section titled “Información General”- Endpoint:
DELETE /api/v1/companies/accounts/establishments/emission-points/:companyId/:accountId/:establishmentNo/:emissionPointNo
- Método: DELETE
- Autenticación: Bearer Token requerido
- Descripción: Elimina un punto de emisión específico de un establecimiento
Headers Requeridos
Section titled “Headers Requeridos”Authorization: Bearer {token}Accept: application/json
Parámetros de URL
Section titled “Parámetros de URL”Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
companyId | string | Sí | ID de la empresa (RUC) |
accountId | string | Sí | ID de la cuenta empresarial |
establishmentNo | string | Sí | Número del establecimiento (ej: “001”) |
emissionPointNo | string | Sí | Número del punto de emisión (ej: “004”) |
Ejemplo de Request
Section titled “Ejemplo de Request”DELETE /api/v1/companies/accounts/establishments/emission-points/1359194914/509636719/001/004Authorization: Bearer {token}Accept: application/json
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Punto de emisión eliminado exitosamente", "status": "OK", "payload": { "deleted_emission_point": { "pto_emision": "004", "establishment": "001", "name": "Caja Autoservicio", "description": "Punto de emisión para autoservicio y pagos automáticos", "status": "deleted", "deleted_at": "2024-01-25T18:45:00Z" }, "affected_sequentials": [ { "code_doc": "01", "title": "Factura", "last_sequential": "000000025", "documents_issued": 25 }, { "code_doc": "04", "title": "Nota de crédito", "last_sequential": "000000003", "documents_issued": 3 }, { "code_doc": "05", "title": "Nota de débito", "last_sequential": "000000001", "documents_issued": 1 } ], "summary": { "total_documents_affected": 29, "sequentials_archived": 5, "backup_created": true, "backup_reference": "backup_004_20240125_184500" } }}
Respuestas de Error
Section titled “Respuestas de Error”404 Not Found - Punto de emisión no encontrado
Section titled “404 Not Found - Punto de emisión no encontrado”{ "message": "Punto de emisión no encontrado", "status": "ERROR", "payload": null, "error": "Emission point not found"}
409 Conflict - Punto de emisión con documentos activos
Section titled “409 Conflict - Punto de emisión con documentos activos”{ "message": "No se puede eliminar el punto de emisión", "status": "ERROR", "payload": { "reason": "El punto de emisión tiene documentos pendientes de autorización", "pending_documents": [ { "document_type": "Factura", "document_number": "001-004-000000026", "status": "pending_authorization", "created_at": "2024-01-25T17:30:00Z" } ], "suggestion": "Espere a que todos los documentos sean procesados antes de eliminar el punto de emisión" }, "error": "Cannot delete emission point with pending documents"}
403 Forbidden - Punto de emisión principal
Section titled “403 Forbidden - Punto de emisión principal”{ "message": "No se puede eliminar el punto de emisión principal", "status": "ERROR", "payload": { "reason": "El punto de emisión 001 es el punto principal y no puede ser eliminado", "suggestion": "Cree otro punto de emisión y transfiéralo como principal antes de eliminar este" }, "error": "Cannot delete main emission point"}
Ejemplos de Código
Section titled “Ejemplos de Código”curl -X DELETE \ {{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/1359194914/509636719/001/004 \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {{bearerToken}}'
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Authorization' => 'Bearer ' . $bearerToken, 'Accept' => 'application/json',])->delete("{{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/{$companyId}/{$accountId}/{$establishmentNo}/{$emissionPointNo}");
$deletionResult = $response->json();
const deleteEmissionPoint = async (companyId, accountId, establishmentNo, emissionPointNo) => { try { const response = await fetch(`{{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/${companyId}/${accountId}/${establishmentNo}/${emissionPointNo}`, { method: 'DELETE', headers: { 'Authorization': `Bearer ${bearerToken}`, 'Accept': 'application/json' } });
const data = await response.json(); return data; } catch (error) { console.error('Error:', error); }};
// Uso de la funcióndeleteEmissionPoint('1359194914', '509636719', '001', '004');
Proceso de Eliminación
Section titled “Proceso de Eliminación”1. Validaciones Previas
Section titled “1. Validaciones Previas”- ✅ Verificar que el punto de emisión existe
- ✅ Confirmar que no es el punto principal (001)
- ✅ Validar que no hay documentos pendientes
- ✅ Verificar permisos de eliminación
2. Proceso de Archivado
Section titled “2. Proceso de Archivado”- 📦 Crear backup de todos los secuenciales
- 📋 Registrar historial de documentos emitidos
- 🗃️ Archivar configuraciones del punto
- 🔒 Marcar como eliminado (soft delete)
3. Información de Respuesta
Section titled “3. Información de Respuesta”- deleted_emission_point: Datos del punto eliminado
- affected_sequentials: Secuenciales que fueron archivados
- summary: Resumen del proceso de eliminación
Restricciones de Eliminación
Section titled “Restricciones de Eliminación”❌ No se puede eliminar si:
Section titled “❌ No se puede eliminar si:”- Es el punto de emisión principal (001)
- Tiene documentos pendientes de autorización
- Tiene documentos en proceso de envío al SRI
- Es el único punto de emisión del establecimiento
- Hay transacciones activas en curso
✅ Se puede eliminar si:
Section titled “✅ Se puede eliminar si:”- No es el punto principal
- Todos los documentos están autorizados o rechazados
- No hay procesos activos
- Existe al menos otro punto de emisión activo
Recuperación de Datos
Section titled “Recuperación de Datos”Backup Automático
Section titled “Backup Automático”Cada eliminación genera un backup que incluye:
- Configuración del punto de emisión
- Historial completo de secuenciales
- Lista de documentos emitidos
- Metadatos de configuración
Referencia de Backup
Section titled “Referencia de Backup”Formato: backup_{punto_emision}_{fecha}_{hora}
Ejemplo: backup_004_20240125_184500
Casos de Uso
Section titled “Casos de Uso”🧹 Limpieza de Configuración
Section titled “🧹 Limpieza de Configuración”- Eliminar puntos de emisión no utilizados
- Reorganizar estructura de puntos
- Simplificar configuración operativa
🔄 Reestructuración
Section titled “🔄 Reestructuración”- Cambios en layout de establecimiento
- Reducción de puntos de venta
- Optimización de flujos de trabajo
🛠️ Mantenimiento
Section titled “🛠️ Mantenimiento”- Eliminar puntos de prueba
- Limpiar configuraciones erróneas
- Preparar para reconfiguraciones
Notas Importantes
Section titled “Notas Importantes”- Eliminación Suave: Los puntos se marcan como eliminados, no se borran físicamente
- Backup Automático: Se crea respaldo automático de todos los datos
- Restricciones: No se puede eliminar el punto principal (001)
- Documentos: Debe esperar que todos los documentos sean procesados
- Recuperación: Los backups permiten recuperar información si es necesario
- Auditoría: Todas las eliminaciones quedan registradas para auditoría