API для партнёров
Загружайте карточки из своей системы: те же карточки и та же проверка. Техническая документация ниже на английском. Ключ выдаётся в профиле
Authentication
Every request carries your key: Authorization: Bearer slp_.... Create it in your profile; it is shown once, and creating a new one replaces the old. Up to 120 requests a minute and 200 photos an hour per key. Answers are JSON: {"data": ...} or {"error": {"message": "...", "fields": {"path": "..."}}}.
Endpoints
GET /api/partner/v1/meYour account.GET /api/partner/v1/schemaThe fields of a card in every category, with the allowed values of each select.GET /api/partner/v1/cardsYour cards, newest first.POST /api/partner/v1/cardsA new draft: {"category": "cars", "listing": {...}, "partnerNote": "..."}.GET /api/partner/v1/cards/{id}One card.PUT /api/partner/v1/cards/{id}Replaces the card's fields: {"listing": {...}, "partnerNote": "..."}. The card becomes a draft again; an approved card stays on the site as approved until the next review.POST /api/partner/v1/cards/{id}/submitSends the card for review. Needs every required field and at least 3 photos.POST /api/partner/v1/cards/{id}/retractTakes the card back from review.POST /api/partner/v1/cards/{id}/unpublishTakes a live card off the site at once, for example when the car is sold.DELETE /api/partner/v1/cards/{id}Deletes a card that is not on the site.POST /api/partner/v1/photosUploads one photo (multipart, field "file"; JPEG, PNG or WebP up to 10 MB). Put the returned URL into listing.images; the first photo is the cover.
A card
A card has the shape of a listing on the site. Texts are objects by language, {"en": "...", "ru": "...", "th": "..."}; fill in at least one language. l10n-lines is one text per language with an item per line, l10n-list a list of texts per language. Prices are your prices for guests; our team checks them before a card goes live. Statuses: draft, pending (under review), changes (we asked for changes, see reviewNote), approved, rejected, withdrawn (taken off the site). A card answers with live: true while it is on the site.
curl -X POST https://siam-luxury.com/api/partner/v1/cards \
-H "Authorization: Bearer slp_..." \
-H "Content-Type: application/json" \
-d '{
"category": "cars",
"listing": {
"name": { "en": "Toyota Fortuner 2025" },
"category": "suv",
"price": 2500,
"currency": "THB",
"seats": 7,
"transmission": "Automatic",
"images": ["https://siam-luxury.com/uploads/....jpg"]
}
}'Fields by category
* required for review. Photos go in listing.images: at least 3, at most 20.
cars
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | supercar, sports-car, convertible, suv, sedan, electric, minivan, pickup |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| deposit | number | |
| year | number | |
| seats | number | |
| transmission | select | Automatic, Manual |
| fuel | select | Petrol, Diesel, Hybrid, Electric |
| specs.power | text | |
| specs.acceleration | text | |
| specs.topSpeed | text | |
| specs.engine | l10n-text | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines | |
| requirements | l10n-lines |
boats
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | luxury-yacht, catamaran, speedboat, sailing-yacht, jetski |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| duration | l10n-text | |
| location | l10n-text | |
| length | number | |
| capacity | number | |
| cabins | number | |
| crew | number | |
| year | number | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines |
properties
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | villa, condo, apartment, house, penthouse |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| type * | select | rent, buy |
| location | l10n-text | |
| price_nightly | number | |
| price_monthly_short | number | |
| price_monthly_long | number | |
| price_sale | number | |
| bedrooms | number | |
| bathrooms | number | |
| area | number | |
| guests | number | |
| beachDistance | number | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines |
bikes
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | superbike, sport, naked, cruiser, adventure, touring, scooter, maxi-scooter |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| deposit | number | |
| engine | number | |
| power | number | |
| year | number | |
| specs.weight | text | |
| specs.topSpeed | text | |
| specs.acceleration | text | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines | |
| requirements | l10n-lines |
aircraft
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | helicopter, private-jet, sightseeing, seaplane, charter, private-flight |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| priceUnit | select | flight, person |
| aircraftModel | text | |
| duration | l10n-text | |
| maxGroupSize | number | |
| location | l10n-text | |
| schedule | l10n-lines | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines |
tours
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | island-hopping, sightseeing, wildlife, adventure, cultural, gastronomy, cruise, water-sports, wellness, private |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| priceUnit | select | person, group |
| duration | l10n-text | |
| maxGroupSize | number | |
| location | l10n-text | |
| startLocation | l10n-text | |
| highlights | l10n-list | |
| schedule | l10n-lines | |
| included | l10n-lines | |
| notIncluded | l10n-lines |
services
| path | kind | values |
|---|---|---|
| name * | l10n-text | |
| category * | select | chef, nanny, driver, photographer, massage, event, other |
| price * | number | |
| currency | select | THB, USD, EUR, RUB |
| priceFrom | switch | |
| shortDescription | l10n-textarea | |
| description | l10n-textarea | |
| priceUnit | select | service, hour, day, person, event |
| duration | l10n-text | |
| maxGroupSize | number | |
| location | l10n-text | |
| features | l10n-list | |
| included | l10n-lines | |
| notIncluded | l10n-lines |