Skip to main content

Punchout

Connection, credential and inbound-document administration for cXML punchout buyers. The inbound order endpoint, POST /punchout/v1/{tenant_id}/cxml, is served outside /api/v1 and not documented here, because a cXML client cannot parse this API's RFC 9457 error responses and instead authenticates with a shared secret carried in the document body. It has its own page on this site instead: https://docs.spendone.tech/docs/guides/integrations/punchout-cxml.

📄️List punchout authentication refusals

Per-day counters of inbound cXML requests refused before authentication succeeded: an unknown or revoked shared secret, a secret presented at another tenant's path, a deactivated connection, a buyer identity that does not match, a document that would not parse, and the endpoint's own rate limit. These requests produce no punchout document, because no tenant is trusted at the point they are refused, so this is the only record of them. It carries no source address, no presented secret and no request body.

📄️Send a test document to a punchout connection's endpoint

Emits one synthetic ConfirmationRequest to the connection's configured delivery endpoint in deployment mode test, waits for the buyer's answer and reports it verbatim, so an operator learns within seconds whether the endpoint and the shared secret work instead of on the next real order. The synthetic document is stored for audit with an order id that cannot collide with a real buyer order, and no job is enqueued: the test send is the delivery.