Files
adyen-openapi/specs/3.0/NotificationConfigurationService-v1.yaml
Richard Zetterberg dfd1ce7445 Adds right curl flag in example
The curl flag `-U` is used for:

> Specify the user name and password to use for proxy authentication.

This curl flag `-u` is used for:

> Specify the user name and password to use for server authentication.

This change adds the correct curl flag for using basic
authentication.
2018-07-16 16:30:35 +02:00

417 lines
19 KiB
YAML

openapi: 3.0.0
servers:
- url: 'https://cal-test.adyen.com/cal/services/Notification/v1'
info:
version: '1'
title: Adyen MarketPay Notification Configuration Service
description: |-
The MarketPay Notification Configuration API provides endpoints for configuration a subscription to a marketplace's MarketPay-related notifications. Notifications are sent upon the occurrence of certain events (such as a KYC check completion or a payout completion), and the subscription to these notifications dictates to where they are sent.
For further information on MarketPay notifications, please visit the [MarketPay documentation](https://docs.adyen.com/developers/marketpay/marketpay-overview).
## Authentication
To connect to the MarketPay API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:
```
curl
-u "ws@Company.YourCompany":"YourWsPassword" \
-H "Content-Type: application/json" \
...
```
Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/developers/api-reference/live-endpoints).
## Versioning
MarketPay API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.
For example:
```
https://cal-test.adyen.com/cal/services/Notification/v1/createNotificationConfiguration
```
termsOfService: 'https://docs.adyen.com/legal/terms-conditions'
contact:
name: Adyen Support
url: 'https://support.adyen.com/'
email: support@adyen.com
x-groups:
- General
paths:
/createNotificationConfiguration:
post:
summary: Configure a new subscription to notifications.
description: 'This endpoint is used to create a subscription to MarketPay event notifications. After the subscription is created, the events specified in the configuration will be sent to the URL specified in the configuration. Subscriptions must be configured on a per-event basis (as opposed to, for example, a per-account holder basis), so all event notifications of a marketplace and of a given type will be sent to the same endpoint(s). A marketplace may have multiple endpoints if desired; an event notification may be sent to as many or as few different endpoints as configured.'
x-groupName: General
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
/deleteNotificationConfigurations:
post:
summary: Delete an existing notification subscription configuration.
description: 'This endpoint is used to delete an existing notification subscription configuration. After the subscription is deleted, no further event notifications will be sent to the URL that was in the subscription.'
x-groupName: General
x-sortIndex: 6
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
description: OK - the request has succeeded.
/getNotificationConfiguration:
post:
summary: Retrieve an existing notification subscription configuration.
description: This endpoint is used to retrieve the details of the configuration of a notification subscription.
x-groupName: General
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
/getNotificationConfigurationList:
post:
summary: Retrive a list of existing notification subscription configurations.
description: This endpoint is used to retrieve the details of the configurations of all of the notification subscriptions in the marketplace of the executing user.
x-groupName: General
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmptyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationListResponse'
description: OK - the request has succeeded.
/testNotificationConfiguration:
post:
summary: Test an existing notification configuration.
description: 'This endpoint is used to test an existing notification subscription configuration. For each event type specified, a test notification will be generated and sent to the URL configured in the subscription specified.'
x-groupName: General
x-sortIndex: 4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationConfigurationResponse'
description: OK - the request has succeeded.
/updateNotificationConfiguration:
post:
summary: Update an existing notification subscription configuration.
description: 'This endpoint is used to update an existing notification subscription configuration. If updating the event types, all event types desired must be provided, otherwise the previous event type configuration will be overwritten.'
x-groupName: General
x-sortIndex: 5
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
components:
schemas:
CreateNotificationConfigurationRequest:
properties:
configurationDetails:
description: Details of the prospective notification subscription configuration.
$ref: '#/components/schemas/NotificationConfigurationDetails'
required:
- configurationDetails
DeleteNotificationConfigurationRequest:
properties:
notificationIds:
description: A list of IDs of the notification subscription configurations to be deleted.
items:
format: int64
type: integer
type: array
required:
- notificationIds
EmptyRequest: {}
ExchangeMessage:
properties:
messageCode:
type: string
messageDescription:
type: string
GenericResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
GetNotificationConfigurationListResponse:
properties:
configurations:
description: Details of the notification subscription configurations.
items:
$ref: '#/components/schemas/NotificationConfigurationDetails'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- configurations
GetNotificationConfigurationRequest:
properties:
notificationId:
description: The ID of the notification subscription configuration whose details are to be retrieved.
format: int64
type: integer
required:
- notificationId
GetNotificationConfigurationResponse:
properties:
configurationDetails:
description: Details of the notification subscription configuration.
$ref: '#/components/schemas/NotificationConfigurationDetails'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- configurationDetails
NotificationConfigurationDetails:
properties:
active:
description: Indicates whether the notification subscription is active.
type: boolean
apiVersion:
description: The API version of the notification to send.
format: int32
type: integer
description:
description: |-
A description of the notification subscription configuration.
>Required when creating a configuration, forbidden when updating a configuration.
type: string
eventConfigs:
description: The types of events whose notifications apply to this configuration.
items:
$ref: '#/components/schemas/NotificationEventConfiguration'
type: array
notificationId:
description: |-
The ID of the configuration.
>Required if updating an existing configuration, ignored during the creation of a configuration.
format: int64
type: integer
notifyPassword:
description: The password to use when accessing the notifyURL with the specified username.
type: string
notifyURL:
description: The URL to which the notifications are to be sent.
type: string
notifyUsername:
description: The username to use when accessing the notifyURL.
type: string
sslProtocol:
description: |-
The SSL protocol employed by the endpoint.
>Permitted values: `SSL`, `SSLv3`, `SSLInsecureCiphers`, `TLS`, `TLSv10`, `TLSv10InsecureCiphers`, `TLSv11`, `TLSv12`.
enum:
- SSL
- SSLInsecureCiphers
- SSLv3
- TLS
- TLSv10
- TLSv10InsecureCiphers
- TLSv11
- TLSv12
type: string
required:
- eventConfigs
- notifyURL
NotificationEventConfiguration:
properties:
eventType:
description: |-
The type of event triggering the notification.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
includeMode:
description: |-
Indicates whether the specified eventType is to be sent to the endpoint or all events other than the specified eventType (and other specified eventTypes) are to be sent.
>Permitted values: `INCLUDE`, `EXCLUDE`.
>- `INCLUDE`: send the specified eventType.
>- `EXCLUDE`: send all eventTypes other than the specified eventType (and other eventTypes marked with `EXCLUDE`).
enum:
- EXCLUDE
- INCLUDE
type: string
required:
- eventType
- includeMode
TestNotificationConfigurationRequest:
properties:
eventTypes:
description: |-
The event types to test. If left blank, then all of the configured event types will be tested.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
items:
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
type: array
notificationId:
description: The ID of the notification subscription configuration to be tested.
format: int64
type: integer
required:
- notificationId
TestNotificationConfigurationResponse:
properties:
errorMessages:
description: Any error messages encountered.
items:
type: string
type: array
eventTypes:
description: |-
The event types that were tested.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
items:
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
type: array
exchangeMessages:
description: The notification message and related response messages.
items:
$ref: '#/components/schemas/ExchangeMessage'
type: array
notificationId:
description: The ID of the notification subscription configuration.
format: int64
type: integer
okMessages:
description: A list of messages describing the testing steps.
items:
type: string
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- notificationId
- eventTypes
- okMessages
- exchangeMessages
UpdateNotificationConfigurationRequest:
properties:
configurationDetails:
description: Details of the notification subscription configuration to be updated.
$ref: '#/components/schemas/NotificationConfigurationDetails'
required:
- configurationDetails