Establecimientos
Establecimientos
Section titled “Establecimientos”Dominio: https://test-api-factura.edw-dev.com
Dominio: https://api-financiero.e-dinky.com
Esta sección documenta los endpoints relacionados con la gestión de establecimientos empresariales, incluyendo consultas, sincronización con el SRI y administración de establecimientos.
Actualizar Establecimientos desde SRI
Section titled “Actualizar Establecimientos desde SRI”Información General
Section titled “Información General”- Endpoint:
POST /api/v1/companies/refresh-establishments/:accountId
- Método: POST
- Autenticación: Bearer Token requerido
- Descripción: Sincroniza y actualiza la lista de establecimientos desde el SRI
Headers Requeridos
Section titled “Headers Requeridos”Authorization: Bearer {token}Content-Type: application/jsonAccept: application/json
Parámetros de URL
Section titled “Parámetros de URL”Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
accountId | string | Sí | ID de la cuenta empresarial |
Parámetros del Request Body (Opcionales)
Section titled “Parámetros del Request Body (Opcionales)”Campo | Tipo | Descripción |
---|---|---|
force_update | boolean | Forzar actualización completa (default: false) |
sync_inactive | boolean | Sincronizar también establecimientos inactivos (default: false) |
Ejemplo de Request
Section titled “Ejemplo de Request”{ "force_update": true, "sync_inactive": false}
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Establecimientos actualizados desde SRI", "status": "UPDATED", "payload": { "account_id": "61247344", "sync_timestamp": "2024-01-15T10:30:00Z", "establishments_found": 3, "establishments_updated": 2, "establishments_created": 1, "establishments_deactivated": 0, "summary": { "total_active": 3, "total_inactive": 0, "matriz_count": 1, "sucursal_count": 2 }, "establishments": [ { "establishment_code": "001", "name": "Matriz Principal", "status": "updated" }, { "establishment_code": "002", "name": "Sucursal Norte", "status": "updated" }, { "establishment_code": "003", "name": "Sucursal Sur", "status": "created" } ] }}
Ejemplos de Código
Section titled “Ejemplos de Código”curl -X POST \ {{apiFacEcDev}}/api/v1/companies/refresh-establishments/61247344 \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {{bearerToken}}' \ -H 'Content-Type: application/json' \ -d '{ "force_update": true, "sync_inactive": false}'
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Authorization' => 'Bearer ' . $bearerToken, 'Accept' => 'application/json',])->post($apiUrl . '/api/v1/companies/refresh-establishments/' . $accountId, [ 'force_update' => true, 'sync_inactive' => false]);
$syncResult = $response->json();
const axios = require('axios');
const refreshEstablishments = async (accountId, options = {}) => { try { const response = await axios.post( `${apiUrl}/api/v1/companies/refresh-establishments/${accountId}`, { force_update: options.forceUpdate || false, sync_inactive: options.syncInactive || false }, { headers: { 'Authorization': `Bearer ${bearerToken}`, 'Content-Type': 'application/json', 'Accept': 'application/json' } } );
console.log('Sincronización completada:', response.data); return response.data; } catch (error) { console.error('Error en sincronización:', error.response.data); throw error; }};
Códigos de Respuesta
Section titled “Códigos de Respuesta”- 200 OK: Consulta exitosa
- 201 Created: Establecimientos sincronizados exitosamente
- 400 Bad Request: Parámetros inválidos
- 401 Unauthorized: Token de autorización inválido
- 404 Not Found: Cuenta no encontrada
- 422 Unprocessable Entity: Error de validación
- 500 Internal Server Error: Error interno del servidor
- 503 Service Unavailable: Servicio SRI no disponible