{
  "info": {
    "_postman_id": "8091497d1413bc7d41363699043529fd",
    "name": "Placetopay Onboarding API (English)",
    "description": "Collection automatically generated from the OpenAPI definition published in Placetopay Docs. The base_url variable is already set with the testing environment address.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "{urlBase}"
    }
  ],
  "item": [
    {
      "name": "Crear un comercio",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/merchants",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "merchants"
          ]
        },
        "description": "Valida el comercio completo y lo acepta para su registro. Responde `202` con un `processId`\ncon el que consultar el resultado.\n"
      }
    },
    {
      "name": "Actualizar un comercio",
      "request": {
        "method": "PATCH",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/merchants/{merchantId}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "merchants",
            "{merchantId}"
          ]
        },
        "description": "Escribe **solo los campos que el cuerpo nombra**; el resto del comercio conserva su valor.\nNingún campo es obligatorio, pero el cuerpo debe nombrar al menos uno.\n\nUn `null` no borra: se descarta, igual que omitir el campo.\n"
      }
    },
    {
      "name": "Consultar un proceso",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/processes/{processId}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "processes",
            "{processId}"
          ]
        },
        "description": "Devuelve el estado del proceso. Es la **fuente de verdad** del resultado, incluso cuando se\nregistró una URL de notificación.\n\nLa señal para dejar de consultar es la **ausencia** del header `Retry-After`.\n"
      }
    },
    {
      "name": "Consultar el consumidor del token",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/api/user",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "api",
            "user"
          ]
        },
        "description": "Describe la aplicación a la que pertenece el token. Solo exige que el token sea válido, sin\nningún permiso concreto, así que sirve para comprobar credenciales antes de integrar.\n"
      }
    },
    {
      "name": "Notificación enviada a tu servidor",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base_url}}/tu-endpoint-de-notificacion",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "tu-endpoint-de-notificacion"
          ]
        },
        "description": "Este endpoint **lo implementas tú**. Onboarding le envía un `POST` cuando un proceso alcanza\nsu estado final, si registraste una URL en `notification.url`.\n\nEl cuerpo es la misma representación que devuelve `GET /api/processes/{processId}`, más un\nobjeto `event`. La clave `notification` **no** viaja aquí.\n\nLa entrega es *at-least-once*: deduplica por `X-Event-Id`. Responde `2xx` en cuanto verifiques\nla firma; un `4xx` distinto de 408, 425 o 429 se interpreta como rechazo definitivo.\n"
      }
    }
  ]
}