Skip to content

Create

POST
/api/managing-entity/{managingEntityIdentifier}/extranet/sales-channel/request
curl --request POST \
--url https://api.wink.travel/api/managing-entity/e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18/extranet/sales-channel/request \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "introductoryMessage": "We are interested in partnering with your property to offer discounted rates to our clientele.", "requestType": "DIRECT_CONNECTION", "supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18" }'

Submits a new sales-channel relationship request on behalf of the property and returns the persisted request.

managingEntityIdentifier
required
string

Create sales channel request and associate it with this property identifier

Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Relationship request payload specifying the target affiliate and any proposed commission or pricing terms for the new supplier-initiated channel partnership

Media typeapplication/json

A request for relationship between two parties.

object
introductoryMessage
required

Introductory message from the requester explaining the purpose of the connection request.

string
>= 1 characters
Example
We are interested in partnering with your property to offer discounted rates to our clientele.
requestType
required

Type of relationship request

string
Allowed values: DIRECT_CONNECTION
Example
DIRECT_CONNECTION
supplierIdentifier
required

Supplier identifier the relationship request targets

string format: uuid
>= 1 characters
Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
Example
{
"introductoryMessage": "We are interested in partnering with your property to offer discounted rates to our clientele.",
"requestType": "DIRECT_CONNECTION",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
}

Sales channel relationship request successfully created

Media typeapplication/json

A request for relationship between two parties.

object
createdDate

Datetime this record was first created

string | null format: date-time
id

Unique identifier for this record.

string format: uuid
introductoryMessage
required

Message from requester explaining the purpose and benefits of the proposed relationship

string
>= 1 characters
lastUpdate

Datetime this record was last updated

string | null format: date-time
ownerIdentifier
required

Unique identifier of the owner/affiliate initiating the request

string format: uuid
>= 1 characters
ownerName
required

Name of the owner/affiliate initiating the request

string
>= 1 characters
requestType
required

Type of relationship request

string
Allowed values: DIRECT_CONNECTION
status
required

Status of the relationship request

string
Allowed values: REQUESTING REJECTED
subType
required

Type of entity initiating the relationship request

string
Allowed values: TRIP_PAY FACILITATOR DIRECT APPLICATION HOTEL TRAVELIKO CORPORATE TRAVEL_AGENT INFLUENCER BLOGGER DESTINATION CHANNEL_MANAGER PROPERTY_MANAGEMENT_SYSTEM CENTRAL_RESERVATION_SYSTEM GOOGLE_HOTEL_API MANAGEMENT_COMPANY CHAIN BRAND EVENT_ORGANIZER OTHER
supplierIdentifier
required

Supplier identifier receiving this relationship request

string format: uuid
>= 1 characters
supplierName
required

Name of the property/supplier receiving the request

string
>= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
Example
{
"createdDate": "2026-01-14T09:30:00",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"introductoryMessage": "We represent a travel agency network with strong demand for your properties and would like to establish a partnership to offer exclusive rates to our members.",
"lastUpdate": "2026-02-03T16:45:12",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"ownerName": "The Siam Residences",
"requestType": "DIRECT_CONNECTION",
"status": "REQUESTING",
"subType": "APPLICATION",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"supplierName": "The Siam Residences, Bangkok",
"version": 3
}

Bad Request — missing or invalid request parameter or body

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Unauthorized — authentication is required or the session has expired

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Forbidden — authenticated but lacking the required permission or scope

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Not Found — the requested resource does not exist

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Unsupported Media Type — use application/json

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Internal Server Error — an unexpected failure occurred on the server

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Service Unavailable — a downstream dependency is unreachable

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}