Skip to content

Create from external URL

POST
/api/managing-entity/{managingEntityIdentifier}/wink-links/shortened-url/consume-external-url
curl --request POST \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/wink-links/shortened-url/consume-external-url \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "url": "", "createPost": false }'

Scrapes Open Graph metadata from an external URL and creates a shortened URL entry from it.

managingEntityIdentifier
required
string
""

Managing entity that will own the shortened URL

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

External URL to scrape for Open Graph metadata and optional syndication flag

Media type application/json
object
url
required

External URL to scrape for Open Graph metadata and create a shortened URL from

string
"" >= 1 characters
Example
https://www.thesiamresidences.com/luxury-stay
createPost

Whether to automatically create a syndicated social media post based on the scraped content

boolean

OK

Media type application/json
object
id

Document UUID

string format: uuid
""
createdDate

Datetime this record was first created

string format: date-time
""
lastUpdate

Datetime this record was last updated

string format: date-time
""
version

Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.

integer format: int64
""
userIdentifier
required

Creator of this shortened URL

string format: uuid
"" >= 1 characters
ownerIdentifier
required

Managing entity / Owner identifier that owns this shortened URL

string format: uuid
"" >= 1 characters
title
required

Display name of the shortened URL

string
"" >= 1 characters
type
required

Type of entity the uniqueId links to (URL, PROPERTY, BOOKING, etc.)

string
""
Allowed values: SELLABLE_INVENTORY_SLUG SELLABLE_SUPPLIER_SLUG AFFILIATE_ACCOUNT_SLUG SYNDICATED_ITEM_SLUG URL
uniqueId
required

URL-friendly slug that uniquely identifies this entry within the owner’s account

string
"" >= 1 characters
entityId

Entity identifier that the uniqueId originates from. Omit for type=URL, required for other types.

string format: uuid
""
url

Target URL to redirect to. Required when type=URL, omit for other types.

string
""
imageList
Array<object>

Open Graph images extracted from the target URL

object
url
required

URL of the media asset

string
"" >= 1 characters
secureUrl

HTTPS URL of the media asset

string
""
type

MIME type of the media (image/jpeg, video/mp4, audio/mpeg, etc.)

string
""
width

Media width in pixels

string
""
height

Media height in pixels

string
""
alt

Alternative text description for accessibility

string
""
videoList
Array<object>

Open Graph videos extracted from the target URL

object
url
required

URL of the media asset

string
"" >= 1 characters
secureUrl

HTTPS URL of the media asset

string
""
type

MIME type of the media (image/jpeg, video/mp4, audio/mpeg, etc.)

string
""
width

Media width in pixels

string
""
height

Media height in pixels

string
""
alt

Alternative text description for accessibility

string
""
audioList
Array<object>

Open Graph audio media extracted from the target URL

object
url
required

URL of the media asset

string
"" >= 1 characters
secureUrl

HTTPS URL of the media asset

string
""
type

MIME type of the media (image/jpeg, video/mp4, audio/mpeg, etc.)

string
""
width

Media width in pixels

string
""
height

Media height in pixels

string
""
alt

Alternative text description for accessibility

string
""
descriptions
required

Localized descriptions of the shortened URL entry

Array<object>
>= 1 items
object
name
required

Use as title or short text description

string
""
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
multimedias
Array<object>

Primary media assets associated with this shortened URL

object
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""
object
name
required

Use as title or short text description

string
""
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
metadata

Extended metadata key-value pairs (e.g., seo keywords, tags)

object
key
additional properties
previousUniqueIds
Array<string>
Example
{
"id": "",
"createdDate": "",
"lastUpdate": "",
"version": "",
"userIdentifier": "",
"ownerIdentifier": "",
"title": "",
"type": "SELLABLE_INVENTORY_SLUG",
"uniqueId": "",
"entityId": "",
"url": "",
"imageList": [
""
],
"videoList": [
""
],
"audioList": [
""
],
"descriptions": [
""
],
"multimedias": [
null
],
"metadata": "",
"previousUniqueIds": [
""
]
}

Bad Request

object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
}
}

Unauthorized

Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties

Forbidden

Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties

Internal Server Error

object
Example generated
{}