Secutix
Returns the tenant's Secutix configuration. The operator secret is never returned; connection.hasSecret tells whether one is stored.
Configuration returned.
The tenant's stored Secutix configuration, without the operator secret.
The caller is not authenticated.
The caller lacks the tenant.secutix.settings:read scope.
Secutix is not configured for this tenant.
Over 1200 requests per minute to this endpoint for the tenant (default limit); retry after Retry-After.
GET /api/{tenantId}/admin/extensions/secutix HTTP/1.1
Host: app.neostore.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"connection": {
"url": "https://example.com",
"institution": "text",
"operator": "text",
"partner": "text",
"hasSecret": true
},
"pass": {
"defaultPassTypes": {
"default": "text",
"membership": null,
"seasonticket": null,
"event": null,
"match": null,
"visitPass": null,
"openPass": null,
"voucher": null,
"donation": null,
"service": null,
"openProduct": null
},
"updatePrintingStatus": false
},
"webhook": {
"searchForContactIds": false,
"updateMetadata": true
},
"rateLimit": {
"enabled": true,
"permitLimit": 400,
"windowSeconds": 60,
"retryAfterSeconds": 60,
"queueAcquireTimeoutSeconds": 0,
"queueRetryDelaySeconds": 1
}
}Replaces the tenant's Secutix configuration. connection and pass are taken as sent; omit connection.secret, connection.partner, webhook or rateLimit to keep what is stored. A first save without a partner uses neostore.
Secutix configuration to store for the tenant.
Configuration saved.
No content
A required field is missing, a rate limit value is out of range, or no secret is sent and none is stored.
The caller is not authenticated.
The caller lacks the tenant.secutix.settings:write scope.
Over 1200 requests per minute to this endpoint for the tenant (default limit); retry after Retry-After.
PUT /api/{tenantId}/admin/extensions/secutix HTTP/1.1
Host: app.neostore.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 569
{
"connection": {
"url": "https://xxx.pp-ws.secutix.com",
"institution": "text",
"operator": "text",
"partner": null,
"secret": null
},
"pass": {
"defaultPassTypes": {
"default": "text",
"membership": null,
"seasonticket": null,
"event": null,
"match": null,
"visitPass": null,
"openPass": null,
"voucher": null,
"donation": null,
"service": null,
"openProduct": null
},
"updatePrintingStatus": false
},
"webhook": {
"searchForContactIds": false,
"updateMetadata": true
},
"rateLimit": {
"enabled": true,
"permitLimit": 400,
"windowSeconds": 60,
"retryAfterSeconds": 60,
"queueAcquireTimeoutSeconds": 0,
"queueRetryDelaySeconds": 1
}
}No content
Get the public tickets page URL of the Secutix order behind a file.
Returns, as plain text, the absolute URL of the tenant's public tickets page for the first order of the Secutix file (…/{tenantId}/tickets?ids.secutix.orderToken={orderToken}). That page is where the holder adds the order's tickets to a wallet.
Secutix file identifier.
URL of the tickets page.
No content
The caller is not authenticated.
The caller lacks the tenant.secutix.order:read scope.
Secutix is not configured for the tenant, or Secutix has no order for the file.
Over 1200 requests per minute to this endpoint for the tenant (default limit); retry after Retry-After.
GET /api/{tenantId}/external/secutix/orders/getTicketsUrl/{fileId} HTTP/1.1
Host: app.neostore.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
No content
Queue the refresh of the passes of a changed Secutix order.
Returns at once; the passes are updated afterwards. Emits the Secutix:Order:Updated event, then updates the existing passes concerned by the change:
the pass of
saleMovementId;the passes of every movement and contact of the order, when
saleMovementIdis omitted or the tenant'swebhook.searchForContactIdssetting is on.
With webhook.updateMetadata on, each pass also has its data and pass template refreshed from Secutix. No pass is created.
Order change notification, as Secutix sends it.
Secutix ticket concerned by the change.
Secutix sale movement (one ticket line of the order) concerned by the change. Its pass is the one
updated. Omitted, the passes of all movements and contacts of the order identified by
orderSecretToken are updated.
Secret token of the Secutix order. Required and non-empty, otherwise 400.
Order state as reported by Secutix. Carried in the Secutix:Order:Updated event.
Time of the change, as Secutix formats it.
Order change accepted. No body.
No content
orderSecretToken is empty, or a required field is missing.
Over 600 requests per minute to this endpoint for the tenant (default limit); retry after Retry-After.
POST /api/{tenantId}/webhooks/listeners/secutix/orders HTTP/1.1
Host: app.neostore.cloud
Content-Type: application/json
Accept: */*
Content-Length: 100
{
"ticketId": null,
"saleMovementId": null,
"orderSecretToken": "text",
"state": "text",
"lastUpdate": "text"
}No content
Last updated

