{"id":13556,"date":"2025-08-14T23:57:34","date_gmt":"2025-08-14T21:57:34","guid":{"rendered":"https:\/\/help.mapal-os.com\/?p=13556"},"modified":"2026-01-27T15:43:28","modified_gmt":"2026-01-27T14:43:28","slug":"enviar-ventas-en-tiempo-real-mediante-api","status":"publish","type":"post","link":"https:\/\/help.mapal-os.com\/es\/analytics-es\/ventas\/enviar-ventas-en-tiempo-real-mediante-api\/","title":{"rendered":"Enviar ventas en tiempo real mediante API"},"content":{"rendered":"\n\n<p class=\"wp-block-paragraph\"><strong>Empieza desde:<\/strong> Tus interfaces de servidor a servidor (cliente de API).<\/p>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>API de ventas en tiempo real<\/strong><\/h2>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\">La <strong>API de ventas en tiempo real<\/strong> es un servicio RESTful para <strong>enviar datos de ventas en vivo<\/strong> de forma segura.<\/p>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ventajas clave:<\/strong><\/p>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Actualizaciones inmediatas de las cifras de ventas.<\/li>\n\n\n\n\n\n\n<li>Asegura la conexi\u00f3n de servidor a servidor (HTTPS + JWT).<\/li>\n\n\n\n\n\n\n<li>Permite aplicar filtros flexibles por Centro y por d\u00eda de negocio.<\/li>\n<\/ul>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong style=\"font-size: 30px;\">Generar un token JWT<\/strong><\/p>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ENV\u00cdA una solicitud POST a:<\/strong> <a class=\"\" href=\"https:\/\/login.mapal-os.com\/connect\/token\" target=\"_new\" rel=\"noopener\" data-start=\"190\" data-end=\"230\">https:\/\/login.mapal-os.com\/connect\/token<\/a><\/p>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Par\u00e1metros:<\/strong><\/p>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><p data-start=\"250\" data-end=\"271\">grant_type=password<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"274\" data-end=\"300\">username=<your_username><\/your_username><\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"303\" data-end=\"329\">password=<your_password><\/your_password><\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"332\" data-end=\"353\">client_id=wf_wap_tp<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"356\" data-end=\"431\">client_secret=<shared_client_secret> (contacta con Atenci\u00f3n al Cliente para obtenerlo)<\/shared_client_secret><\/p><\/li>\n<\/ul>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La respuesta correcta incluye: <\/strong>access_token, expires_in, token_type, refresh_token, scope.<\/p>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong data-start=\"531\" data-end=\"564\">Incluye el token en las solicitudes<\/strong><\/h2>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>A\u00f1adir encabezado: <\/strong>Authorization: Bearer {access_token}<\/li>\n<\/ul>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Enviar ventas en tiempo real<\/h2>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Dominio base:<\/strong> <a class=\"\" data-start=\"666\" data-end=\"706\" href=\"https:\/\/api.workforce.mapal-os.com\/sales\" target=\"_new\" rel=\"noopener\">https:\/\/api.workforce.mapal-os.com\/sales<\/a><\/li>\n\n\n\n\n\n\n<li><strong>Ruta del endpoint:<\/strong> \/api\/v1\/business-unit\/{unitId}\/real-time-sales<\/li>\n\n\n\n\n\n\n<li><strong>M\u00e9todo:<\/strong> GET (si tu especificaci\u00f3n OpenAPI muestra un m\u00e9todo diferente, sigue la especificaci\u00f3n)<\/li>\n<\/ul>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Par\u00e1metros \/ campos de carga \u00fatil<\/h2>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><p data-start=\"904\" data-end=\"929\">unitId (ruta, entero)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"904\" data-end=\"929\">businessDay (cadena, yyyy-MM-dd)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"969\" data-end=\"1004\">realTimeSales (array de objetos):<\/p>\n\n<ul class=\"wp-block-list\">\n\n<li><p data-start=\"1009\" data-end=\"1030\">currencyId (cadena)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1035\" data-end=\"1057\">salesTypeId (cadena)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1062\" data-end=\"1097\">timeSlotStart (cadena, fecha y hora)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1102\" data-end=\"1122\">netSales (decimal)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1127\" data-end=\"1149\">grossSales (decimal)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1154\" data-end=\"1175\">numChecks (entero)<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1180\" data-end=\"1201\">numGuests (entero)<\/p><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Revisar ventas enviadas<\/h2>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Ve a <strong>Analytics &gt; Sales<\/strong> en Mapal OS.<\/li>\n<\/ul>\n\n\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong data-start=\"1287\" data-end=\"1296\">Observaciones:<\/strong><\/p>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><p data-start=\"1301\" data-end=\"1331\">Todas las solicitudes deben usar HTTPS.<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1334\" data-end=\"1387\">Los tokens caducan (expires_in) y debes generarlos de nuevo.<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1390\" data-end=\"1429\">Puedes revocar los tokens si se ven comprometidos.<\/p><\/li>\n<\/ul>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Gesti\u00f3n de errores<\/h2>\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><p data-start=\"1459\" data-end=\"1570\"><strong>400 Bad Request:<\/strong> ID de Unit no v\u00e1lida; desajuste de d\u00eda laborable; desajuste de Monedas o tipo de venta; Horarios no v\u00e1lidos.<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1573\" data-end=\"1618\"><strong>401 No autorizado:<\/strong> Token no v\u00e1lido o faltante.<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1621\" data-end=\"1679\"><strong>404 No encontrado:<\/strong> Inquilino o configuraci\u00f3n del inquilino no encontrado.<\/p><\/li>\n\n\n\n\n\n\n<li><p data-start=\"1682\" data-end=\"1710\"><strong>Error interno del servidor 500.<\/strong><\/p><\/li>\n<\/ul>\n\n\n\n\n\n\n\n\n\n\n<li><p data-start=\"1682\" data-end=\"1710\"><strong><\/strong><\/p><\/li>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Como desarrollador que crea una Interface entre tu sistema y Mapal OS, puedes enviar ventas en tiempo real mediante la API para que las cifras est\u00e9n disponibles al instante para Informes y previsiones. La API de ventas en tiempo real es RESTful y est\u00e1 protegida con HTTPS y JWT.<\/p>\n","protected":false},"author":251210541,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[132572],"tags":[],"class_list":["post-13556","post","type-post","status-publish","format-standard","hentry","category-ventas"],"acf":{"article_type":"default","post_id":"","post_url_text":"","post_url":"","info_box":{"title":"","info":""},"post_video":"","import_category":"","overview_item":null,"troubleshoot_case":null},"_links":{"self":[{"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/posts\/13556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/users\/251210541"}],"replies":[{"embeddable":true,"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/comments?post=13556"}],"version-history":[{"count":0,"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/posts\/13556\/revisions"}],"wp:attachment":[{"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/media?parent=13556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/categories?post=13556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/help.mapal-os.com\/es\/wp-json\/wp\/v2\/tags?post=13556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}