Compare commits
No commits in common. "develop" and "features/Edit-TP-notification" have entirely different histories.
develop
...
features/E
@ -28,33 +28,10 @@ public final class Helpers {
|
||||
return new JSONObject(string).get("alertId").toString();
|
||||
}
|
||||
|
||||
public static String getTripId(String string) throws IOException {
|
||||
return new JSONObject(string).get("tripId").toString();
|
||||
}
|
||||
|
||||
public static String getXbot(String string) throws IOException {
|
||||
return new JSONObject(string).get("xbot").toString();
|
||||
}
|
||||
|
||||
public static void getTripDetails(String tripId, String xbot, String gboBearerToken) throws Exception {
|
||||
SSLContext sc = SSLContext.getInstance("SSL");
|
||||
sc.init(null, DummyX509TrustManager.getDummyArray(), new java.security.SecureRandom());
|
||||
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
|
||||
|
||||
URL url = new URL("https://api.sbx.idbt.translink.nl/api/v3/id-media/tokens/xbot/" + xbot + "/trips/details/" + tripId);
|
||||
URLConnection con = url.openConnection();
|
||||
HttpURLConnection http = (HttpURLConnection)con;
|
||||
http.setRequestMethod("GET");
|
||||
http.setDoOutput(true);
|
||||
http.setRequestProperty("Authorization", "Bearer " + gboBearerToken);
|
||||
http.connect();
|
||||
|
||||
try(InputStream is = http.getInputStream()) {
|
||||
String response = new String(is.readAllBytes(), StandardCharsets.UTF_8);
|
||||
LOGGER.info("GBO API 8659 trip details response for xBOT " + xbot + " and tripId " + tripId + ": \n" + new JSONObject(response).toString(2));
|
||||
}
|
||||
}
|
||||
|
||||
public static void getAlertDetails(String alertId, String xBot, String gboBearerToken) throws Exception {
|
||||
SSLContext sc = SSLContext.getInstance("SSL");
|
||||
sc.init(null, DummyX509TrustManager.getDummyArray(), new java.security.SecureRandom());
|
||||
@ -71,7 +48,7 @@ public final class Helpers {
|
||||
|
||||
try(InputStream is = http.getInputStream()) {
|
||||
String response = new String(is.readAllBytes(), StandardCharsets.UTF_8);
|
||||
LOGGER.info("GBO API 8851 alert details response for xBOT " + xBot + " and alertId " + alertId + ": \n" + new JSONObject(response).toString(2));
|
||||
LOGGER.info("GBO API 8851 alert details response for xBOT " + xBot + ": \n" + new JSONObject(response).toString(2));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,28 +16,14 @@ public class RabbitConnector {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(RabbitConnector.class);
|
||||
|
||||
// TRIPS
|
||||
// SubscriptionId = 3e246de5-d3ad-468f-834b-1aaebf52244c
|
||||
// Use API 9853 to manually add xBOT to queue
|
||||
private static final String QUEUE_NAME = "BEID_3.TRIPS";
|
||||
private static final String USER_NAME = "BEID_3_TRIPS_HlTT";
|
||||
private static final String PASSWORD = "xJR4C8hIqhHQw0sn";
|
||||
|
||||
// ALERTS
|
||||
// SubscriptionId = 17c8100b-88a2-4cef-b40d-8dca4f93d311
|
||||
// Use API 9853 to manually add xBOT to queue
|
||||
// private static final String QUEUE_NAME = "BEID_3.ALERTS";
|
||||
// private static final String USER_NAME = "BEID_3_ALERTS_nZs3";
|
||||
// private static final String PASSWORD = "VyubhPnczKgTB2zJ";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ConnectionFactory factory = new ConnectionFactory();
|
||||
factory.setVirtualHost("/");
|
||||
factory.setAutomaticRecoveryEnabled(true);
|
||||
factory.setPort(443);
|
||||
factory.setHost("not.sbx.idbt.translink.nl");
|
||||
factory.setUsername(USER_NAME);
|
||||
factory.setPassword(PASSWORD);
|
||||
factory.setUsername("BEID_3_ALERTS_nZs3");
|
||||
factory.setPassword("VyubhPnczKgTB2zJ");
|
||||
factory.useSslProtocol("TLSv1.2");
|
||||
factory.setExceptionHandler(new ForgivingExceptionHandler());
|
||||
Map<String, Object> configs = factory.getClientProperties();
|
||||
@ -47,7 +33,7 @@ public class RabbitConnector {
|
||||
Channel channel = connection.createChannel();
|
||||
DeliverCallback deliverCallback = initDeliverCallback(channel);
|
||||
|
||||
AMQP.Queue.DeclareOk queue = channel.queueDeclarePassive(QUEUE_NAME);
|
||||
AMQP.Queue.DeclareOk queue = channel.queueDeclarePassive("BEID_3.ALERTS");
|
||||
LOGGER.info(
|
||||
"Declared queue: " + queue.getQueue() + ", consumer count: " + queue.getConsumerCount() + ", message count: " +
|
||||
queue.getMessageCount());
|
||||
@ -66,39 +52,17 @@ public class RabbitConnector {
|
||||
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
|
||||
LOGGER.info("Successfully acknowledged message with delivery tag: " + delivery.getEnvelope().getDeliveryTag());
|
||||
|
||||
if (QUEUE_NAME.equals("BEID_3.TRIPS")) {
|
||||
getTripDetails(message);
|
||||
} else if (QUEUE_NAME.equals("BEID_3.ALERTS")) {
|
||||
getAlertDetails(message);
|
||||
LOGGER.info("Getting alert details via GBO API 8851...");
|
||||
try {
|
||||
String alertId = Helpers.getAlertId(message);
|
||||
String xBot = Helpers.getXbot(message);
|
||||
String gboBearerToken = Helpers.getGboBearerToken();
|
||||
|
||||
Helpers.getAlertDetails(alertId, xBot, gboBearerToken);
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static void getAlertDetails(String message) {
|
||||
try {
|
||||
String alertId = Helpers.getAlertId(message);
|
||||
String xBot = Helpers.getXbot(message);
|
||||
String gboBearerToken = Helpers.getGboBearerToken();
|
||||
|
||||
LOGGER.info("Getting alert details for xBOT {} and alertId {} via GBO API 8851...", xBot, alertId);
|
||||
Helpers.getAlertDetails(alertId, xBot, gboBearerToken);
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void getTripDetails(String message) {
|
||||
try {
|
||||
String tripId = Helpers.getTripId(message);
|
||||
String xBot = Helpers.getXbot(message);
|
||||
String gboBearerToken = Helpers.getGboBearerToken();
|
||||
|
||||
LOGGER.info("Getting trip details for xBOT {} and tripId {} via GBO API 8659...", xBot, tripId);
|
||||
Helpers.getTripDetails(tripId, xBot, gboBearerToken);
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -597,13 +597,9 @@ paths:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
examples:
|
||||
Empty list:
|
||||
summary: Empty list
|
||||
description: List all contract payments for a debtor with no payments.
|
||||
value: { "contractPayments": [] }
|
||||
Successful direct debit:
|
||||
summary: Successful direct debit
|
||||
description: One payment for a debtor with a successful direct debit.
|
||||
List all contract payments for a single debtor:
|
||||
summary: List all contract payments for a single debtor
|
||||
description: List all contract payments for single debtor with debtor number 'D123456'.
|
||||
value:
|
||||
{
|
||||
"contractPayments":
|
||||
@ -611,9 +607,8 @@ paths:
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "26.62",
|
||||
"paymentMethod": "Automatische incasso",
|
||||
"paymentMethod": "Twikey",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
@ -630,192 +625,23 @@ paths:
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
Direct debit reversal:
|
||||
summary: Direct debit reversal
|
||||
description: One payment for a debtor with a reversed direct debit.
|
||||
value:
|
||||
{
|
||||
"contractPayments":
|
||||
[
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "-26.62",
|
||||
"paymentMethod": "Stornering",
|
||||
"paymentId": "151845851",
|
||||
"totalAmount": "45.21",
|
||||
"paymentMethod": "Twikey",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"invoiceId": "147722266",
|
||||
"invoiceNumber": "F2024-0002",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
"publicLink": "https://factuurinzien.nl/d/ddb245d6df67999eca48c4a71b5661b93038e20a/i/dp5h1i5cuu94nopiolkdst3u17vkmzo",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
iDEAL payment:
|
||||
summary: iDEAL payment
|
||||
description: One payment for a debtor with an iDEAL payment.
|
||||
value:
|
||||
{
|
||||
"contractPayments":
|
||||
[
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "26.62",
|
||||
"paymentMethod": "iDEAL",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
Bank transfer:
|
||||
summary: Bank transfer
|
||||
description: One payment for a debtor with a bank transfer.
|
||||
value:
|
||||
{
|
||||
"contractPayments":
|
||||
[
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "26.62",
|
||||
"paymentMethod": "Overboeking",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
List of four payments for one invoice:
|
||||
summary: List of four payments for one invoice
|
||||
description: Four payments for a debtor for one invoice; a direct debit, a direct debit reversal, a bank transfer and an iDEAL payment.
|
||||
value:
|
||||
{
|
||||
"contractPayments":
|
||||
[
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "26.62",
|
||||
"paymentMethod": "Automatische incasso",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"paymentId": "151845776",
|
||||
"totalAmount": "-26.62",
|
||||
"paymentMethod": "Stornering",
|
||||
"paymentDate": "2024-09-12",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"paymentId": "151845777",
|
||||
"totalAmount": "10.00",
|
||||
"paymentMethod": "Overboeking",
|
||||
"paymentDate": "2024-09-13",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"paymentId": "151845778",
|
||||
"totalAmount": "16.62",
|
||||
"paymentMethod": "iDEAL",
|
||||
"paymentDate": "2024-09-14",
|
||||
"iban": "NL25INGB******1337",
|
||||
"invoice":
|
||||
{
|
||||
"invoiceId": "147722263",
|
||||
"invoiceNumber": "F2024-0001",
|
||||
"description": "HTM Maandkorting 20%",
|
||||
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||
},
|
||||
"_links":
|
||||
{
|
||||
"get_contractdetails":
|
||||
{
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/7b2f8c1a-3d9d-4c2d-960e-4471e8e28b6a",
|
||||
"method": "GET",
|
||||
},
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -31,12 +31,6 @@ paths:
|
||||
schema:
|
||||
type: integer
|
||||
description: Filter by customer profile ID
|
||||
- name: ovPayTokenId
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
description: Filter by OV Pay token ID
|
||||
- name: isCurrentlyActive
|
||||
in: query
|
||||
required: false
|
||||
@ -50,13 +44,6 @@ paths:
|
||||
type: integer
|
||||
default: 1
|
||||
description: Limit the number of subscription activities returned per subscription (default is 1)
|
||||
- name: expand
|
||||
in: query
|
||||
schema:
|
||||
type: string
|
||||
enum: [none, notificationPreference, eventTypeChannel]
|
||||
default: none
|
||||
description: "Expand nested attributes. Possible values: `none`, `notificationPreference`, and `eventTypeChannel`."
|
||||
responses:
|
||||
"200":
|
||||
description: A list of notification subscriptions
|
||||
@ -66,21 +53,17 @@ paths:
|
||||
$ref: "#/components/schemas/GetNotificationSubscriptionsResponse"
|
||||
examples:
|
||||
emptyNotificationSubscriptionResponse:
|
||||
summary: No notification subscriptions found
|
||||
value:
|
||||
notificationSubscriptions: []
|
||||
href: null
|
||||
notificationSubscriptionResponse?expand=none:
|
||||
summary: Return notification subscriptions without nested attributes (expand=none)
|
||||
fullNotificationSubscriptionResponse:
|
||||
value:
|
||||
notificationSubscriptions:
|
||||
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
notificationCategory:
|
||||
notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
customerProfileId: 1337
|
||||
ovPayTokenId: 42
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||
user: "1001337"
|
||||
@ -94,9 +77,7 @@ paths:
|
||||
notificationCategory:
|
||||
notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
customerProfileId: 1338
|
||||
ovPayTokenId: null
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||
user: "1001338"
|
||||
@ -107,113 +88,6 @@ paths:
|
||||
timestamp: "2025-10-02T14:00:00Z"
|
||||
isActive: true
|
||||
href: null
|
||||
notificationSubscriptionResponse?expand=notificationPreference:
|
||||
summary: Return notification subscriptions with nested notification preferences (expand=notificationPreference)
|
||||
value:
|
||||
notificationSubscriptions:
|
||||
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
notificationCategory:
|
||||
notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
customerProfileId: 1337
|
||||
ovPayTokenId: 42
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||
user: "1001337"
|
||||
timestamp: "2025-10-02T15:00:00Z"
|
||||
isActive: true
|
||||
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
||||
user: "1001337"
|
||||
timestamp: "2025-10-02T14:00:00Z"
|
||||
isActive: false
|
||||
notificationPreferences:
|
||||
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||
resourceIdentifier: null
|
||||
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
||||
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||
resourceIdentifier: 44
|
||||
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
||||
notificationCategory:
|
||||
notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
customerProfileId: 1338
|
||||
ovPayTokenId: null
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||
user: "1001338"
|
||||
timestamp: "2025-10-02T15:00:00Z"
|
||||
isActive: false
|
||||
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
||||
user: "1001338"
|
||||
timestamp: "2025-10-02T14:00:00Z"
|
||||
isActive: true
|
||||
notificationPreferences: []
|
||||
href: null
|
||||
notificationSubscriptionResponse?expand=eventTypeChannel:
|
||||
summary: Return notification subscriptions with nested event type channels (expand=eventTypeChannel)
|
||||
value:
|
||||
notificationSubscriptions:
|
||||
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
notificationCategory:
|
||||
notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
customerProfileId: 1337
|
||||
ovPayTokenId: 42
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||
user: "1001337"
|
||||
timestamp: "2025-10-02T15:00:00Z"
|
||||
isActive: true
|
||||
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
||||
user: "1001337"
|
||||
timestamp: "2025-10-02T14:00:00Z"
|
||||
isActive: false
|
||||
notificationPreferences:
|
||||
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||
eventTypeChannel:
|
||||
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
resourceIdentifier: null
|
||||
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
||||
eventTypeChannelId:
|
||||
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: false
|
||||
isMandatory: false
|
||||
resourceIdentifier: 44
|
||||
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
||||
notificationCategory:
|
||||
notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
customerProfileId: 1338
|
||||
ovPayTokenId: null
|
||||
subscriptionActivities:
|
||||
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||
user: "1001338"
|
||||
timestamp: "2025-10-02T15:00:00Z"
|
||||
isActive: false
|
||||
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
||||
user: "1001338"
|
||||
timestamp: "2025-10-02T14:00:00Z"
|
||||
isActive: true
|
||||
notificationPreferences: []
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
@ -301,71 +175,18 @@ paths:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
/notificationsubscriptions/{notificationSubscriptionId}:
|
||||
parameters:
|
||||
- name: notificationSubscriptionId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
patch:
|
||||
summary: Update a notification subscription by ID
|
||||
tags:
|
||||
- Notification Subscriptions
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PatchNotificationSubscriptionRequest"
|
||||
examples:
|
||||
updateNotificationSubscriptionRequest:
|
||||
value:
|
||||
ovPayTokenId: 43
|
||||
responses:
|
||||
"200":
|
||||
description: Notification subscription updated successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PatchNotificationSubscriptionResponse"
|
||||
examples:
|
||||
updateNotificationSubscriptionResponse:
|
||||
value:
|
||||
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/400Response"
|
||||
"401":
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/401Response"
|
||||
"404":
|
||||
description: Not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/404Response"
|
||||
"500":
|
||||
description: Internal server error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
delete:
|
||||
summary: Delete a notification subscription by ID
|
||||
tags:
|
||||
- Notification Subscriptions
|
||||
parameters:
|
||||
- name: notificationSubscriptionId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
responses:
|
||||
"204":
|
||||
description: No content
|
||||
@ -461,196 +282,12 @@ paths:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
/notificationsubscriptions/{notificationSubscriptionId}/notificationpreferences:
|
||||
parameters:
|
||||
- name: notificationSubscriptionId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
post:
|
||||
summary: Add a notification preference to a notification subscription
|
||||
tags:
|
||||
- Notification Preferences
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PostNotificationPreferenceRequest"
|
||||
examples:
|
||||
addNotificationPreferenceNotNull:
|
||||
summary: With non-null resource identifier
|
||||
value:
|
||||
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||
resourceIdentifier: 44
|
||||
addNotificationPreferenceNull:
|
||||
summary: With null resource identifier
|
||||
value:
|
||||
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||
resourceIdentifier: null
|
||||
responses:
|
||||
"201":
|
||||
description: Notification preference added successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PostNotificationPreferenceResponse"
|
||||
examples:
|
||||
addNotificationPreferenceResponse:
|
||||
value:
|
||||
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/400Response"
|
||||
"401":
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/401Response"
|
||||
"404":
|
||||
description: Not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/404Response"
|
||||
"500":
|
||||
description: Internal server error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
/notificationpreferences/{notificationPreferenceId}:
|
||||
parameters:
|
||||
- name: notificationPreferenceId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||
patch:
|
||||
summary: Update a notification preference by ID
|
||||
tags:
|
||||
- Notification Preferences
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PatchNotificationPreferenceRequest"
|
||||
examples:
|
||||
updateNotificationPreferenceRequest:
|
||||
value:
|
||||
resourceIdentifier: 55
|
||||
responses:
|
||||
"200":
|
||||
description: Notification preference updated successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PatchNotificationPreferenceResponse"
|
||||
examples:
|
||||
updateNotificationPreferenceResponse:
|
||||
value:
|
||||
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/400Response"
|
||||
"401":
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/401Response"
|
||||
"404":
|
||||
description: Not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/404Response"
|
||||
"500":
|
||||
description: Internal server error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
delete:
|
||||
summary: Delete a notification preference by ID
|
||||
tags:
|
||||
- Notification Preferences
|
||||
responses:
|
||||
"204":
|
||||
description: No content
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/400Response"
|
||||
"401":
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/401Response"
|
||||
"404":
|
||||
description: Not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/404Response"
|
||||
"500":
|
||||
description: Internal server error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
$ref: "#/components/schemas/500Response"
|
||||
/notificationcategories:
|
||||
get:
|
||||
tags:
|
||||
- Notification Categories
|
||||
summary: Get all notification categories.
|
||||
parameters:
|
||||
- name: notificationCategoryId
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
description: Filter by notification category ID
|
||||
- name: name
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
description: Filter by notification category name (case-insensitive, partial match)
|
||||
- name: groupName
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
description: Filter by notification category group name (case-insensitive, partial match)
|
||||
- name: expand
|
||||
in: query
|
||||
schema:
|
||||
@ -672,48 +309,35 @@ paths:
|
||||
notificationCategories:
|
||||
- notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
- notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
- notificationCategoryId: 3
|
||||
name: Serviceberichten
|
||||
groupName: Mijn Passen
|
||||
name: Mijn Passen
|
||||
getNotifactionCategories?expand=eventType:
|
||||
summary: Return all the notification categories with nested event types (expand=eventType)
|
||||
value:
|
||||
notificationCategories:
|
||||
- notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
eventTypes:
|
||||
- eventTypeId: 2
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: TRIPS
|
||||
subName: CKI
|
||||
prettyName: Normal Check-in
|
||||
name: ALERTS, TRAVEL_SCHEME
|
||||
subName: CI
|
||||
prettyName: Check In
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||
name: GBO_TRIPS
|
||||
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
||||
- eventTypeId: 3
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PAD
|
||||
subName: AMEND
|
||||
prettyName: PAD Wijzigen/Aanvullen
|
||||
name: ALERTS, PAD
|
||||
subName: null
|
||||
prettyName: Profielgegevens op de pas
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||
name: GBO_PAD
|
||||
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||
- notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
eventTypes:
|
||||
- eventTypeId: 1
|
||||
eventOrigin:
|
||||
@ -723,108 +347,76 @@ paths:
|
||||
subName: null
|
||||
prettyName: HTM nieuwsbrief
|
||||
optinRequired: false
|
||||
originSubscription: null
|
||||
- notificationCategoryId: 3
|
||||
name: Serviceberichten
|
||||
groupName: Mijn Passen
|
||||
name: Mijn Passen
|
||||
eventTypes:
|
||||
- eventTypeId: 4
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PRODUCT
|
||||
subName: ACTIVATE
|
||||
prettyName: Product Geactiveerd
|
||||
name: ALERTS, CARD
|
||||
subName: null
|
||||
prettyName: Mijn passen
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
||||
name: GBO_PRODUCT
|
||||
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
||||
- eventTypeId: 5
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PAD
|
||||
subName: MARK
|
||||
prettyName: PAD Markering
|
||||
name: ALERTS, PAD
|
||||
subName: null
|
||||
prettyName: Profielgegevens op de pas
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||
name: GBO_PAD
|
||||
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||
getNotifactionCategories?expand=eventTypeChannel:
|
||||
summary: Return all the notification categories with all nested attributes (expand=eventTypeChannel)
|
||||
value:
|
||||
notificationCategories:
|
||||
- notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
eventTypes:
|
||||
- eventTypeId: 2
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: TRIPS
|
||||
subName: CKI
|
||||
prettyName: Normal Check-in
|
||||
name: ALERTS, TRAVEL_SCHEME
|
||||
subName: CI
|
||||
prettyName: Check In
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||
name: GBO_TRIPS
|
||||
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
||||
eventTypeChannels:
|
||||
- eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: false
|
||||
isMandatory: false
|
||||
- eventTypeId: 3
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PAD
|
||||
subName: AMEND
|
||||
prettyName: PAD Wijzigen/Aanvullen
|
||||
name: ALERTS, PAD
|
||||
subName: null
|
||||
prettyName: Profielgegevens op de pas
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||
name: GBO_PAD
|
||||
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||
eventTypeChannels:
|
||||
- eventTypeChannelId: 8e7df8f1-7e50-482f-8301-d399e75fd432
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- eventTypeChannelId: 72960a92-1855-469f-9cfd-5d72f57106f2
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: false
|
||||
isMandatory: false
|
||||
- notificationCategoryId: 2
|
||||
name: Nieuwsbrief aanmelding
|
||||
groupName: Marketing
|
||||
eventTypes:
|
||||
- eventTypeId: 1
|
||||
eventOrigin:
|
||||
@ -834,81 +426,56 @@ paths:
|
||||
subName: null
|
||||
prettyName: HTM nieuwsbrief
|
||||
optinRequired: false
|
||||
originSubscription: null
|
||||
eventTypeChannels:
|
||||
- eventTypeChannelId: 447a1116-6cd7-4645-8c3d-43237b6186cd
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- notificationCategoryId: 3
|
||||
name: Serviceberichten
|
||||
groupName: Mijn Passen
|
||||
name: Mijn Passen
|
||||
eventTypes:
|
||||
- eventTypeId: 4
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PRODUCT
|
||||
subName: ACTIVATE
|
||||
prettyName: Product Geactiveerd
|
||||
name: ALERTS, CARD
|
||||
subName: null
|
||||
prettyName: Mijn passen
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
||||
name: GBO_PRODUCT
|
||||
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
||||
eventTypeChannels:
|
||||
- eventTypeChannelId: be07c7bb-714b-4637-acf5-a67025ad8e60
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- eventTypeChannelId: 0c797b5a-ed34-494b-8c64-0a832830d392
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: false
|
||||
isMandatory: false
|
||||
- eventTypeId: 5
|
||||
eventOrigin:
|
||||
eventOriginId: 1
|
||||
name: GBO
|
||||
name: PAD
|
||||
subName: MARK
|
||||
prettyName: PAD Markering
|
||||
name: ALERTS, PAD
|
||||
subName: null
|
||||
prettyName: Profielgegevens op de pas
|
||||
optinRequired: false
|
||||
originSubscription:
|
||||
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||
name: GBO_PAD
|
||||
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||
eventTypeChannels:
|
||||
- eventTypeChannelId: b910368f-c045-4e8e-b01d-bcbc78708bac
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- eventTypeChannelId: 93e773da-ba3b-48da-9a0e-ee478eaa752f
|
||||
channel:
|
||||
channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
isDefault: false
|
||||
isMandatory: false
|
||||
"400":
|
||||
@ -1029,24 +596,12 @@ paths:
|
||||
channels:
|
||||
- channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
- channelId: 2
|
||||
name: email
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
- channelId: 3
|
||||
name: sms
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
- channelId: 4
|
||||
name: mail
|
||||
resourceName:
|
||||
resourceNameId: 4
|
||||
name: customers
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
@ -1195,7 +750,6 @@ paths:
|
||||
notificationCategory:
|
||||
notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
- eventType:
|
||||
eventTypeId: 16
|
||||
eventOrigin:
|
||||
@ -1208,7 +762,6 @@ paths:
|
||||
notificationCategory:
|
||||
notificationCategoryId: 1
|
||||
name: Mijn Reizen
|
||||
groupName: Mijn Passen
|
||||
"400":
|
||||
description: Bad request
|
||||
content:
|
||||
@ -1274,9 +827,6 @@ paths:
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
- eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
||||
@ -1292,9 +842,6 @@ paths:
|
||||
channel:
|
||||
channelId: 1
|
||||
name: push
|
||||
resourceName:
|
||||
resourceNameId: 8
|
||||
name: devices
|
||||
isDefault: true
|
||||
isMandatory: false
|
||||
"400":
|
||||
@ -1415,24 +962,6 @@ components:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
PatchNotificationSubscriptionRequest:
|
||||
type: object
|
||||
properties:
|
||||
notificationCategoryId:
|
||||
type: integer
|
||||
example: 1
|
||||
customerProfileId:
|
||||
type: integer
|
||||
example: 1337
|
||||
required:
|
||||
- notificationCategoryId
|
||||
PatchNotificationSubscriptionResponse:
|
||||
type: object
|
||||
properties:
|
||||
notificationSubscriptionId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||
PostSubscriptionActivityRequest:
|
||||
type: object
|
||||
properties:
|
||||
@ -1457,40 +986,6 @@ components:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 30b32657-1ba1-44e0-8868-4db807695387
|
||||
PostNotificationPreferenceRequest:
|
||||
type: object
|
||||
properties:
|
||||
eventTypeChannelId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
||||
resourceIdentifier:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||
required:
|
||||
- eventTypeChannelId
|
||||
PostNotificationPreferenceResponse:
|
||||
type: object
|
||||
properties:
|
||||
notificationPreferenceId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||
PatchNotificationPreferenceRequest:
|
||||
type: object
|
||||
properties:
|
||||
resourceIdentifier:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||
PatchNotificationPreferenceResponse:
|
||||
type: object
|
||||
properties:
|
||||
notificationPreferenceId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||
GetEventOriginsResponse:
|
||||
type: object
|
||||
properties:
|
||||
@ -1581,24 +1076,6 @@ components:
|
||||
optInRequired:
|
||||
type: boolean
|
||||
example: true
|
||||
originSubscription:
|
||||
type: object
|
||||
properties:
|
||||
originSubscriptionId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||
name:
|
||||
type: string
|
||||
example: GBO_TRIPS
|
||||
externalSubscriptionId:
|
||||
type: string
|
||||
format: uuid
|
||||
example: fedcba98-7654-3210-fedc-ba9876543210
|
||||
required:
|
||||
- originSubscriptionId
|
||||
- name
|
||||
- externalSubscriptionId
|
||||
eventTypeChannels:
|
||||
type: array
|
||||
items:
|
||||
@ -1630,22 +1107,9 @@ components:
|
||||
name:
|
||||
type: string
|
||||
example: push
|
||||
resourceName:
|
||||
type: object
|
||||
properties:
|
||||
resourceNameId:
|
||||
type: integer
|
||||
example: 8
|
||||
name:
|
||||
type: string
|
||||
example: devices
|
||||
required:
|
||||
- resourceNameId
|
||||
- name
|
||||
required:
|
||||
- channelId
|
||||
- name
|
||||
- resourceName
|
||||
NotificationCategory:
|
||||
type: object
|
||||
properties:
|
||||
@ -1655,9 +1119,6 @@ components:
|
||||
name:
|
||||
type: string
|
||||
example: Mijn Reizen
|
||||
groupName:
|
||||
type: string
|
||||
example: Mijn Passen
|
||||
eventTypes:
|
||||
type: array
|
||||
items:
|
||||
|
||||
@ -2999,12 +2999,8 @@ paths:
|
||||
transactionItems:
|
||||
- transactionItemId: d8ee7035-fa3d-400e-9ad5-4fe8c4c73eb7
|
||||
status: returned to src
|
||||
aggregationReference: null
|
||||
accountingSystemReference: null
|
||||
- transactionItemId: 88910e83-4b1e-4fde-ab13-bd8bb60cbcd3
|
||||
status: returned to src
|
||||
aggregationReference: null
|
||||
accountingSystemReference: null
|
||||
List of transactions items to return:
|
||||
summary: List of transaction items to return to transaction database
|
||||
description: List of transaction items to return to transaction database in bulk.
|
||||
@ -3012,12 +3008,8 @@ paths:
|
||||
transactionItems:
|
||||
- transactionItemId: eacb9bdc-c6b5-4277-942b-cebb102944f5
|
||||
status: returned to trx-db
|
||||
aggregationReference: null
|
||||
accountingSystemReference: null
|
||||
- transactionItemId: 2f361bfb-9df0-4e0f-af7c-7b9be3e7bc61
|
||||
status: returned to trx-db
|
||||
aggregationReference: null
|
||||
accountingSystemReference: null
|
||||
responses:
|
||||
"202":
|
||||
description: Accepted
|
||||
@ -3069,32 +3061,10 @@ paths:
|
||||
Body of a batch of transaction items that was successfully patched.
|
||||
A number of transaction items were patched.
|
||||
value:
|
||||
startTime: 2025-02-14T05:32:47.067Z
|
||||
status: Finished
|
||||
clientTrackingId: 08584620957189579629541919368CU00
|
||||
summary:
|
||||
created: 0
|
||||
updated: 15
|
||||
total: 15
|
||||
"202":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/GetResponseStatus"
|
||||
examples:
|
||||
Batch is still being processed:
|
||||
summary: Batch is still being processed
|
||||
description: |
|
||||
Batch is still being processed
|
||||
value:
|
||||
startTime: 2025-02-14T05:32:47.067Z
|
||||
status: Running
|
||||
clientTrackingId: 08584620957189579629541919368CU00
|
||||
summary:
|
||||
created: 0
|
||||
updated: 0
|
||||
total: 0
|
||||
security:
|
||||
- default: []
|
||||
x-auth-type: Application & Application User
|
||||
@ -3119,10 +3089,8 @@ paths:
|
||||
processingFailures:
|
||||
- processingFailureId: d8ee7035-fa3d-400e-9ad5-4fe8c4c73eb7
|
||||
resolved: true
|
||||
change: Configuratie aangepast voor artikelnummer 1337.
|
||||
- processingFailureId: 88910e83-4b1e-4fde-ab13-bd8bb60cbcd3
|
||||
resolved: true
|
||||
change: Configuratie aangepast voor artikelnummer 1337.
|
||||
responses:
|
||||
"202":
|
||||
description: Accepted
|
||||
@ -3174,32 +3142,10 @@ paths:
|
||||
Body of a batch of processing failures that was successfully patched.
|
||||
A number of processing failures were patched.
|
||||
value:
|
||||
startTime: 2025-02-14T05:32:47.067Z
|
||||
status: Finished
|
||||
clientTrackingId: 08584620957189579629541919368CU00
|
||||
summary:
|
||||
created: 0
|
||||
updated: 15
|
||||
total: 15
|
||||
"202":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/GetResponseStatus"
|
||||
examples:
|
||||
Batch is still being processed:
|
||||
summary: Batch is still being processed
|
||||
description: |
|
||||
Batch is still being processed
|
||||
value:
|
||||
startTime: 2025-02-14T05:32:47.067Z
|
||||
status: Running
|
||||
clientTrackingId: 08584620957189579629541919368CU00
|
||||
summary:
|
||||
created: 0
|
||||
updated: 0
|
||||
total: 0
|
||||
security:
|
||||
- default: []
|
||||
x-auth-type: Application & Application User
|
||||
|
||||
@ -5,12 +5,6 @@ info:
|
||||
description: CRUD APIs for ABT Orders database. These are NOT the functional APIs from Service Engine.
|
||||
servers:
|
||||
- url: https://services.acc.api.htm.nl/abt/abtorder/1.0
|
||||
tags:
|
||||
- name: Order
|
||||
- name: Order Line
|
||||
- name: Payment
|
||||
- name: Customer
|
||||
- name: Order Voucher
|
||||
paths:
|
||||
/orders:
|
||||
get:
|
||||
@ -56,14 +50,6 @@ paths:
|
||||
example: 1
|
||||
required: false
|
||||
description: The id of the touch point where the order was initiated.
|
||||
- in: query
|
||||
name: deviceId
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: "7a28bd54-7ca9-499a-a722-d15ab858ab99"
|
||||
required: false
|
||||
description: The id of the device used to place the order.
|
||||
- in: query
|
||||
name: languageId
|
||||
schema:
|
||||
@ -112,14 +98,6 @@ paths:
|
||||
explode: false
|
||||
required: false
|
||||
description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled.
|
||||
- in: query
|
||||
name: issuedVoucherId
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: "b0a9f3c9-9b92-4f8c-b78d-6129be7218a6"
|
||||
required: false
|
||||
description: Filter on applied issuedVoucherId for the order.
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
@ -141,7 +119,6 @@ paths:
|
||||
"touchPointId": 1,
|
||||
"name": "Perplex"
|
||||
},
|
||||
"deviceId": "42e77532-d831-41da-b07a-7edb9bb7f004",
|
||||
"language":
|
||||
{
|
||||
"languageId": 1,
|
||||
@ -171,30 +148,6 @@ paths:
|
||||
"description": "Betaling in behandeling",
|
||||
},
|
||||
],
|
||||
"orderVouchers": [
|
||||
{
|
||||
"orderVoucherId": "399bd3b3-9721-4f09-a936-d64637de1621",
|
||||
"issuedVoucher":{
|
||||
"issuedVoucherId": "a0996218-bc5e-4826-9020-cda98a32838d",
|
||||
"voucherCode": "Voucher1234",
|
||||
"purchasedProductId": 31,
|
||||
"fromInclusive": "2025-03-22T08:55:00",
|
||||
"untillInclusive": "2026-03-22T08:55:00"
|
||||
},
|
||||
"orderLineId": null
|
||||
},
|
||||
{
|
||||
"orderVoucherId": "f6c7ac42-1811-4e4d-82af-53e18fe16110",
|
||||
"issuedVoucher":{
|
||||
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
|
||||
"voucherCode": "Voucher124",
|
||||
"purchasedProductId": 35,
|
||||
"fromInclusive": "2025-03-22T08:55:00",
|
||||
"untillInclusive": "2026-03-22T08:55:00"
|
||||
},
|
||||
"orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311"
|
||||
}
|
||||
],
|
||||
"orderLines":
|
||||
[
|
||||
{
|
||||
@ -374,24 +327,21 @@ paths:
|
||||
"customerProfileId": 1337,
|
||||
"totalAmount": 121,
|
||||
"touchPointId": 1,
|
||||
"deviceId": "b8ca9fdf-0bb9-4e49-b48d-41e395563377",
|
||||
"languageId": 1,
|
||||
"createdOn": "2024-03-22T09:00:00",
|
||||
"order_OrderStatus":
|
||||
[
|
||||
{
|
||||
"orderStatusId": 1,
|
||||
"orderStatusId": 4,
|
||||
"createdOn": "2024-03-22T09:00:00",
|
||||
"description": "Order succesvol betaald",
|
||||
},
|
||||
{
|
||||
"orderStatusId": 3,
|
||||
"createdOn": "2024-03-22T08:55:00",
|
||||
"description": "Concept order",
|
||||
"description": "Betaling in behandeling",
|
||||
},
|
||||
],
|
||||
"orderVouchers":
|
||||
[
|
||||
{
|
||||
"issuedVoucherId": "e81b2197-a6c2-45b6-9560-8ce8442e8604",
|
||||
"orderLineId": "97824d2e-5189-456d-b6da-4cca511a7685"
|
||||
},
|
||||
],
|
||||
"orderLines":
|
||||
[
|
||||
{
|
||||
@ -440,6 +390,57 @@ paths:
|
||||
],
|
||||
},
|
||||
],
|
||||
"payments":
|
||||
[
|
||||
{
|
||||
"createdOn": "2024-03-22T09:00:00",
|
||||
"amountDebit": 121,
|
||||
"paymentMethodId": 1,
|
||||
"touchPointId": 1,
|
||||
"isRefund": false,
|
||||
"htmPaymentReference": "HTM-1234",
|
||||
"pspPaymentReference": "Buckaroo-1234",
|
||||
"paymentStatuses":
|
||||
[
|
||||
{
|
||||
"createdOn": "2024-03-22T09:00:00",
|
||||
"statusCode": "190",
|
||||
"statusDescription": "Success",
|
||||
"statusSubCode": "S001",
|
||||
"statusSubDescription": "PaymentSuccessFul",
|
||||
},
|
||||
],
|
||||
"mandateInput":
|
||||
{
|
||||
"directDebitMandateTypeId": 1,
|
||||
"createdOn": "2024-03-22T09:00:00",
|
||||
"bic": "RABONL2U",
|
||||
"iban": "NL44RABO0123456789",
|
||||
"ascription": "J. de Vries",
|
||||
"place": "Den Haag",
|
||||
},
|
||||
},
|
||||
],
|
||||
"orderCustomer":
|
||||
{
|
||||
"birthname": "Jan",
|
||||
"surname": "Vries",
|
||||
"prefix": "de",
|
||||
"emailAddress": "jandevries@outlook.com",
|
||||
"dateOfBirth": "1970-01-01",
|
||||
"orderCustomerAddresses":
|
||||
[
|
||||
{
|
||||
"addressTypeId": 1,
|
||||
"street": "Kon. Julianaplein",
|
||||
"houseNumber": 10,
|
||||
"houseNumberSuffix": "a",
|
||||
"postalCode": "2595 AA",
|
||||
"city": "Den Haag",
|
||||
"country": "NL",
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
responses:
|
||||
"201":
|
||||
@ -486,7 +487,6 @@ paths:
|
||||
"touchPointId": 1,
|
||||
"name": "Perplex"
|
||||
},
|
||||
"deviceId": null,
|
||||
"language":
|
||||
{
|
||||
"languageId": 1,
|
||||
@ -512,7 +512,6 @@ paths:
|
||||
"description": "Betaling in behandeling",
|
||||
},
|
||||
],
|
||||
"orderVouchers": null,
|
||||
"orderLines":
|
||||
[
|
||||
{
|
||||
@ -659,7 +658,6 @@ paths:
|
||||
example:
|
||||
{
|
||||
"customerProfileId": 1337,
|
||||
"deviceId": "fe68e624-b75f-48ca-a179-d5f86a8ab7d5",
|
||||
"totalAmount": 121,
|
||||
"languageId": 1,
|
||||
"lastUpdatedOn": "2024-03-22T09:00:00",
|
||||
@ -680,7 +678,6 @@ paths:
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
|
||||
/orders/{orderId}/statuses:
|
||||
parameters:
|
||||
- in: path
|
||||
@ -718,143 +715,6 @@ paths:
|
||||
{
|
||||
"order_orderStatusId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
||||
}
|
||||
/orders/{orderId}/ordervouchers:
|
||||
parameters:
|
||||
- in: path
|
||||
name: orderId
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d1dd439b-6072-4b97-89c9-724268865b93
|
||||
required: true
|
||||
description: The id of the order to process.
|
||||
post:
|
||||
summary: Add an order voucher.
|
||||
description: Add an order voucher.
|
||||
tags:
|
||||
- Order Voucher
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
{
|
||||
"issuedVoucherId": "eec6af41-1a60-49f6-a92e-440054a92f13",
|
||||
"orderLineId": "7a9d6e15-7c5c-421d-9ea9-00b9bb6dbe67"
|
||||
}
|
||||
responses:
|
||||
"201":
|
||||
description: Created
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
{
|
||||
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
||||
}
|
||||
/ordervouchers:
|
||||
parameters:
|
||||
- in: query
|
||||
name: orderVoucherId
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d1dd439b-6072-4b97-89c9-724268865b93
|
||||
required: false
|
||||
description: The id of the orderVoucher you are looking for.
|
||||
- in: query
|
||||
name: orderId
|
||||
schema:
|
||||
type: string
|
||||
example: 90c926b9-3178-4757-acca-34cff66b980c
|
||||
required: false
|
||||
description: The id of the order
|
||||
- in: query
|
||||
name: orderLineId
|
||||
schema:
|
||||
type: string
|
||||
example: 9e3363c8-e776-4675-b108-99b8c2e38eb6
|
||||
required: false
|
||||
description: The id of the orderLine
|
||||
get:
|
||||
summary: Find vouchers on the order
|
||||
description: Find vouchers on the order
|
||||
tags:
|
||||
- Order Voucher
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
[
|
||||
{
|
||||
"orderVoucherId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50",
|
||||
"issuedVoucher":{
|
||||
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
|
||||
"voucherCode": "Voucher124",
|
||||
"purchasedProductId": 35,
|
||||
"fromInclusive": "2025-03-22T08:55:00",
|
||||
"untillInclusive": "2026-03-22T08:55:00"
|
||||
},
|
||||
"orderId": "f59e4769-53a0-4156-8991-6f9119ba629f",
|
||||
"orderLineId": "eeb86071-4f59-405d-b2be-7d7a77044bfa"
|
||||
}
|
||||
]
|
||||
/ordervouchers/{ordervoucherId}:
|
||||
parameters:
|
||||
- in: path
|
||||
name: ordervoucherId
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
example: d1dd439b-6072-4b97-89c9-724268865b93
|
||||
required: true
|
||||
description: The id of the order to process.
|
||||
patch:
|
||||
summary: Update an order voucher.
|
||||
description: Update an order voucher.
|
||||
tags:
|
||||
- Order Voucher
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
{
|
||||
"issuedVoucherId": "eec6af41-1a60-49f6-a92e-440054a92f13",
|
||||
"orderLineId": "7a9d6e15-7c5c-421d-9ea9-00b9bb6dbe67"
|
||||
}
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
{
|
||||
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
||||
}
|
||||
delete:
|
||||
summary: Delete an order voucher.
|
||||
description: Delete an order voucher.
|
||||
tags:
|
||||
- Order Voucher
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/unavailable"
|
||||
example:
|
||||
{}
|
||||
/orders/{orderId}/orderlines:
|
||||
parameters:
|
||||
- in: path
|
||||
@ -1984,7 +1844,6 @@ paths:
|
||||
"touchPointId": 1,
|
||||
"name": "Perplex"
|
||||
},
|
||||
"deviceId": null,
|
||||
"isRefund": false,
|
||||
"htmPaymentReference": "HTM-1234",
|
||||
"pspPaymentReference": "Buckaroo-1234",
|
||||
|
||||
@ -1009,8 +1009,6 @@ paths:
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||
"untilInclusive": "2025-10-04T12:34:56.000",
|
||||
}
|
||||
responses:
|
||||
"201":
|
||||
@ -1106,8 +1104,6 @@ paths:
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||
"untilInclusive": "2025-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
}
|
||||
@ -1185,266 +1181,262 @@ paths:
|
||||
Create Single Purchased GBO Product:
|
||||
value:
|
||||
{
|
||||
"purchasedProducts":
|
||||
[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts":
|
||||
[
|
||||
{
|
||||
"salesTimestamp": "2024-10-04T12:34:56.000",
|
||||
"refundTimestamp": "2024-10-04T12:34:56.000",
|
||||
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||
"untilInclusive": "2024-10-04T12:34:56.000",
|
||||
"packageTemplateId": "30003",
|
||||
"xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
|
||||
"xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
|
||||
"xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
|
||||
"customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
|
||||
"ovPayTokenId": 13,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"createdBy": "someuser",
|
||||
"lastUpdatedBy": null,
|
||||
},
|
||||
],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers": [],
|
||||
},
|
||||
],
|
||||
"purchasedProducts":[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts":
|
||||
[
|
||||
{
|
||||
"salesTimestamp": "2024-10-04T12:34:56.000",
|
||||
"refundTimestamp": "2024-10-04T12:34:56.000",
|
||||
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||
"untilInclusive": "2024-10-04T12:34:56.000",
|
||||
"packageTemplateId": "30003",
|
||||
"xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
|
||||
"xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
|
||||
"xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
|
||||
"customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
|
||||
"ovPayTokenId": 13,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"createdBy": "someuser",
|
||||
"lastUpdatedBy": null,
|
||||
},
|
||||
],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers": [],
|
||||
}
|
||||
]
|
||||
}
|
||||
Create Single Purchased TapConnet Ticket:
|
||||
value:
|
||||
value:
|
||||
{
|
||||
"purchasedProducts":
|
||||
[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets":
|
||||
[
|
||||
{
|
||||
"issuedAt": "2024-10-04T12:34:56.000",
|
||||
"activatedAt": "2024-10-04T12:34:56.000",
|
||||
"cancelledAt": null,
|
||||
"ticketReference": "KJj43nejhbTxhr897287",
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"createdBy": "user",
|
||||
"lastUpdatedBy": "user",
|
||||
},
|
||||
],
|
||||
"issuedVouchers": [],
|
||||
},
|
||||
],
|
||||
"purchasedProducts":[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets":
|
||||
[
|
||||
{
|
||||
"issuedAt": "2024-10-04T12:34:56.000",
|
||||
"activatedAt": "2024-10-04T12:34:56.000",
|
||||
"cancelledAt": null,
|
||||
"ticketReference": "KJj43nejhbTxhr897287",
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"createdBy": "user",
|
||||
"lastUpdatedBy": "user",
|
||||
},
|
||||
],
|
||||
"issuedVouchers": [],
|
||||
}
|
||||
]
|
||||
}
|
||||
Create Single Issued Voucher:
|
||||
value:
|
||||
{
|
||||
"purchasedProducts":
|
||||
[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1999-12-31",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
"purchasedProducts":[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1999-12-31",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
||||
Create Multiple Issued Vouchers:
|
||||
value:
|
||||
{
|
||||
"purchasedProducts":
|
||||
[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1999-12-31",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "7ce32f9b-52f0-4e80-a527-0c6184b57f52",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "02047745-f03e-4c00-8e1b-8dc5c86a786e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1940-01-18",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "valdemar.hoskanner@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "7c71ec8a-3326-451f-9464-3e36d10260e3",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "73c7a805-2edf-4616-a04c-267e88e0931c",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "2016-06-08",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "alia.artreides@housearteides.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
"purchasedProducts":[
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1999-12-31",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "vlad.harkonnen@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "7ce32f9b-52f0-4e80-a527-0c6184b57f52",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "02047745-f03e-4c00-8e1b-8dc5c86a786e",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "1940-01-18",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "valdemar.hoskanner@househarkonnen.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"productId": 11,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
"lastUpdatedOn": "2024-10-04T12:34:56.000",
|
||||
"purchasedProductResources":
|
||||
[
|
||||
{
|
||||
"resourceNameId": 1,
|
||||
"resourceIdentifier": "7c71ec8a-3326-451f-9464-3e36d10260e3",
|
||||
},
|
||||
{
|
||||
"resourceNameId": 2,
|
||||
"resourceIdentifier": "73c7a805-2edf-4616-a04c-267e88e0931c",
|
||||
},
|
||||
],
|
||||
"purchasedGboProducts": [],
|
||||
"purchasedTapconnectTickets": [],
|
||||
"issuedVouchers":
|
||||
[
|
||||
{
|
||||
"voucherCode": "VOUCHER123",
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"voucherStatusId": 1,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
"voucherClaims":
|
||||
[
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 8,
|
||||
"value": "2016-06-08",
|
||||
},
|
||||
{
|
||||
"mandatoryCustomerDataItemId": 4,
|
||||
"value": "alia.artreides@housearteides.net",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
||||
responses:
|
||||
"202":
|
||||
@ -1493,7 +1485,7 @@ paths:
|
||||
description: |
|
||||
Body of a batch of purchased products that was successfully created.
|
||||
A number of purchased products were created.
|
||||
value:
|
||||
value:
|
||||
startTime: "2025-02-14T05:32:47.067Z"
|
||||
status: "Finished"
|
||||
clientTrackingId: "08584620957189579629541919368CU00"
|
||||
@ -1504,7 +1496,7 @@ paths:
|
||||
updated: 0
|
||||
total: 13
|
||||
/voucherstatusinstances/bulk:
|
||||
post:
|
||||
post:
|
||||
summary: Post voucher status instances in bulk.
|
||||
description: Post voucher status instances in bulk.
|
||||
tags:
|
||||
@ -1520,36 +1512,35 @@ paths:
|
||||
summary: List of issued vouchers to set status to revoked
|
||||
description: List of issued vouchers to set status to revoked
|
||||
value:
|
||||
{
|
||||
"voucherStatusInstances":
|
||||
[
|
||||
{
|
||||
"issuedVoucherId": "8a63552f-faf5-43f3-b22d-bebc976a8a5e",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "a9ff40ec-2940-413a-9957-dfd471c4caf3",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "9e7363e6-beaa-4c38-9ed6-c8afed459bd5",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "9d7332d6-1949-4c20-aa99-d87096b035fa",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "43ca757b-8370-4cb0-92b9-717948383d5e",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000",
|
||||
},
|
||||
],
|
||||
}
|
||||
{
|
||||
"voucherStatusInstances":[
|
||||
{
|
||||
"issuedVoucherId": "8a63552f-faf5-43f3-b22d-bebc976a8a5e",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000"
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "a9ff40ec-2940-413a-9957-dfd471c4caf3",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000"
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "9e7363e6-beaa-4c38-9ed6-c8afed459bd5",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000"
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "9d7332d6-1949-4c20-aa99-d87096b035fa",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000"
|
||||
},
|
||||
{
|
||||
"issuedVoucherId": "43ca757b-8370-4cb0-92b9-717948383d5e",
|
||||
"voucherStatusId": 4,
|
||||
"createdOn": "2024-10-04T12:34:56.000"
|
||||
},
|
||||
]
|
||||
}
|
||||
responses:
|
||||
"202":
|
||||
description: Accepted
|
||||
@ -1597,7 +1588,7 @@ paths:
|
||||
description: |
|
||||
Body of a batch of voucher status instances that was successfully created.
|
||||
A number of voucher status instances were created.
|
||||
value:
|
||||
value:
|
||||
startTime: "2025-02-14T05:32:47.067Z"
|
||||
status: "Finished"
|
||||
clientTrackingId: "08584620957189579629541919368CU00"
|
||||
@ -1606,7 +1597,7 @@ paths:
|
||||
summary:
|
||||
created: 5
|
||||
updated: 0
|
||||
total: 5
|
||||
total: 5
|
||||
components:
|
||||
securitySchemes:
|
||||
bearerToken:
|
||||
@ -1636,8 +1627,8 @@ components:
|
||||
retryAfter:
|
||||
type: integer
|
||||
example: 10
|
||||
summary:
|
||||
$ref: "#/components/schemas/summaryBody"
|
||||
summary:
|
||||
$ref: "#/components/schemas/summaryBody"
|
||||
required:
|
||||
- startTime
|
||||
- status
|
||||
@ -1665,7 +1656,7 @@ components:
|
||||
- total
|
||||
- updated
|
||||
required:
|
||||
- summary
|
||||
- summary
|
||||
rfc9457:
|
||||
type: object
|
||||
properties:
|
||||
|
||||
@ -1,477 +0,0 @@
|
||||
openapi: 3.0.1
|
||||
info:
|
||||
title: TapConnect
|
||||
description: >-
|
||||
Welcome to the TapConnect Issuing API documentation. These pages describe the endpoints available within TapConnect. Please note that for historical reasons, Date/times are always in the "Europe/Amsterdam" timezone. The endpoints in this document are grouped as follows:
|
||||
|
||||
- **Export endpoints**: Export related endpoints return information about events related to tickets that have been issued. This can be used for Business Intelligence purposes or for financial record keeping.
|
||||
- **Product endpoints**: Product related endpoints return information about products that are available to you as a sales partner and the details of each of these products.
|
||||
- **Ticket endpoints**: Ticket related endpoints allow you to manage tickets throughout their lifecycle. This includes ticket creation, retrieving ticket information, or retrieving the barcode for a ticket.
|
||||
- **Journey endpoints**: Used to calculate the price of a journey and to issue a ticket for that journey using the external fare calculation engine.
|
||||
|
||||
For more information on TapConnect please visit [https://tapconnect.io](https://tapconnect.io) or [https://documentation.tapconnect.io](https://documentation.tapconnect.io).
|
||||
version: '1.0'
|
||||
servers:
|
||||
- url: https://services.acc.api.htm.nl/tapconnect/1.0
|
||||
tags:
|
||||
- name: Export
|
||||
description: >-
|
||||
Export data that can be used to generate reports about issued tickets
|
||||
and related information
|
||||
paths:
|
||||
/v5/ticket-events-export:
|
||||
get:
|
||||
summary: Elastic Search ticket events export
|
||||
description: "Exports ticket events data from Elastic Search.\n\nBoth parameters\
|
||||
\ are a string, and they have to represent a date. Consider the list of valid\
|
||||
\ formats below:\n1. 2021 - searches for all events in a year\n2. 2021-02\
|
||||
\ - searches for all events in a month\n3. 2021-02-02 - searches for all events\
|
||||
\ in a day\n4. 2021-02-02T12 - searches for all events in a specific hour\n\
|
||||
5. 2021-02-02T12:00 - searches for all events in a specific minute\n6. 2021-02-02T12:00:00\
|
||||
\ - searches for all events in a specific second\n\nIf an error occur, the\
|
||||
\ last element returned will be a message with \"An error occurred on Elasticsearch\"\
|
||||
\ and it \nmeans that not all the results are returned.\n_Keep in mind that\
|
||||
\ the above timestamps would also be accepted as Zulu: 2021-02-02T11:00:00Z\
|
||||
\ (winter time)_\n"
|
||||
parameters:
|
||||
- explode: true
|
||||
in: query
|
||||
name: start
|
||||
required: true
|
||||
description: The date to be considered as the interval starting date
|
||||
schema:
|
||||
example: 2021-02-01T00:00:00
|
||||
type: string
|
||||
style: form
|
||||
- explode: true
|
||||
in: query
|
||||
name: end
|
||||
required: true
|
||||
description: The date to be considered as the interval ending date
|
||||
schema:
|
||||
example: 2021-02-02T00:00:00
|
||||
type: string
|
||||
style: form
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/v5_ticket_events_export_response'
|
||||
description: Returns a JSON chunked array of ticket events exported from elastic search.
|
||||
"400":
|
||||
description: |
|
||||
The request could not be validated. The request body or parameters contain incomplete or incorrect parameters. The body of the response will contain information about the problem.
|
||||
"401":
|
||||
description: |
|
||||
Unauthorized call, you are not authorized to call this endpoint with the api key provided in the Authorization header. Please verify that your api key is correct and/or if you are authorized to call this endpoint.
|
||||
"403":
|
||||
description: |
|
||||
Unauthorized call, you are not authorized to call this endpoint with the api key provided in the Authorization header. Please verify that your api key is correct and/or if you are authorized to call this endpoint.
|
||||
"404":
|
||||
description: |
|
||||
The requested URL does not exist, or the requested object was not found.
|
||||
"406":
|
||||
description: |
|
||||
The request was not accepted by the server. The body of the response will contain information about the problem.
|
||||
tags:
|
||||
- Export
|
||||
components:
|
||||
schemas:
|
||||
v5_ticket_events_export_response:
|
||||
type: array
|
||||
items:
|
||||
anyOf:
|
||||
- $ref: '#/components/schemas/ActivateTicketEvent'
|
||||
- $ref: '#/components/schemas/CreateBarcodeEvent'
|
||||
- $ref: '#/components/schemas/CreateTicketEvent'
|
||||
- $ref: '#/components/schemas/TapEvent'
|
||||
- $ref: '#/components/schemas/InspectTicketEvent'
|
||||
- $ref: '#/components/schemas/NotifyEvent'
|
||||
ActivateTicketEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 1
|
||||
type: number
|
||||
eventType:
|
||||
example: ACTIVATE_TICKET
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:00.791992000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:00.791992000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
ticketId:
|
||||
example: hkbu3415fbidswd803nfdg7
|
||||
type: string
|
||||
validityStart:
|
||||
example: 2021-06-06T22:00:00.000000000Z
|
||||
type: string
|
||||
validityEnd:
|
||||
example: 2021-06-07T23:40:00.000000000Z
|
||||
type: string
|
||||
validityType:
|
||||
example: FIXED
|
||||
type: string
|
||||
CreateBarcodeEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 2
|
||||
type: number
|
||||
eventType:
|
||||
example: CREATE_BARCODE
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:01.629279000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:01.629279000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
ticketId:
|
||||
example: 2huCpR99LHjGfiq8ZJoF
|
||||
type: string
|
||||
barcodeSignatureKeyId:
|
||||
example: TCT07
|
||||
type: string
|
||||
barcodeValidityStart:
|
||||
example: 2021-06-06T22:00:00.000000000Z
|
||||
type: string
|
||||
barcodeValidityEnd:
|
||||
example: 2021-06-07T23:40:00.000000000Z
|
||||
type: string
|
||||
CreateTicketEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 0
|
||||
type: number
|
||||
eventType:
|
||||
example: CREATE_TICKET
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
reportedAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
ticketId:
|
||||
example: 344BEuHcFkEChOPm06sY
|
||||
type: string
|
||||
serviceId:
|
||||
example: HTM-0987-7477-0993
|
||||
type: string
|
||||
productName:
|
||||
example: HTM Kinder Dagkaart
|
||||
type: string
|
||||
productCode:
|
||||
example: "303"
|
||||
type: string
|
||||
productValidityPeriodUnit:
|
||||
example: "DAYS"
|
||||
type: string
|
||||
productValidityPeriod:
|
||||
example: 1
|
||||
type: number
|
||||
lifespanStart:
|
||||
example: 2021-06-07
|
||||
type: string
|
||||
lifespanEnd:
|
||||
example: 2021-06-08
|
||||
type: string
|
||||
language:
|
||||
example: NL
|
||||
type: string
|
||||
salesChannelId:
|
||||
example: "9999"
|
||||
type: string
|
||||
salesChannelName:
|
||||
example: HTM App
|
||||
type: string
|
||||
startStation:
|
||||
example: Haarlem
|
||||
type: string
|
||||
endStation:
|
||||
example: Leiden Centraal
|
||||
type: string
|
||||
barcodeType:
|
||||
example: UIC
|
||||
type: string
|
||||
validityType:
|
||||
example: FIXED
|
||||
type: string
|
||||
refundable:
|
||||
example: true
|
||||
type: boolean
|
||||
priceInCents:
|
||||
example: 150,
|
||||
type: number
|
||||
numberOfAdults:
|
||||
example: 1
|
||||
type: number
|
||||
numberOfChildren:
|
||||
example: 0
|
||||
type: number
|
||||
roundToBusinessDay:
|
||||
example: true
|
||||
type: boolean
|
||||
modalities:
|
||||
example: ["BUS", "TRAM"]
|
||||
type: array
|
||||
items:
|
||||
example: BUS
|
||||
type: string
|
||||
TapEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 5
|
||||
type: number
|
||||
eventType:
|
||||
example: TAP
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
validationAction:
|
||||
example: CHECK_OUT
|
||||
type: string
|
||||
validationResult:
|
||||
example: Approved
|
||||
type: string
|
||||
tapId:
|
||||
example: a9aea0ae-52de-42cd-a2f1-93b80d9af389
|
||||
type: string
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
ticketId:
|
||||
example: hkbu3415fbidswd803nfdg7
|
||||
type: string
|
||||
modality:
|
||||
example: BUS
|
||||
type: string
|
||||
line:
|
||||
example: "25"
|
||||
type: string
|
||||
trip:
|
||||
example: "240"
|
||||
type: string
|
||||
vehicle:
|
||||
example: "1512"
|
||||
type: string
|
||||
deviceId:
|
||||
example: "13513A"
|
||||
type: string
|
||||
deviceType:
|
||||
example: VBS
|
||||
type: string
|
||||
lastStopId:
|
||||
example: "3409"
|
||||
type: string
|
||||
lastStopName:
|
||||
example: Gramsbergenlaan
|
||||
type: string
|
||||
nextStopId:
|
||||
example: "3409"
|
||||
type: string
|
||||
nextStopName:
|
||||
example: Gramsbergenlaan
|
||||
type: string
|
||||
location:
|
||||
type: object
|
||||
properties:
|
||||
lat:
|
||||
example: 52.00089453333333
|
||||
type: number
|
||||
lon:
|
||||
example: 4.004570666666667
|
||||
type: number
|
||||
InspectTicketEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 3
|
||||
type: number
|
||||
eventType:
|
||||
example: INSPECT_TICKET
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
ticketId:
|
||||
example: uv1hzvrRd7Xd1Fs9vTxi
|
||||
type: string
|
||||
modality:
|
||||
example: BUS
|
||||
type: string
|
||||
deviceId:
|
||||
example: 6959bd00eaec8e68
|
||||
type: string
|
||||
deviceType:
|
||||
example: IBS
|
||||
type: string
|
||||
validationResult:
|
||||
example: Approved
|
||||
type: string
|
||||
NotifyEvent:
|
||||
properties:
|
||||
eventId:
|
||||
example: 1185
|
||||
type: number
|
||||
eventType:
|
||||
example: NOTIFY
|
||||
type: string
|
||||
occurredAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
receivedAt:
|
||||
example: 2021-06-07T08:42:00.790992000Z
|
||||
type: string
|
||||
timeToDie:
|
||||
example: 2445836980
|
||||
type: number
|
||||
tapId:
|
||||
example: a9aea0ae-52de-42cd-a2f1-93b80d9af389
|
||||
type: string
|
||||
sequence:
|
||||
example: 2
|
||||
type: number
|
||||
tapResponseTimeMillis:
|
||||
example: 402
|
||||
type: number
|
||||
validationAction:
|
||||
example: CHECK_OUT
|
||||
type: string
|
||||
validationMethod:
|
||||
example: ONLINE
|
||||
type: string
|
||||
validationResult:
|
||||
example: Approved
|
||||
type: string
|
||||
operators:
|
||||
items:
|
||||
example: HTM
|
||||
type: string
|
||||
type: array
|
||||
createdBy:
|
||||
example: HTM
|
||||
type: string
|
||||
definedBy:
|
||||
example: HTM
|
||||
type: string
|
||||
modality:
|
||||
example: TRAM
|
||||
type: string
|
||||
line:
|
||||
example: "3"
|
||||
type: string
|
||||
trip:
|
||||
example: "692"
|
||||
type: string
|
||||
vehicle:
|
||||
example: "4058"
|
||||
type: string
|
||||
deviceId:
|
||||
example: "13A886"
|
||||
type: string
|
||||
deviceType:
|
||||
example: VBS
|
||||
type: string
|
||||
lastStopId:
|
||||
example: "2005"
|
||||
type: string
|
||||
lastStopName:
|
||||
example: Fahrenheitstraat
|
||||
type: string
|
||||
nextStopId:
|
||||
example: "2011"
|
||||
type: string
|
||||
nextStopName:
|
||||
example: Valkenbosplein
|
||||
type: string
|
||||
ticketId:
|
||||
example: hkbu3415fbidswd803nfdg7
|
||||
type: string
|
||||
location:
|
||||
type: object
|
||||
properties:
|
||||
lat:
|
||||
example: 52.001300283333336
|
||||
type: number
|
||||
lon:
|
||||
example: 4.004586633333333
|
||||
type: number
|
||||
Loading…
Reference in New Issue
Block a user