products-payment-refacil-mcp 1.2.6 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Servidor MCP (Model Context Protocol) generado automáticamente para la API prod
4
4
 
5
5
  ## 🚀 Características
6
6
 
7
- - **13 herramientas** generadas automáticamente desde la colección Postman
7
+ - **21 herramientas** generadas automáticamente desde la colección Postman
8
8
  - **Autenticación flexible**: secretId con renovación automática de tokens
9
9
  - **Servidor HTTP** con Fastify
10
10
  - **Protocolo MCP** estándar para integración con IDEs
@@ -353,7 +353,7 @@ Este endpoint incluye un script automático que:
353
353
  | --- | --- | --- |
354
354
  | secretId | string | Campo del body: secretId |
355
355
 
356
- ### `status`
356
+ ### `health_check_health_check_get`
357
357
 
358
358
  Verificación del estado de la API y conectividad con servicios
359
359
 
@@ -369,7 +369,6 @@ Verificación del estado de la API y conectividad con servicios
369
369
  "status": "ok",
370
370
  "timestamp": "2024-01-15T10:30:45.123Z",
371
371
  "uptime": 3600,
372
- "services": "connected",
373
372
  "version": "1.0.0",
374
373
  "environment": "development"
375
374
  }
@@ -386,7 +385,6 @@ Verificación del estado de la API y conectividad con servicios
386
385
  "status": "error",
387
386
  "timestamp": "2024-01-15T10:30:45.123Z",
388
387
  "uptime": 3600,
389
- "services": "disconnected",
390
388
  "error": "Connection timeout",
391
389
  "version": "1.0.0",
392
390
  "environment": "development"
@@ -394,6 +392,12 @@ Verificación del estado de la API y conectividad con servicios
394
392
  }
395
393
  ```
396
394
 
395
+ ### `status`
396
+
397
+ Verificación del estado de la API y conectividad con servicios
398
+
399
+ Verifica conectividad de la API contra el core service.
400
+
397
401
  ### `products_categories`
398
402
 
399
403
  Endpoints para consultar categorías y productos disponibles
@@ -776,7 +780,7 @@ Endpoints para crear solicitudes de productos
776
780
  **📋 Relación con Endpoint de Productos:**
777
781
  Los datos para crear esta solicitud provienen principalmente del endpoint `products/by-customer-and-category`:
778
782
 
779
- - **`category_id`**: Debe usar el mismo valor de `categoryId` enviado en la consulta a `products/by-customer-and-category`
783
+ - **`category_id`**: ID de la categoría (del endpoint de productos)
780
784
 
781
785
  - **`id`**: ID del producto seleccionado (del campo `id` del producto)
782
786
 
@@ -798,7 +802,7 @@ Los datos para crear esta solicitud provienen principalmente del endpoint `produ
798
802
 
799
803
  **Body (JSON):**
800
804
 
801
- - `category_id` (number, requerido): mismo valor de `categoryId` usado al consultar `products/by-customer-and-category`
805
+ - `category_id` (number, requerido): ID de la categoría (obtenido del endpoint de productos)
802
806
 
803
807
  - `id` (number, requerido): ID del producto seleccionado (obtenido del campo `id` del producto)
804
808
 
@@ -814,6 +818,8 @@ Los datos para crear esta solicitud provienen principalmente del endpoint `produ
814
818
 
815
819
  - `customer_id` (string, opcional): Identificador único del usuario o dispositivo
816
820
 
821
+ - `subcustomer_id` (string, opcional): Identificador del subcliente o cuenta hija asociada al `customer_id`
822
+
817
823
  - cart_id (string, opcional): identificador del carrito de compra al que se quiere agregar la solicictud de producto
818
824
 
819
825
 
@@ -890,7 +896,8 @@ const customerId = deviceId || sessionId;
890
896
  "query_type": "BILLData",
891
897
  "sell_type": "Bill",
892
898
  "agreement": "2010910",
893
- "customer_id": "device_abc123def456"
899
+ "customer_id": "device_abc123def456",
900
+ "subcustomer_id": "subcust_01"
894
901
  }
895
902
 
896
903
  ```
@@ -949,6 +956,7 @@ GET /products/by-customer-and-category
949
956
  "amount": null,
950
957
  "meta": {
951
958
  "fnArgs": 20363,
959
+ "categoryId": 44,
952
960
  "form": [
953
961
  {
954
962
  "active": true,
@@ -1154,7 +1162,7 @@ Con la respuesta de este endpoint, puedes proceder a crear el pago usando `/prod
1154
1162
 
1155
1163
  | Name | Type | Description |
1156
1164
  | --- | --- | --- |
1157
- | category_id * | number | mismo valor de `categoryId` usado al consultar `products/by-customer-and-category` |
1165
+ | category_id * | number | ID de la categoría (obtenido del endpoint de productos) |
1158
1166
  | id * | number | ID del producto seleccionado (obtenido del campo `id` del producto) |
1159
1167
  | amount | null | Monto del producto (ver reglas de uso) |
1160
1168
  | data * | object | Datos específicos del producto basados en `template_data_request` del producto |
@@ -1162,6 +1170,7 @@ Con la respuesta de este endpoint, puedes proceder a crear el pago usando `/prod
1162
1170
  | sell_type * | string | Tipo de venta del producto (DIRECT_SALE, QUERY_FIRST) |
1163
1171
  | agreement | string | Aceptación de términos (puede venir del campo `agreement` del producto) |
1164
1172
  | customer_id | string | Identificador único del usuario o dispositivo |
1173
+ | subcustomer_id | string | Identificador del subcliente o cuenta hija asociada al `customer_id` |
1165
1174
  | cart_id | string | identificador del carrito de compra al que se quiere agregar la solicictud de producto |
1166
1175
 
1167
1176
  ### `product_requests_status`
@@ -1175,7 +1184,7 @@ Este endpoint incluye validación de seguridad que garantiza que solo puedas con
1175
1184
 
1176
1185
  **📋 Parámetros:**
1177
1186
 
1178
- Debes proporcionar **uno** de los siguientes parámetros (no ambos obligatorios):
1187
+ Debes proporcionar al menos uno de los siguientes parámetros:
1179
1188
 
1180
1189
  - **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)
1181
1190
 
@@ -1387,7 +1396,7 @@ Este endpoint incluye validación de seguridad que garantiza que solo puedas des
1387
1396
 
1388
1397
  **📋 Parámetros:**
1389
1398
 
1390
- Debes proporcionar **uno** de los siguientes parámetros (no ambos obligatorios):
1399
+ Debes proporcionar al menos uno de los siguientes parámetros:
1391
1400
 
1392
1401
  - **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)
1393
1402
 
@@ -1664,7 +1673,7 @@ Crea el pago de un producto usando el medio de pago seleccionado. Esta es la eta
1664
1673
  **📋 Relación con Endpoint de Solicitud:**
1665
1674
  Los datos para crear este pago provienen de la respuesta del endpoint `product-requests/create`:
1666
1675
 
1667
- - **`cartId`**: Del campo `cartId` de la respuesta de solicitud
1676
+ - **`cartId`**: Del campo `cartId` de la respuesta del carrito
1668
1677
 
1669
1678
  - **`id`**: Del campo `id` del medio de pago seleccionado
1670
1679
 
@@ -1682,7 +1691,7 @@ Los datos para crear este pago provienen de la respuesta del endpoint `product-r
1682
1691
 
1683
1692
  **Body (JSON):**
1684
1693
 
1685
- - `cartId` (string, requerido): ID de la solicitud obtenido de `product-requests/create`
1694
+ - `cartId` (string, requerido): ID del carrito obtenido de `product-requests/create`
1686
1695
 
1687
1696
  - `id` (number, requerido): ID del medio de pago seleccionado
1688
1697
 
@@ -1690,9 +1699,9 @@ Los datos para crear este pago provienen de la respuesta del endpoint `product-r
1690
1699
 
1691
1700
  - `data` (object, requerido): Datos del pagador basados en `template_data_request` del medio de pago
1692
1701
 
1693
- - `returnUrl` (string, opcional): URL de retorno después del pago
1702
+ - `returnUrl` (string, requerido): URL de retorno después del pago
1694
1703
 
1695
- - `webhookUrl` (string, opcional): URL para notificaciones de estado del pago
1704
+ - `webhookUrl` (string, requerido): URL para notificaciones de estado del pago
1696
1705
 
1697
1706
 
1698
1707
  **🔄 Flujo de Creación de Pago:**
@@ -1815,7 +1824,7 @@ Los datos para crear este pago provienen de la respuesta del endpoint `product-r
1815
1824
  "cartId": "88d0b575-80f4-4f9b-af8f-5d09ec2cb877",
1816
1825
  "url": "https://mf-core.refacil.co/refacilpay/resumen/62/5ff47b60-77b1-11f0-b5e9-6f43bd8928c1",
1817
1826
  "reference": "5ff47b60-77b1-11f0-b5e9-6f43bd8928c1",
1818
- "amount": 19000
1827
+ "amount": 19000,
1819
1828
  "expiresIn": "2025-08-13T07:20:15.038Z"
1820
1829
  }
1821
1830
  }
@@ -1896,12 +1905,12 @@ Los datos para crear este pago provienen de la respuesta del endpoint `product-r
1896
1905
 
1897
1906
  | Name | Type | Description |
1898
1907
  | --- | --- | --- |
1899
- | cartId * | string | ID de la solicitud obtenido de `product-requests/create` |
1908
+ | cartId * | string | ID del carrito obtenido de `product-requests/create` |
1900
1909
  | id * | number | ID del medio de pago seleccionado |
1901
1910
  | categoryid * | number | ID de la categoría del medio de pago |
1902
1911
  | data * | object | Datos del pagador basados en `template_data_request` del medio de pago |
1903
- | returnUrl | string | URL de retorno después del pago |
1904
- | webhookUrl | string | URL para notificaciones de estado del pago |
1912
+ | returnUrl * | string | URL de retorno después del pago |
1913
+ | webhookUrl * | string | URL para notificaciones de estado del pago |
1905
1914
 
1906
1915
  ### `products_payment_retry_sale`
1907
1916
 
@@ -2137,11 +2146,218 @@ Endpoints para crear reembolsos
2137
2146
  | email * | string | Email del cliente |
2138
2147
  | webhookUrl * | string | URL para notificaciones del reembolso |
2139
2148
 
2140
- ### `docs_cli_web_documentation`
2149
+ ### `dashboard_summary`
2150
+
2151
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2152
+
2153
+ Devuelve KPIs agregados del cliente: totalRequests, totalSales, totalSalesAmount, totalRefunds, totalRefundsAmount, failedRequests, conversionRate (0..1).
2154
+
2155
+ **Body:**
2156
+ - `customer_id` (string, requerido)
2157
+ - `subcustomer_id` (string, opcional) → `core.product_requests.subcustomer_id`
2158
+ - `from`/`to` (ISO-8601 UTC, opcional; ambos o ninguno; from <= to)
2159
+
2160
+ Si no se envía rango, se aplican los últimos 30 días en UTC.
2161
+
2162
+ La pestaña **Body** incluye `subcustomer_id` y un rango de fechas explícito.
2163
+
2164
+ **Ejemplo — sin filtro por subcliente (omite `subcustomer_id`):**
2165
+ ```json
2166
+ {
2167
+ "customer_id": "customer_123",
2168
+ "from": "2026-03-01T00:00:00.000Z",
2169
+ "to": "2026-03-31T23:59:59.000Z"
2170
+ }
2171
+ ```
2172
+
2173
+ **Parámetros:**
2174
+
2175
+ | Name | Type | Description |
2176
+ | --- | --- | --- |
2177
+ | customer_id | string | Campo del body: customer_id |
2178
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2179
+ | from | string | Campo del body: from |
2180
+ | to | string | Campo del body: to |
2181
+
2182
+ ### `dashboard_sales`
2183
+
2184
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2185
+
2186
+ Listado paginado de ventas exitosas (`product_sales.status = SUCCESS`) enriquecido con datos del `product_request`.
2187
+
2188
+ **Body adicional:**
2189
+ - `subcustomer_id` (opcional) → `core.product_requests.subcustomer_id`
2190
+ - `page` (default 1, min 1)
2191
+ - `limit` (default 20, max 100)
2192
+ - `product_type` (opcional)
2193
+
2194
+ Filtro de fechas: `COALESCE(executed_at, created_at)` de la venta.
2195
+
2196
+ La pestaña **Body** trae un ejemplo **con** `subcustomer_id` para que se vea directo en la colección.
2197
+
2198
+ **Ejemplo — todo el segmento de `customer_id` (sin `subcustomer_id` o null):**
2199
+ ```json
2200
+ {
2201
+ "customer_id": "customer_123",
2202
+ "page": 1,
2203
+ "limit": 20,
2204
+ "product_type": "RECARGA"
2205
+ }
2206
+ ```
2207
+
2208
+ **Parámetros:**
2209
+
2210
+ | Name | Type | Description |
2211
+ | --- | --- | --- |
2212
+ | customer_id | string | Campo del body: customer_id |
2213
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2214
+ | page | number | Campo del body: page |
2215
+ | limit | number | Campo del body: limit |
2216
+ | product_type | string | Campo del body: product_type |
2217
+
2218
+ ### `dashboard_transactions`
2219
+
2220
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2221
+
2222
+ Listado paginado de `product_requests` con el estado consolidado del flujo (request + payment + topup + sale). Filtros opcionales: `status` (array de ProductRequestStatus) y `product_type`. `subcustomer_id` opcional → `core.product_requests.subcustomer_id`.
2223
+
2224
+ La pestaña **Body** incluye `subcustomer_id` para que el campo se vea en la colección.
2225
+
2226
+ **Ejemplo — sin filtro por subcliente (omite `subcustomer_id`):**
2227
+ ```json
2228
+ {
2229
+ "customer_id": "customer_123",
2230
+ "page": 1,
2231
+ "limit": 20,
2232
+ "status": ["SOLD", "REFUNDED"],
2233
+ "product_type": "FACTURA"
2234
+ }
2235
+ ```
2236
+
2237
+ **Parámetros:**
2238
+
2239
+ | Name | Type | Description |
2240
+ | --- | --- | --- |
2241
+ | customer_id | string | Campo del body: customer_id |
2242
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2243
+ | page | number | Campo del body: page |
2244
+ | limit | number | Campo del body: limit |
2245
+ | status | array | Campo del body: status |
2246
+ | product_type | string | Campo del body: product_type |
2247
+
2248
+ ### `dashboard_stats_by_status`
2249
+
2250
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2251
+
2252
+ Agrupa `product_requests` por `ProductRequestStatus`. La respuesta SIEMPRE incluye una entrada por cada estado del enum (count=0, totalAmount=0 si no hay registros). `subcustomer_id` opcional → `core.product_requests.subcustomer_id`.
2253
+
2254
+ La pestaña **Body** incluye `subcustomer_id`.
2255
+
2256
+ **Ejemplo — sin filtro por subcliente:**
2257
+ ```json
2258
+ {
2259
+ "customer_id": "customer_123"
2260
+ }
2261
+ ```
2262
+
2263
+ **Parámetros:**
2264
+
2265
+ | Name | Type | Description |
2266
+ | --- | --- | --- |
2267
+ | customer_id | string | Campo del body: customer_id |
2268
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2269
+
2270
+ ### `dashboard_stats_by_product_type`
2271
+
2272
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2273
+
2274
+ Agrupa por `product_type`. Por defecto solo `status=SOLD`. Acepta `statuses` (array) para overridear. `subcustomer_id` opcional → `core.product_requests.subcustomer_id`.
2275
+
2276
+ La pestaña **Body** incluye `subcustomer_id`.
2277
+
2278
+ **Ejemplo — sin filtro por subcliente:**
2279
+ ```json
2280
+ {
2281
+ "customer_id": "customer_123",
2282
+ "statuses": ["SOLD"]
2283
+ }
2284
+ ```
2285
+
2286
+ **Parámetros:**
2287
+
2288
+ | Name | Type | Description |
2289
+ | --- | --- | --- |
2290
+ | customer_id | string | Campo del body: customer_id |
2291
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2292
+ | statuses | array | Campo del body: statuses |
2293
+
2294
+ ### `dashboard_stats_timeseries`
2295
+
2296
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2297
+
2298
+ Serie temporal de ventas SOLD agrupada por `granularity` (`day` | `month`, default `day`). Buckets vacíos vienen con `count=0` y `totalAmount=0`. `subcustomer_id` opcional → `core.product_requests.subcustomer_id`.
2299
+
2300
+ La pestaña **Body** incluye `subcustomer_id`.
2301
+
2302
+ **Ejemplo — todos los subsegmentos en el rango (omite `subcustomer_id`):**
2303
+ ```json
2304
+ {
2305
+ "customer_id": "customer_123",
2306
+ "granularity": "day",
2307
+ "from": "2026-03-01T00:00:00.000Z",
2308
+ "to": "2026-03-07T23:59:59.000Z"
2309
+ }
2310
+ ```
2311
+
2312
+ **Parámetros:**
2313
+
2314
+ | Name | Type | Description |
2315
+ | --- | --- | --- |
2316
+ | customer_id | string | Campo del body: customer_id |
2317
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2318
+ | granularity | string | Campo del body: granularity |
2319
+ | from | string | Campo del body: from |
2320
+ | to | string | Campo del body: to |
2321
+
2322
+ ### `dashboard_refunds`
2323
+
2324
+ Endpoints read-only para dashboards de cliente. Los siete `POST /dashboard/*` requieren autenticación (Bearer + `x-secret-id`) y filtran por el `user_api_id` del token. `customer_id` es obligatorio y mapea a `core.product_requests.user_temp_id`. El campo opcional `subcustomer_id` (string o null) se acepta en **todas** las rutas y mapea a `core.product_requests.subcustomer_id`: si se omite, es null o queda en blanco tras trim, no hay filtro por subcliente (todo el subsegmento bajo ese `customer_id`); si se envía, los resultados se limitan a ese subcliente. El rango `from`/`to` (ISO-8601 UTC) sigue las reglas de cada endpoint. Cada request documenta ambos patrones (con y sin `subcustomer_id`).
2325
+
2326
+ Listado paginado de reembolsos del customer con datos del `product_request` asociado. Filtro opcional `status` (array). `subcustomer_id` opcional → `core.product_requests.subcustomer_id`. Filtro de fechas sobre `refunds.created_at`.
2327
+
2328
+ La pestaña **Body** incluye `subcustomer_id`.
2329
+
2330
+ **Ejemplo — sin filtro por subcliente:**
2331
+ ```json
2332
+ {
2333
+ "customer_id": "customer_123",
2334
+ "page": 1,
2335
+ "limit": 20,
2336
+ "status": ["CONFIRMED"]
2337
+ }
2338
+ ```
2339
+
2340
+ **Parámetros:**
2341
+
2342
+ | Name | Type | Description |
2343
+ | --- | --- | --- |
2344
+ | customer_id | string | Campo del body: customer_id |
2345
+ | subcustomer_id | string | Campo del body: subcustomer_id |
2346
+ | page | number | Campo del body: page |
2347
+ | limit | number | Campo del body: limit |
2348
+ | status | array | Campo del body: status |
2349
+
2350
+ ### `about_webhook_guide`
2141
2351
 
2142
2352
  Guía para implementar webhooks del lado del cliente para recibir notificaciones de pagos y reembolsos
2143
2353
 
2144
- **📋 IMPORTANTE: Implementación de Webhooks del Cliente Requerida**
2354
+ **⚠️ ESTE ITEM NO ES UN ENDPOINT EJECUTABLE DE LA API.**
2355
+
2356
+ Es una referencia informativa para integradores. La URL `about:client-webhook-guide` se usa a propósito para evitar que Postman lo ejecute como request HTTP del microservicio (no generará 404 contra el API). El contenido debe leerse solo como guía.
2357
+
2358
+ ---
2359
+
2360
+ **📋 IMPORTANTE: Implementación de Webhooks del Cliente Requerida**
2145
2361
 
2146
2362
  Este NO es un endpoint de la API, sino una guía para implementar webhooks en TU sistema.
2147
2363