develop #38

Merged
bboterm merged 451 commits from develop into main 2025-11-19 14:28:14 +00:00
2 changed files with 454 additions and 59 deletions
Showing only changes of commit b41b00fa04 - Show all commits

View File

@ -240,6 +240,16 @@ paths:
"phoneTypeId": 2, "phoneTypeId": 2,
"isPreferred": false "isPreferred": false
} }
],
"devices": [
{
"externalDeviceId": "123e4567-e89b-12d3-a456-426614174000",
"alias": "My iPhone",
},
{
"externalDeviceId": "987e6543-e21b-12d3-a456-426614174999",
"alias": "My iPad",
}
] ]
} }
} }
@ -327,6 +337,18 @@ paths:
"phoneTypeId": 2, "phoneTypeId": 2,
"isPreferred": false "isPreferred": false
} }
],
"devices": [
{
"deviceId": "813afdd8-bf8c-4e26-bfda-4da79552bd38",
"externalDeviceId": "123e4567-e89b-12d3-a456-426614174000",
"alias": "My iPhone",
},
{
"deviceId": "4f4249a2-ac6c-44f9-b740-66e66b6f3c28",
"externalDeviceId": "987e6543-e21b-12d3-a456-426614174999",
"alias": "My iPad",
}
] ]
} }
} }
@ -3293,6 +3315,89 @@ paths:
}, },
], ],
} }
/customers/devices:
post:
summary: Add a new device to a customer profile.
description: Add a new device to a customer profile.
tags:
- Devices
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Add a new device:
value:
{
"externalDeviceId": "dee7d80e-9288-4508-a3ed-c067e619179f",
"alias": "My iPhone 13",
}
responses:
"201":
description: Created
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
New device added to customer profile:
value:
{
"deviceId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
"externalDeviceId": "dee7d80e-9288-4508-a3ed-c067e619179f",
"alias": "My iPhone 13",
}
/customers/devices/{deviceId}:
parameters:
- name: deviceId
in: path
required: true
style: simple
description: Id of the device to be deleted.
schema:
type: string
format: uuid
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
patch:
summary: Update alias of a device in a customer profile.
description: Update alias of a device in a customer profile.
tags:
- Devices
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Update alias of a device:
value:
{
"alias": "My old iPhone 13",
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Device alias updated in customer profile:
value:
{
"deviceId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
"externalDeviceId": "dee7d80e-9288-4508-a3ed-c067e619179f",
"alias": "My old iPhone 13",
}
delete:
summary: Delete a device from a customer profile.
description: Delete a device from a customer profile.
tags:
- Devices
responses:
"200":
description: OK
components: components:
schemas: schemas:
unavailable: unavailable:
@ -3471,27 +3576,6 @@ components:
country: country:
type: string type: string
example: NL example: NL
_links:
type: object
properties:
self:
type: object
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/addresses/1
method:
type: string
example: GET
delete_address:
type: object
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/addresses/1
method:
type: string
example: DELETE
phones: phones:
type: array type: array
items: items:
@ -3518,24 +3602,49 @@ components:
countryCode: countryCode:
type: string type: string
example: "0031" example: "0031"
devices:
type: array
items:
type: object
properties:
deviceId:
type: string
format: uuid
example: 1
externalDeviceId:
type: string
format: uuid
example: dee7d80e-9288-4508-a3ed-c067e619179f
alias:
type: string
example: My iPhone 13
_links: _links:
type: object type: object
properties: properties:
self: add_device:
type: object type: object
properties: properties:
href: href:
type: string type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/phones/1 example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/devices
method: method:
type: string type: string
example: GET example: POST
delete_phone: edit_device:
type: object type: object
properties: properties:
href: href:
type: string type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/phones/1 example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/devices/1
method:
type: string
example: PATCH
delete_device:
type: object
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/devices/1
method: method:
type: string type: string
example: DELETE example: DELETE
@ -3551,16 +3660,6 @@ components:
method: method:
type: string type: string
example: GET example: GET
create_customer_status:
type: object
description: ONLY ALLOWED FOR SMP - Create a new customer status
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/statuses
method:
type: string
example: POST
partial_edit: partial_edit:
type: object type: object
properties: properties:

View File

@ -278,6 +278,13 @@ paths:
phoneTypeId: 2 phoneTypeId: 2
name: Work name: Work
isPreferred: false isPreferred: false
devices:
- deviceId: "5bedce29-af0c-4f3c-b182-2caa8a1f9377"
externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- deviceId: "d7683e89-b2ad-4e79-85b3-dbb42aad0325"
externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
ovChipCards: ovChipCards:
- ovChipCardId: 1 - ovChipCardId: 1
chipCardNumber: "1234123412341234" chipCardNumber: "1234123412341234"
@ -404,6 +411,13 @@ paths:
phoneTypeId: 2 phoneTypeId: 2
name: Work name: Work
isPreferred: false isPreferred: false
devices:
- deviceId: "5bedce29-af0c-4f3c-b182-2caa8a1f9377"
externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- deviceId: "d7683e89-b2ad-4e79-85b3-dbb42aad0325"
externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
ovChipCards: ovChipCards:
- ovChipCardId: 1 - ovChipCardId: 1
chipCardNumber: "1234123412341234" chipCardNumber: "1234123412341234"
@ -543,6 +557,13 @@ paths:
phoneTypeId: 2 phoneTypeId: 2
name: Work name: Work
isPreferred: false isPreferred: false
devices:
- deviceId: "5bedce29-af0c-4f3c-b182-2caa8a1f9377"
externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- deviceId: "d7683e89-b2ad-4e79-85b3-dbb42aad0325"
externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
ovChipCards: ovChipCards:
- ovChipCardId: 1 - ovChipCardId: 1
chipCardNumber: "1234123412341234" chipCardNumber: "1234123412341234"
@ -677,6 +698,13 @@ paths:
phoneTypeId: 2 phoneTypeId: 2
name: Work name: Work
isPreferred: false isPreferred: false
devices:
- deviceId: "5bedce29-af0c-4f3c-b182-2caa8a1f9377"
externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- deviceId: "d7683e89-b2ad-4e79-85b3-dbb42aad0325"
externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
ovChipCards: ovChipCards:
- ovChipCardId: 1 - ovChipCardId: 1
chipCardNumber: "1234123412341234" chipCardNumber: "1234123412341234"
@ -823,6 +851,11 @@ paths:
countryCode: "+31" countryCode: "+31"
phoneTypeId: 2 phoneTypeId: 2
isPreferred: false isPreferred: false
devices:
- externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
required: true required: true
responses: responses:
201: 201:
@ -1027,7 +1060,7 @@ paths:
/customers/{customerProfileId}/addresses: /customers/{customerProfileId}/addresses:
post: post:
tags: tags:
- Customer address - Addresses
summary: Add a customer address summary: Add a customer address
description: >- description: >-
@ -1069,7 +1102,7 @@ paths:
/addresses/{addressId}: /addresses/{addressId}:
patch: patch:
tags: tags:
- Customer address - Addresses
summary: Edit a customer address summary: Edit a customer address
description: >- description: >-
@ -1109,7 +1142,7 @@ paths:
x-throttling-tier: Unlimited x-throttling-tier: Unlimited
delete: delete:
tags: tags:
- Customer address - Addresses
summary: Delete a customer address summary: Delete a customer address
description: >- description: >-
@ -1132,8 +1165,8 @@ paths:
/customers/{customerProfileId}/phones: /customers/{customerProfileId}/phones:
post: post:
tags: tags:
- Customer phoneNumber - Phones
summary: Add a customer phonenumber summary: Add a customer phone
description: >- description: >-
parameters: parameters:
@ -1171,8 +1204,8 @@ paths:
/phones/{phoneId}: /phones/{phoneId}:
patch: patch:
tags: tags:
- Customer phoneNumber - Phones
summary: Edit a customer phonenumber summary: Edit a customer phone
description: >- description: >-
parameters: parameters:
@ -1213,7 +1246,7 @@ paths:
x-throttling-tier: Unlimited x-throttling-tier: Unlimited
delete: delete:
tags: tags:
- Customer phoneNumber - Phones
summary: Delete a customer phone summary: Delete a customer phone
description: >- description: >-
@ -1233,12 +1266,209 @@ paths:
- default: [] - default: []
x-auth-type: Application & Application User x-auth-type: Application & Application User
x-throttling-tier: Unlimited x-throttling-tier: Unlimited
/devices:
get:
tags:
- Devices
summary: Find devices.
description: Find devices.
parameters:
- in: query
name: deviceId
schema:
type: string
format: uuid
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
required: false
description: The id of the device.
- in: query
name: customerProfileId
schema:
type: integer
example: 1
required: false
description: The id of the customer profile.
- in: query
name: externalDeviceId
schema:
type: string
format: uuid
example: c5545584-04af-4c60-a955-d6a70baab848
required: false
description: The external id of the device.
- in: query
name: alias
schema:
type: string
example: iPhone prive
required: false
description: The alias of the device.
- name: sort
in: query
schema:
type: string
- name: offset
in: query
schema:
type: integer
- name: limit
in: query
schema:
type: integer
example: 20
responses:
200:
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/getDevicesResponse"
example:
{
"devices":
[
{
"customerProfileId": 1,
"deviceId": "5bedce29-af0c-4f3c-b182-2caa8a1f9377",
"externalDeviceId": "c5545584-04af-4c60-a955-d6a70baab848",
"alias": "iPhone prive",
},
{
"customerProfileId": 1,
"deviceId": "d7683e89-b2ad-4e79-85b3-dbb42aad0325",
"externalDeviceId": "7122a988-a00a-417d-a5b4-da2d91354976",
"alias": "iPhone zakelijk",
}
],
"_links":
{
"self":
{
"href": "https://api.integratielaag.nl/abt/abtcustomers/2.0/devices?offset=20",
"method": "GET",
},
"prev":
{
"href": "https://api.integratielaag.nl/abt/abtcustomers/2.0/devices",
"method": "GET",
},
"next":
{
"href": "https://api.integratielaag.nl/abt/abtcustomers/2.0/devices?offset=40",
"method": "GET",
},
},
}
/customers/{customerProfileId}/devices:
post:
tags:
- Devices
summary: Add a customer device
description: >-
parameters:
- name: customerProfileId
in: path
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/postCustomerDevice"
examples:
customerDevice:
value:
device:
externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
required: true
responses:
201:
description: Successfully created a customer device
content:
application/json:
schema:
$ref: "#/components/schemas/getDevices"
security:
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
/devices/{deviceId}:
patch:
tags:
- Devices
summary: Edit a customer device
description: >-
parameters:
- name: deviceId
in: path
required: true
schema:
type: string
format: uuid
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/patchCustomerDevice"
examples:
updateDevice:
value:
device:
alias: "iPhone zakelijk"
required: true
responses:
200:
description: Successfully modified a customer device
content:
application/json:
schema:
$ref: "#/components/schemas/getDevices"
examples:
updateDeviceResponse:
value:
deviceId: "5bedce29-af0c-4f3c-b182-2caa8a1f9377"
externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
security:
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
delete:
tags:
- Devices
summary: Delete a customer device
description: >-
parameters:
- name: deviceId
in: path
required: true
schema:
type: string
format: uuid
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
responses:
200:
description: Successfully deleted a customer device
content:
application/json: {}
security:
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
/ovpaytokens: /ovpaytokens:
get: get:
tags: tags:
- Ovpay Token - OVpay Tokens
summary: Find ovpay tokens. summary: Find OVpay tokens.
description: Find ovpay tokens. description: Find OVpay tokens.
parameters: parameters:
- in: query - in: query
name: ovPayTokenId name: ovPayTokenId
@ -1389,8 +1619,8 @@ paths:
/customers/{customerProfileId}/ovpaytokens: /customers/{customerProfileId}/ovpaytokens:
post: post:
tags: tags:
- Ovpay Token - OVpay Tokens
summary: Create a new ovpay token summary: Create a new OVpay token
description: >- description: >-
parameters: parameters:
@ -1440,8 +1670,8 @@ paths:
/ovpaytokens/{ovPayTokenId}: /ovpaytokens/{ovPayTokenId}:
patch: patch:
tags: tags:
- Ovpay Token - OVpay Tokens
summary: Update an ovpay token summary: Update an OVpay token
description: >- description: >-
parameters: parameters:
@ -1491,8 +1721,8 @@ paths:
x-throttling-tier: Unlimited x-throttling-tier: Unlimited
delete: delete:
tags: tags:
- Ovpay Token - OVpay Tokens
summary: Delete an ovpay token summary: Delete an OVpay token
description: >- description: >-
parameters: parameters:
@ -1514,8 +1744,8 @@ paths:
/customers/{customerProfileId}/ovchipcards: /customers/{customerProfileId}/ovchipcards:
post: post:
tags: tags:
- Ovchipcard - OV Chipcards
summary: Create a new ovchipcard summary: Create a new OV chipcard
description: >- description: >-
parameters: parameters:
@ -1552,8 +1782,8 @@ paths:
/ovchipcards/{ovChipCardId}: /ovchipcards/{ovChipCardId}:
patch: patch:
tags: tags:
- Ovchipcard - OV Chipcards
summary: Update an ovchipcard summary: Update an OV chipcard
description: >- description: >-
parameters: parameters:
@ -1587,8 +1817,8 @@ paths:
x-throttling-tier: Unlimited x-throttling-tier: Unlimited
delete: delete:
tags: tags:
- Ovchipcard - OV Chipcards
summary: Delete an ovchipcard summary: Delete an OV chipcard
description: >- description: >-
parameters: parameters:
@ -2179,6 +2409,10 @@ components:
type: array type: array
items: items:
$ref: "#/components/schemas/getPhones" $ref: "#/components/schemas/getPhones"
devices:
type: array
items:
$ref: "#/components/schemas/getDevices"
getAddresses: getAddresses:
type: object type: object
properties: properties:
@ -2225,6 +2459,21 @@ components:
type: integer type: integer
name: name:
type: string type: string
getDevices:
type: object
properties:
deviceId:
type: string
format: uuid
externalDeviceId:
type: string
format: uuid
alias:
type: string
required:
- deviceId
- externalDeviceId
- alias
getCustomerPreference: getCustomerPreference:
type: object type: object
properties: properties:
@ -2329,6 +2578,17 @@ components:
type: integer type: integer
isPreferred: isPreferred:
type: boolean type: boolean
devicePostEntity:
required:
- externalDeviceId
- alias
type: object
properties:
externalDeviceId:
type: string
format: uuid
alias:
type: string
defaultCustomerProfileResponse: defaultCustomerProfileResponse:
type: object type: object
properties: properties:
@ -2352,6 +2612,10 @@ components:
type: array type: array
items: items:
$ref: "#/components/schemas/postPhoneEntity" $ref: "#/components/schemas/postPhoneEntity"
devices:
type: array
items:
$ref: "#/components/schemas/devicePostEntity"
postCustomerAddress: postCustomerAddress:
type: object type: object
properties: properties:
@ -2578,6 +2842,38 @@ components:
ovPayTokenId: ovPayTokenId:
type: integer type: integer
example: 1 example: 1
getDevicesResponse:
type: object
properties:
devices:
type: array
items:
$ref: "#/components/schemas/getDeviceEntity"
getDeviceEntity:
type: object
properties:
deviceId:
type: string
format: uuid
customerProfileId:
type: integer
externalDeviceId:
type: string
format: uuid
alias:
type: string
required:
- deviceId
- customerProfileId
- externalDeviceId
- alias
postCustomerDevice:
$ref: "#/components/schemas/devicePostEntity"
patchCustomerDevice:
type: object
properties:
alias:
type: string
ErrorResponse: ErrorResponse:
type: object type: object
properties: properties: