111 lines
3.7 KiB
Markdown
111 lines
3.7 KiB
Markdown
# API — Datos de Cocinas Modulares (MARMOTECH)
|
||
|
||
Servicio REST para consultar, por período, las ventas, gastos y consumo de insumos
|
||
de las cocinas modulares.
|
||
|
||
---
|
||
|
||
## Conexión
|
||
|
||
| | |
|
||
|---|---|
|
||
| **URL** | `https://ws.marmotech.com.do/gas/ws/r/restserver` |
|
||
| **Método** | `POST` |
|
||
| **Header** | `Content-Type: dbsync/json` |
|
||
| **Header** | `DBSync-Client: mbs` |
|
||
|
||
> Ambos headers son **obligatorios**. Si `DBSync-Client` no es exactamente `mbs`
|
||
> o el `Content-Type` no empieza con `dbsync/json`, el servidor responde `400 Bad request`.
|
||
|
||
---
|
||
|
||
## Cuerpo del request (body)
|
||
|
||
El body es un JSON con dos campos: `oper` y `data`.
|
||
**Importante:** `data` NO es un objeto — es un **string** que contiene otro JSON
|
||
(por eso sus comillas van escapadas con `\`).
|
||
|
||
```json
|
||
{
|
||
"oper": "datos_cocinas",
|
||
"data": "{\"usuario\":\"conecta\",\"clave\":\"conecta\",\"fechaCorte\":\"2026-07-01\"}"
|
||
}
|
||
```
|
||
|
||
### Parámetros dentro de `data`
|
||
|
||
| Campo | Tipo | Descripción |
|
||
|---|---|---|
|
||
| `usuario` | string | Usuario de base de datos para la conexión. |
|
||
| `clave` | string | Clave del usuario. |
|
||
| `fechaCorte` | string `YYYY-MM-DD` | Cualquier fecha dentro del **mes de producción** a consultar. El servicio toma el año/mes de esta fecha para calcular el rango (`fecha1`–`fecha2`). |
|
||
|
||
---
|
||
|
||
## Ejemplos por herramienta
|
||
|
||
### curl — Linux / Mac / Git Bash
|
||
```bash
|
||
curl -i -X POST "https://ws.marmotech.com.do/gas/ws/r/restserver" \
|
||
-H "Content-Type: dbsync/json" \
|
||
-H "DBSync-Client: mbs" \
|
||
-d '{"oper":"datos_cocinas","data":"{\"usuario\":\"conecta\",\"clave\":\"conecta\",\"fechaCorte\":\"2026-07-01\"}"}'
|
||
```
|
||
|
||
### curl — Windows CMD (cmd.exe)
|
||
```bat
|
||
curl.exe -i -X POST "https://ws.marmotech.com.do/gas/ws/r/restserver" -H "Content-Type: dbsync/json" -H "DBSync-Client: mbs" -d "{\"oper\":\"datos_cocinas\",\"data\":\"{\\\"usuario\\\":\\\"conecta\\\",\\\"clave\\\":\\\"conecta\\\",\\\"fechaCorte\\\":\\\"2026-07-01\\\"}\"}"
|
||
```
|
||
|
||
### Windows PowerShell (recomendado en Windows)
|
||
PowerShell maltrata las comillas al pasarlas a `curl.exe`; usa `Invoke-RestMethod`:
|
||
```powershell
|
||
$body = @'
|
||
{"oper":"datos_cocinas","data":"{\"usuario\":\"conecta\",\"clave\":\"conecta\",\"fechaCorte\":\"2026-07-01\"}"}
|
||
'@
|
||
|
||
Invoke-RestMethod -Uri "https://ws.marmotech.com.do/gas/ws/r/restserver" `
|
||
-Method Post -ContentType "dbsync/json" `
|
||
-Headers @{ "DBSync-Client" = "mbs" } -Body $body
|
||
```
|
||
|
||
### Postman
|
||
1. Método **POST**, URL `https://ws.marmotech.com.do/gas/ws/r/restserver`
|
||
2. Pestaña **Headers**: agregar `Content-Type: dbsync/json` y `DBSync-Client: mbs`
|
||
3. Pestaña **Body** → **raw** → pegar el JSON de la sección *Cuerpo del request*.
|
||
|
||
---
|
||
|
||
## Respuesta
|
||
|
||
`HTTP/1.1 200 OK` con `Content-Type: dbsync/json`. El cuerpo es un JSON:
|
||
|
||
```json
|
||
{
|
||
"ventasCantidad": 99,
|
||
"cantidadInsumos": 3568.904,
|
||
"ventasVAlor": 2347966.48,
|
||
"gastos": 128799.65,
|
||
"valorIsumos": 794649.12,
|
||
"cod_msg": 200,
|
||
"descripcion": "OPERACION EXITOSA"
|
||
}
|
||
```
|
||
|
||
| Campo | Descripción |
|
||
|---|---|
|
||
| `ventasCantidad` | Unidades vendidas de cocinas modulares en el período. |
|
||
| `ventasVAlor` | Ventas netas (bruto − descuento) de las facturas de cocinas. |
|
||
| `gastos` | Gastos del departamento de Ensamble Modulares (6118) en el período. |
|
||
| `cantidadInsumos` | Cantidad de insumos consumidos en el período. |
|
||
| `valorIsumos` | Valor de esos insumos al costo estándar. |
|
||
| `cod_msg` | `200` = OK. `400` = error (ver `descripcion`). |
|
||
| `descripcion` | Mensaje del resultado. Ej.: `OPERACION EXITOSA`, `USUARIO NO VALIDO`. |
|
||
|
||
### Errores comunes
|
||
| Situación | Respuesta |
|
||
|---|---|
|
||
| Usuario/clave de BD inválidos | `cod_msg: 400`, `descripcion: "USUARIO NO VALIDO ..."` |
|
||
| Header `DBSync-Client` o `Content-Type` incorrecto | `HTTP 400 Bad request` |
|
||
| `data` con JSON mal escapado | Error de parseo JSON (`-8109`) — revisar el escape de comillas |
|