Otros sistemas de tiendas

¿Opera su plataforma de comercio electrónico como desarrollo propio? Este documento le ayuda a implementar las interfaces necesarias para nuestra pasarela PunchOut.

La creación inicial y la posterior actualización de los clientes la realiza usted a través de la interfaz web de PunchCommerce. El proveedor mantiene los siguientes parámetros para cada cliente:

Dirección de entrada Url de la tienda en línea a la que se redirige al cliente tras una autenticación correcta.

Identificación del cliente (uID). Valor que se transfiere a la dirección de entrada para identificar al cliente

Llamada a la tienda online

Tras la autenticación correcta del cliente en nuestra pasarela, el cliente es reenviado a la dirección de entrada definida en la configuración del cliente.

PunchCommerce soporta actualmente el PunchOut "clásico" y el PunchOut en un iFrame dentro del sistema e-procurement o ERP de llamada y el PunchOut en una ventana de navegador separada.

La dirección de entrada se amplía con los parámetros sID (identificador de sesión) y uID (identificador de cliente) para que la URL final se estructure según el siguiente esquema:

https://{hostname}.{domain}.{tld}/punchcommerce/authenticate?sID={UUID}&uID= {customer.identifier}

Debe garantizarse que todas las cabeceras que impiden la incrustación como iFrame y el acceso a las cookies desde el marco principal durante la sesión de PunchOut se eliminan temporalmente cuando el usuario inicia sesión.

El usuario en su sistema debe ampliarse para que el uID pueda mantenerse en el cliente. El sID es generado por nosotros para cada sesión de PunchOut y corresponde a un UUID.

Como normalmente se trata de un usuario de servicio y varias personas utilizan el mismo usuario de servicio como parte del PunchOut, debe garantizarse que puedan utilizarse diferentes cestas de la compra en paralelo en diferentes sesiones del mismo usuario de servicio.

La cesta de la compra debe estar vacía al inicio de una sesión de PunchOut.

Requisitos generales durante la sesión PunchOut

  • Durante la sesión de PunchOut, el atributo SameSite debe establecerse en none para todas las cookies relevantes para la sesión y el atributo Secure debe establecerse en 1.
  • El encabezado X-Frame-Options debe eliminarse durante la sesión de PunchOut si está presente.
  • El proceso de pago se sustituye por la vista general de la cesta de la compra para PunchOut y el reenvío a PunchCommerce.
  • El etiquetado de las acciones de usuario relevantes "Pago" se sustituye por una etiqueta "PunchOut" o "Volver al sistema de aprovisionamiento electrónico".

Devolución de la cesta de la compra

Después de que el cliente haya llenado finalmente su cesta de la compra, ésta debe enviarse de vuelta a nuestra pasarela como objeto JSON junto con el identificador de sesión (sID). Los recargos o descuentos se transfieren a nuestra pasarela como un elemento separado de la cesta de la compra - esto también se aplica a los gastos de envío.

{
    "cesta":[
    {
      "product_ordernumber": "23762", "product_name": "Papel pergamino", "quantity": 1,
      "item_price": 2.623,
      "price": 2.623
      "price_net": 2.2042016806723, "tax_rate": 19,
      "producto": {
      "id": "21312432343",
      "número de pedido": "23762",
      "brand": "Netzdirektion",
      "brand_ordernumber": "67906",
      "title": "Papel pergamino",
      "category": "Categoría de prueba",
      "description": "1/8 hoja blanco",
      "description_long": "67906 Papel pergamino 1/8 hoja blanco", "image_url": "",
      "price": 2.623
      "tax_rate": 19,
      "purchase_unit": 12,5, "reference_unit": 1,
      "unit": "kg",
      "unit_name": "kg", "packaging_unit": "carton", "weight": 0,
      "shipping_time": 8,
      "classification_type": "ECLASS",
      "classification": "90909090",
      "custom_field1": "0.19",
      "custom_field2": "BX",
      ...
      "custom_field10": null
    }
    ]
}

Aquí debe ejecutarse una petición http-POST a la siguiente dirección. El cuerpo de la petición debe contener la cesta de la compra análoga a la siguiente estructura.

https://www.punchcommerce.de/gateway/v3/return?sID={UUID}

PunchCommerce aplica la asignación de campos definida para el cliente a la cesta de la compra y transmite la cesta de la compra al sistema de contratación electrónica de llamada a través del protocolo PunchOut correspondiente. Encontrará más detalles en la documentación actual de Swagger.

**Enlaces

PunchCommerce® ist ein Produkt der Netzdirektion GmbH