Takyon API
  • Takyon API integration
    • Get your API Key
    • Create / Update Booking [HOTEL]
    • Create / Update Booking [EXPERIENCE]
    • Create / Update Booking [TRIPS]
    • Create / Update Booking [RESTAURANT]
    • Retreive Booking Updates
  • Information script tag integration (optional)
    • Add the script to your website
  • Endpoints & Links
  • Need Help?
Powered by GitBook
On this page
  • Booking NFT Creation Request
  • Update an existent booking
  1. Takyon API integration

Create / Update Booking [TRIPS]

Booking NFT Creation Request

To make your first request, send an authenticated request to the endpoint. This will create a Booking NFT.

Take a look at how you might call this method using the technology of your choice:

const URI = "https://staging-api.takyon.io/v2"

const nftdata = 
{
  "collectionId": "ce2bb8e9-ffde-4138-bc3a-bb00b879e9ec", // or your internal ID
  "owner": "dora.explorer@gmail.com",
  "originalPrice": 599,
  "images": [
    "https://www.yourhosting.com/image.png",
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADHQA...",
  ],
  "lockDate": "2023-02-14T22:59:00.000Z",
  "guests": [
    {
      "firstName": "Dora",
      "secondName": "Explorer",
      "email": "dora.explorer@gmail.com"
    },
    {
      "firstName": "Indiana",
      "secondName": "Jones",
      "email": "indiana.jones@gmail.com"
    }
  ],
  "lang": "en",
  "webhook": "https://your-webhook.com/",
  "payload": {
    "type": "trips",
    "reference": "x123456",
    "category": "Surfcamp", // Snowcamp
    "startdate": "2023-02-14T23:00:00.000Z",
    "enddate": "2023-02-20T22:59:00.000Z",
    "participants": "number of participants",
  }
}

const apikey = "1fed1306-3645-42d0-97d5-a39afa3195fa";

(async () => {
  const rawRes = await fetch(URI + "/nft", {
    method: "post",
    headers: {
      "Content-Type": "application/json",
      API_KEY: apikey,
    },
    body: JSON.stringify(nftdata),
  });

  const res = await rawRes.json();

  console.log(JSON.stringify(res));
})();

To avoid saving the Takyon collection ID in your systems you can set a custom ALIAS in /account/developer.

PARAMETER
DESCRIPTION
TYPE
REQUIRED

collectionId

Id of the collection (takyon ID or the id from your database, you can set up your own ID from the Takyon Dashboard)

string

yes

owner

email of the first owner of the NFT

string

yes

originalPrice

price of the Booking

number

yes

images

List of images (links to your hosting or raw data of the image)

array of strings

no

lockDate

Lock date of the NFT (most likely 23:59 of the day before the checkin)

ISOdate as string

yes

guests

List of guests

array of guests (firstName, secondName, email)

no

lang

Language of customer

Enum: "en" or "it"

no

webhook

url string

no

payload.type

Type of the payload

"trips"

yes

payload.reference

Reference of the booking

string

yes

payload.category

Trip category

string

examples: "Surfcamp", "Snowcamp"

yes

payload.startdate

Trip starting date

ISOdate as string

yes

payload.enddate

Trip end date

ISOdate as string

yes

payload.participants

Amount of participants

number

yes

Keep note that the payload is customizable. We recommend using the structure provided in this example, but is possible to add information with custom keys or avoid some of the fields.

You might want to omit some of the fields of the payload (ex Experience Name, location, website,...), since this information will be customizable directly by the experience provider in the Takyon dashboard and automatically placed inside the NFT.

Update an existent booking

You can update a Booking NFT simply by calling the Create Endpoint and adding "id" as a parameter of the nftData. You'll get it in the response of the Create Endpoint, after the creation call, and you can store it in your systems. Alternatively, if you don't want to save the "_id" you can also use the same "payload.reference".

PreviousCreate / Update Booking [EXPERIENCE]NextCreate / Update Booking [RESTAURANT]

Last updated 7 months ago

Overrides the webhook endpoint set in the

Retreive Booking Updates