Saltar al contenido

Desarrolladores

Recetas para SAP, Dynamics y JD Edwards

Cómo el ERP de una marca toma los pedidos de las tiendas, da su respuesta y factura a partir de los albaranes firmados, con SAP, Microsoft Dynamics 365 o JD Edwards EnterpriseOne.

En esta página

Estas recetas muestran cómo una marca con Enterprise conecta su circuito de venta con el módulo de campo, la API de escritura y sus webhooks de campo (página de planes): los pedidos tomados en las tiendas se convierten en pedidos de venta, vuelve la respuesta del ERP y el ERP factura a partir de los albaranes que firmaron las tiendas. MercaMap nunca pone precios, impuestos ni facturas; lo hace tu ERP. Los archivos se describen en Formatos CSV del módulo de campo.

Lo que comparten todas las recetas

Claves. Un administrador crea en «Ajustes de la cuenta» › «API» una clave para la integración (orders:read, orders:write, deliveries:read, catalogue:write) y, si se quiere, otra para informes (data:read, releases:read, issues:read, scorecards:read). Guárdalas en el almacén de secretos de la plataforma, nunca en el código de un programa, y envíalas como Authorization: Bearer.

Datos maestros. Un proceso programado envía las referencias a POST /api/portal/v1/imports/skus, los códigos de tienda a /imports/store_codes una vez emparejada cada tienda con nuestro identificador de tienda (la columna store_id de cualquier exportación), las tarifas que enseñan tus comerciales a /imports/price_list?priceListId=… (se muestran, nunca se suman) y las cargas de cada furgoneta a /imports/van_load, una vez por documento. Para las referencias basta una vez por semana, y una celda vacía conserva lo que MercaMap tiene.

Pedidos. Un pedido llega al ERP cuando se entrega, y solo un pedido entregado admite la respuesta del ERP. La oficina entrega los pedidos por archivo («Pedidos» › «Entregar al ERP», con el formato de MercaMap o con el de Odoo o NetSuite), o la cuenta entrega cada uno en cuanto la tienda lo confirma (Archivos del ERP y entrega de pedidos). Por eso el ERP importa ese archivo, o lee GET /orders?status=handed_off cada pocos minutos; o toma él mismo los pedidos confirmados: lee GET /orders?status=confirmed y llama a POST /orders/{id}/handoff para cada uno, que entrega el pedido una vez por nuestro identificador y, si se llama de nuevo, responde con el pedido tal como está. Lee GET /orders/{id} para conocer la tienda y las líneas de cada pedido, y crea el pedido de venta con el identificador de pedido de MercaMap como referencia, para que un reintento encuentre el pedido que ya ha creado, y responde con POST /orders/{id}/answer: {"answer": "acknowledged", "externalRef": "…"}, o {"answer": "rejected", "reason": "…"} cuando el pedido está bloqueado. Un pedido respondido sale de esa lista; el archivo de respuestas hace lo mismo por CSV.

Albaranes. Con el webhook delivery.recorded, o una vez al día con deliveries.csv?days=1, el ERP lee cada albarán con GET /deliveries/{id} (su número, como A-000123, su tienda, su pedido y sus líneas) y crea a partir de él sus propios documentos, con el número del albarán como referencia. Un albarán anulado más tarde aparece como voided: deshaz lo que se ha hecho a partir de él. El propio MercaMap envía el PDF del albarán a la dirección confirmada de la tienda.

Comprobaciones. Cada semana, concilia los pedidos aceptados en MercaMap con los pedidos de venta que llevan una referencia de MercaMap, y los albaranes de la semana con lo que el ERP ha contabilizado. La página «Actividad» de la cuenta nombra la clave que hay detrás de cada respuesta y de cada importación.

SAP S/4HANA y SAP ERP

  • Claves: en el destino de SAP BTP o en el almacén seguro de Integration Suite.
  • Referencias: un iFlow de Integration Suite, o un informe ABAP programado en SM36 que llama al endpoint con CL_HTTP_CLIENT, lee los materiales que vende la marca (MARA y MVKE): code es el número de material, ean el EAN que MEAN tiene para la unidad de medida base, la que se lleva el comprador (nunca el de la unidad de venta, que puede ser una caja), y case_size el numerador de la unidad de venta.
  • Códigos de tienda: los solicitantes o los destinatarios de mercancía, con code como número de cliente de SAP y gln como el ILN. Tarifas: los registros de condición PR00, un archivo por tarifa. Cargas de furgoneta: los traslados de existencias al almacén de cada furgoneta.
  • Pedidos: crea el pedido de venta con BAPI_SALESORDER_CREATEFROMDAT2 o con el servicio OData API_SALES_ORDER_SRV, con el cliente tomado del código de la tienda y el identificador de MercaMap en la referencia de cliente (BSTKD); responde con el número del pedido de venta (VBELN) como externalRef.
  • Albaranes: crea la entrega de salida o el documento de facturación a partir de cada albarán.

Microsoft Dynamics 365

  • Claves: en Azure Key Vault, usadas desde Power Automate o Logic Apps con una acción HTTP.
  • Referencias: la API items de Business Central, o la entidad de productos liberados en Finance and Operations: code es el número de artículo, ean el GTIN de la unidad base, la que se lleva el comprador, y case_size sale de la unidad de medida de venta.
  • Códigos de tienda: los clientes o las direcciones de envío, con code como número de cliente. Tarifas: una lista de precios de venta por archivo. Cargas de furgoneta: las órdenes de transferencia a la ubicación de cada furgoneta, una vez por transferencia.
  • Pedidos: un flujo que se repite cada pocos minutos crea el pedido de venta (la API salesOrders de Business Central, o las entidades de cabecera y líneas de pedido de venta en Finance and Operations) con el identificador de MercaMap como número de documento externo, y responde con el número del pedido de venta. Business Central en línea no necesita un flujo propio cuando esté abierta la conexión directa de la página «ERP»: trae los artículos, los clientes y una tarifa, y entrega los pedidos que se entregan al confirmarse.
  • Albaranes: un desencadenador de solicitud HTTP con delivery.recorded, que comprueba la cabecera mercamap-signature, registra el envío y la factura de venta con el número del albarán como número de documento externo; un albarán anulado revierte lo registrado.

JD Edwards EnterpriseOne

  • Claves: en una conexión REST de Orchestrator que envía la cabecera Authorization: Bearer, nunca en los pasos de una orquestación.
  • Referencias: una orquestación programada lee los artículos (F4101 y F4102, y de la referencia cruzada de artículos el GTIN de la unidad que se lleva el comprador, no el de la caja): code es el número corto o el segundo número de artículo y case_size sale de la conversión de unidades de medida.
  • Códigos de tienda: las direcciones de envío (F0101 y F0301), con code como número de dirección. Tarifas: los precios base (F4106) de cada tarifa. Cargas de furgoneta: los traslados a la sucursal/planta de cada furgoneta, una vez por traslado.
  • Pedidos: una orquestación cada pocos minutos introduce cada pedido con Sales Order Entry (P4210) mediante una solicitud de formulario, con el identificador de MercaMap como pedido de cliente, y responde con el número de pedido.
  • Albaranes: confirma el envío (P4205) de las líneas del albarán y deja que la actualización de ventas lo facture, con el número del albarán en la referencia; un albarán anulado revierte lo confirmado.

Siguientes pasos

Actualizado el 26/10/2026

¿Te ha servido este artículo?

No escribas datos personales ni claves. Guardamos las valoraciones 365 días, sin tu dirección IP ni nada sobre ti, y borramos correos, teléfonos, documentos de identidad, claves, códigos y enlaces.