Crear Puntos de Emisión
Crear Puntos de Emisión
Section titled “Crear 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:
POST /api/v1/companies/accounts/establishments/emission-points/:companyId/:accountId/:establishmentNo
- Método: POST
- Autenticación: Bearer Token requerido
- Descripción: Crea un nuevo punto de emisión en un establecimiento específico
Headers Requeridos
Section titled “Headers Requeridos”Authorization: Bearer {token}Accept: application/jsonContent-Type: 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”) |
Parámetros del Body
Section titled “Parámetros del Body”Campo | Tipo | Requerido | Descripción |
---|---|---|---|
pto_emision | string | Sí | Código del punto de emisión (001-999) |
name | string | Sí | Nombre descriptivo del punto de emisión |
description | string | No | Descripción detallada del punto de emisión |
Ejemplo de Request
Section titled “Ejemplo de Request”POST /api/v1/companies/accounts/establishments/emission-points/1359194914/509636719/001Authorization: Bearer {token}Accept: application/jsonContent-Type: application/json
{ "pto_emision": "004", "name": "Caja Autoservicio", "description": "Punto de emisión para autoservicio y pagos automáticos"}
Respuesta Exitosa (201 Created)
Section titled “Respuesta Exitosa (201 Created)”{ "message": "Punto de emisión creado exitosamente", "status": "OK", "payload": { "pto_emision": "004", "establishment": "001", "name": "Caja Autoservicio", "description": "Punto de emisión para autoservicio y pagos automáticos", "status": "active", "created_at": "2024-01-25T16:30:00Z", "sequentials": [ { "code_doc": "01", "title": "Factura", "sequential": "000000000", "next_number": 1, "environment": "TEST" }, { "code_doc": "04", "title": "Nota de crédito", "sequential": "000000000", "next_number": 1, "environment": "TEST" }, { "code_doc": "05", "title": "Nota de débito", "sequential": "000000000", "next_number": 1, "environment": "TEST" }, { "code_doc": "06", "title": "Guía de remisión", "sequential": "000000000", "next_number": 1, "environment": "TEST" }, { "code_doc": "07", "title": "Comprobante de retención", "sequential": "000000000", "next_number": 1, "environment": "TEST" } ] }}
Respuestas de Error
Section titled “Respuestas de Error”400 Bad Request - Punto de emisión ya existe
Section titled “400 Bad Request - Punto de emisión ya existe”{ "message": "El punto de emisión ya existe", "status": "ERROR", "payload": null, "error": "Emission point already exists"}
422 Unprocessable Entity - Datos inválidos
Section titled “422 Unprocessable Entity - Datos inválidos”{ "message": "Datos de validación incorrectos", "status": "ERROR", "payload": { "errors": { "pto_emision": ["El código debe tener exactamente 3 dígitos"], "name": ["El nombre es requerido"] } }, "error": "Validation failed"}
Ejemplos de Código
Section titled “Ejemplos de Código”curl -X POST \ {{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/1359194914/509636719/001 \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {{bearerToken}}' \ -H 'Content-Type: application/json' \ -d '{ "pto_emision": "004", "name": "Caja Autoservicio", "description": "Punto de emisión para autoservicio y pagos automáticos" }'
use Illuminate\Support\Facades\Http;
$data = [ 'pto_emision' => '004', 'name' => 'Caja Autoservicio', 'description' => 'Punto de emisión para autoservicio y pagos automáticos'];
$response = Http::withHeaders([ 'Authorization' => 'Bearer ' . $bearerToken, 'Accept' => 'application/json', 'Content-Type' => 'application/json',])->post("{{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/{$companyId}/{$accountId}/{$establishmentNo}", $data);
$newEmissionPoint = $response->json();
const createEmissionPoint = async (companyId, accountId, establishmentNo, emissionPointData) => { try { const response = await fetch(`{{apiFacEcDev}}/api/v1/companies/accounts/establishments/emission-points/${companyId}/${accountId}/${establishmentNo}`, { method: 'POST', headers: { 'Authorization': `Bearer ${bearerToken}`, 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(emissionPointData) });
const data = await response.json(); return data; } catch (error) { console.error('Error:', error); }};
// Uso del funciónconst newPoint = { pto_emision: '004', name: 'Caja Autoservicio', description: 'Punto de emisión para autoservicio y pagos automáticos'};
createEmissionPoint('1359194914', '509636719', '001', newPoint);
Validaciones
Section titled “Validaciones”Código de Punto de Emisión
Section titled “Código de Punto de Emisión”- Formato: Debe ser exactamente 3 dígitos (001-999)
- Unicidad: No puede existir otro punto con el mismo código en el establecimiento
- Rango: Valores válidos de 001 a 999
Nombre
Section titled “Nombre”- Requerido: Campo obligatorio
- Longitud: Máximo 100 caracteres
- Caracteres: Letras, números y espacios permitidos
Descripción
Section titled “Descripción”- Opcional: Campo no requerido
- Longitud: Máximo 255 caracteres
Secuenciales Automáticos
Section titled “Secuenciales Automáticos”Al crear un punto de emisión, se generan automáticamente los secuenciales para todos los tipos de documentos SRI:
Código | Tipo de Documento |
---|---|
01 | Factura |
04 | Nota de crédito |
05 | Nota de débito |
06 | Guía de remisión |
07 | Comprobante de retención |
Casos de Uso
Section titled “Casos de Uso”🏪 Expansión de Puntos de Venta
Section titled “🏪 Expansión de Puntos de Venta”- Agregar nuevas cajas registradoras
- Configurar puntos de autoservicio
- Establecer puntos de venta especializados
📊 Organización Operativa
Section titled “📊 Organización Operativa”- Separar flujos de trabajo por tipo de venta
- Asignar puntos específicos a empleados
- Crear puntos para diferentes departamentos
🔧 Configuración Inicial
Section titled “🔧 Configuración Inicial”- Setup inicial de establecimientos nuevos
- Migración de sistemas legacy
- Preparación para certificación SRI
Notas Importantes
Section titled “Notas Importantes”- Límite: Máximo 999 puntos de emisión por establecimiento
- Secuenciales: Se crean automáticamente en ambiente TEST
- Estado: Los puntos se crean en estado “active” por defecto
- SRI: Debe sincronizarse con SRI antes de usar en producción
- Permisos: Requiere permisos de escritura en la cuenta empresarial