Files
MBS/WEBSERVICES/testrest/API_datosCocina.md
T

111 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |