Compare commits

..

7 Commits

2 changed files with 454 additions and 59 deletions

View File

@ -240,6 +240,16 @@ paths:
"phoneTypeId": 2,
"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,
"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:
schemas:
unavailable:
@ -3471,27 +3576,6 @@ components:
country:
type: string
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:
type: array
items:
@ -3518,24 +3602,49 @@ components:
countryCode:
type: string
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:
type: object
properties:
self:
add_device:
type: object
properties:
href:
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:
type: string
example: GET
delete_phone:
example: POST
edit_device:
type: object
properties:
href:
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:
type: string
example: DELETE
@ -3551,16 +3660,6 @@ components:
method:
type: string
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:
type: object
properties:

View File

@ -278,6 +278,13 @@ paths:
phoneTypeId: 2
name: Work
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:
- ovChipCardId: 1
chipCardNumber: "1234123412341234"
@ -404,6 +411,13 @@ paths:
phoneTypeId: 2
name: Work
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:
- ovChipCardId: 1
chipCardNumber: "1234123412341234"
@ -543,6 +557,13 @@ paths:
phoneTypeId: 2
name: Work
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:
- ovChipCardId: 1
chipCardNumber: "1234123412341234"
@ -677,6 +698,13 @@ paths:
phoneTypeId: 2
name: Work
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:
- ovChipCardId: 1
chipCardNumber: "1234123412341234"
@ -823,6 +851,11 @@ paths:
countryCode: "+31"
phoneTypeId: 2
isPreferred: false
devices:
- externalDeviceId: "c5545584-04af-4c60-a955-d6a70baab848"
alias: "iPhone prive"
- externalDeviceId: "7122a988-a00a-417d-a5b4-da2d91354976"
alias: "iPhone zakelijk"
required: true
responses:
201:
@ -1027,7 +1060,7 @@ paths:
/customers/{customerProfileId}/addresses:
post:
tags:
- Customer address
- Addresses
summary: Add a customer address
description: >-
@ -1069,7 +1102,7 @@ paths:
/addresses/{addressId}:
patch:
tags:
- Customer address
- Addresses
summary: Edit a customer address
description: >-
@ -1109,7 +1142,7 @@ paths:
x-throttling-tier: Unlimited
delete:
tags:
- Customer address
- Addresses
summary: Delete a customer address
description: >-
@ -1132,8 +1165,8 @@ paths:
/customers/{customerProfileId}/phones:
post:
tags:
- Customer phoneNumber
summary: Add a customer phonenumber
- Phones
summary: Add a customer phone
description: >-
parameters:
@ -1171,8 +1204,8 @@ paths:
/phones/{phoneId}:
patch:
tags:
- Customer phoneNumber
summary: Edit a customer phonenumber
- Phones
summary: Edit a customer phone
description: >-
parameters:
@ -1213,7 +1246,7 @@ paths:
x-throttling-tier: Unlimited
delete:
tags:
- Customer phoneNumber
- Phones
summary: Delete a customer phone
description: >-
@ -1233,12 +1266,209 @@ paths:
- default: []
x-auth-type: Application & Application User
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:
get:
tags:
- Ovpay Token
summary: Find ovpay tokens.
description: Find ovpay tokens.
- OVpay Tokens
summary: Find OVpay tokens.
description: Find OVpay tokens.
parameters:
- in: query
name: ovPayTokenId
@ -1389,8 +1619,8 @@ paths:
/customers/{customerProfileId}/ovpaytokens:
post:
tags:
- Ovpay Token
summary: Create a new ovpay token
- OVpay Tokens
summary: Create a new OVpay token
description: >-
parameters:
@ -1440,8 +1670,8 @@ paths:
/ovpaytokens/{ovPayTokenId}:
patch:
tags:
- Ovpay Token
summary: Update an ovpay token
- OVpay Tokens
summary: Update an OVpay token
description: >-
parameters:
@ -1491,8 +1721,8 @@ paths:
x-throttling-tier: Unlimited
delete:
tags:
- Ovpay Token
summary: Delete an ovpay token
- OVpay Tokens
summary: Delete an OVpay token
description: >-
parameters:
@ -1514,8 +1744,8 @@ paths:
/customers/{customerProfileId}/ovchipcards:
post:
tags:
- Ovchipcard
summary: Create a new ovchipcard
- OV Chipcards
summary: Create a new OV chipcard
description: >-
parameters:
@ -1552,8 +1782,8 @@ paths:
/ovchipcards/{ovChipCardId}:
patch:
tags:
- Ovchipcard
summary: Update an ovchipcard
- OV Chipcards
summary: Update an OV chipcard
description: >-
parameters:
@ -1587,8 +1817,8 @@ paths:
x-throttling-tier: Unlimited
delete:
tags:
- Ovchipcard
summary: Delete an ovchipcard
- OV Chipcards
summary: Delete an OV chipcard
description: >-
parameters:
@ -2179,6 +2409,10 @@ components:
type: array
items:
$ref: "#/components/schemas/getPhones"
devices:
type: array
items:
$ref: "#/components/schemas/getDevices"
getAddresses:
type: object
properties:
@ -2225,6 +2459,21 @@ components:
type: integer
name:
type: string
getDevices:
type: object
properties:
deviceId:
type: string
format: uuid
externalDeviceId:
type: string
format: uuid
alias:
type: string
required:
- deviceId
- externalDeviceId
- alias
getCustomerPreference:
type: object
properties:
@ -2329,6 +2578,17 @@ components:
type: integer
isPreferred:
type: boolean
devicePostEntity:
required:
- externalDeviceId
- alias
type: object
properties:
externalDeviceId:
type: string
format: uuid
alias:
type: string
defaultCustomerProfileResponse:
type: object
properties:
@ -2352,6 +2612,10 @@ components:
type: array
items:
$ref: "#/components/schemas/postPhoneEntity"
devices:
type: array
items:
$ref: "#/components/schemas/devicePostEntity"
postCustomerAddress:
type: object
properties:
@ -2578,6 +2842,38 @@ components:
ovPayTokenId:
type: integer
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:
type: object
properties: