Lifecycle
A ConnectorSession passes through three phases:
Procurement System
│
│ Punchout call → Transmission is created
▼
┌─────────┐
│ LOGIN │ POST /agiqon/connector/session/login/{transmissionId}
└────┬────┘
│ Session is created and stored
▼
┌──────────────────┐
│ ACTIVE SHOPPING │ Buyer browses and fills the cart
└────────┬─────────┘
│
├── Transfer cart → POST /agiqon/connector/session/logout?transferred=1
│
└── End session → POST /agiqon/connector/session/logout
GET /agiqon/connector/session/logout/redirect
HTTP endpoints
All endpoints are defined in the ConnectorSessionController.
| Endpoint | Method | Description |
|---|---|---|
/agiqon/connector/session/login/{transmissionId} | GET, POST | Starts a connector session using a transmission ID |
/agiqon/connector/session/logout | GET, POST | Ends the active session; optional parameter transferred=1 triggers the cart transfer |
/agiqon/connector/session/logout/redirect | GET, POST | Ends the session and redirects to the home page |
/agiqon/connector/session/get | GET | Returns the current session status as JSON |
Login endpoint
During login the transmission is loaded from the database and validated. If any of the following checks fail, an HTTP error is returned:
- A session is already active →
409 Conflict - Transmission not found →
404 Not Found - Transmission was cancelled (
Cancelled) →400 Bad Request - Transmission was already transferred (
Transferred) →400 Bad Request - Transmission has already created an order (
OrderCreated) →400 Bad Request
Logout endpoint
The transferred parameter controls the behavior on logout:
transferred | Behavior |
|---|---|
false (default) | Session is ended, cart is deleted — no transfer |
true | ConnectorTransferEvent is fired, then session and cart are deleted |
Active phase: blocked routes
While a connector session is active, certain Shopware pages are blocked (redirect to cart). This prevents the buyer from going through the regular checkout process instead of sending the cart back to the procurement system.
Blocked routes:
| Route |
|---|
frontend.checkout.confirm.page |
frontend.checkout.finish.page |
frontend.account.login.page |
frontend.account.home.page |
frontend.account.profile.page |
frontend.account.order.page |
frontend.account.order.detail.page |
frontend.account.edit-order.page |
frontend.customer-group-registration.page |