Files

3.7 KiB
Raw Permalink Blame History

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 \).

{
  "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 (fecha1fecha2).

Ejemplos por herramienta

curl — Linux / Mac / Git 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)

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:

$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 Bodyraw → 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:

{
  "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