Meet WeTravel's Public APIs

Streamline workflows when running your business across multiple software applications.

Overview

Many WeTravel clients use software systems such as CRMs, tour ERPs, custom databases, proposal builders, or accounting programs. Our APIs automate data exchange between any number of these programs and WeTravel; use it to send data to or retrieve data from our platform.

Curious about what this means in practice? Take a tour of our APIs in action by clicking 'play' on the video at right. 

Functionality

Trip Builder API

Currently, our Trip Builder API provides a variety of endpoints, beginning with Trips - /draft_trips, which allows users to create a draft trip on WeTravel. The following endpoints are all tight to a trip object that’s created at this stage.

Paragraphs - /draft_trips/{trip_uuid}/paragraphs

This endpoint allows users to add, list, update, and remove custom paragraphs to/from their trip description to make it readable. Each paragraph object requires a title and a text which can include some allowed HTML tags such as <p>, <b>, <i>, <strong>, <a> for better formatting.

Included items - /draft_trips/{trip_uuid}/included_items

This endpoint allows users to add, list, update, and remove items that are included in the trip. Each object requires a title.

Not included items - /draft_trips/{trip_uuid}/not_included_items

This endpoint allows users to add, list, update, and remove items that are not included in the trip. Each object requires a title.

Itineraries - /draft_trips/{trip_uuid}/itineraries

This endpoint allows users to add, list, update, and remove itineraries to/from their trip. Each itinerary object requires a title, name, and a photo URL.

Images - /draft_trips/{trip_uuid}/images

This endpoint allows users to add, list, update, and remove additional images that would help participants to be inspired to/from their trip. Each image object requires a photo URL.

Packages - /draft_trips/{trip_uuid}/packages

Trips can have multiple packages for providing granular pricing for the participants. This endpoint allows users to add, list, update, and remove custom packages to/from their trip. Each package object requires a name, price and a description which can include some allowed HTML tags such as <p>, <b>, <i>, <strong>, <a> for better formatting.

Options - /draft_trips/{trip_uuid}/options

Trips can have multiple add-on options for enabling upselling during the check-out process. This endpoint allows users to add, list, update, and remove add-on options to/from their trip. Each option object requires a name and a price.

Discounts - /draft_trips/{trip_uuid}/discounts

Trips can have multiple discount codes for providing percentage or absolute amount discounts during the checkout process. This endpoint allows users to add, list, update, and remove discount codes to/from their trip. Each discount object requires a code and an amount and a discount type (percentage or amount).

Surveys - /draft_trips/{trip_uuid}/surveys

Trips can have a series of questions for requesting information from participants. This endpoint allows users to add, list, update, and remove these questions from their trip. Each survey object requires question text and type (text answers, checkboxes, multiple choice questions, date, or file uploads).

Payment Plans - /draft_trips/{trip_uuid}/packages/{package_id}/payment_plans

Trips can have payment plans enabled for any of their packages. This endpoint allows users to add, list, update, and remove these payment plans from their trip’s packages. Each payment plan object requires a package ID, price, and number of days before departure.

Booking API

Currently, our Booking API is able to retrieve data from WeTravel related to bookings (orders) made on the platform.

/trips/{trip_uuid}/bookings

This endpoint retrieves a list of orders and all associated booking data for a particular trip.

/trips/{trip_uuid}/bookings/{buyer_id}

This endpoint retrieves a list of trip orders and all associated booking data for a particular buyer.

bookings/orders/{order_id}

This endpoint retrieves all associated booking data for a particular order.

Transactions API

Currently, our Transaction API is able to retrieve data from WeTravel related to transactions occurring on the platform, including payments processed, refunded or disputed; disputes; refunds; adjustments; payouts; card transfers; vendor transfers; and top-ups.

/transactions

This endpoint retrieves a list of all transactions.

/transactions/{uuid}

This endpoint retrieves a particular transaction by transaction ID.

Payments API

Currently, our Payments API is able to retrieve data from WeTravel related to payments occurring on the platform.

/payments

This endpoint retrieves a list of all payments.

/payments/{uuid}

This endpoint retrieves a particular payment by payment ID. 

What's Next

Passionate about your business? Interested in helping us build a product that will better serve your needs?

Join the WeTravel Innovation Council and be a part of the conversation about the problems we're solving and the solutions we're testing, including but not limited to the continued build-out of our APIs. 

Submit this form with your contact details, and we'll follow up with next steps!

How To Get Started

Access to WeTravel’s public APIs requires a token, or a unique identifier that a website or software program uses to access your WeTravel booking data.

This can be accessed from your profile; navigate there and scroll down to "Public API Integration."

Then, click "Generate API" to get an API refresh token. Store your token in a safe place since it won't be visible in your WeTravel account.

 

Profile dropdown
API integration section in profile

The token you generate is not able to directly call the API, but can be used to retrieve the "access token". The access token will be used to call the API.

The refresh token can be used an unlimited number of times to generate an access token. For additional information, check out our public API documentation.

FAQ

Which businesses might benefit from use of WeTravel's APIs?

Our APIs may be helpful to businesses that employ tour operator software systems to manage their inventory. For example, when an employee at one of these companies creates a client proposal, WeTravel's Trip Builder API can create a trip instantly based on tour ERP data. After the client booking is made, the Bookings, Transactions, and Payments APIs can then send data back to the ERP system.

Our APIs may also benefit marketplaces that work with a variety of travel companies and would like a cohesive booking system to support these relationships. These types of marketplaces might also leverage the ability to create instant proposals for customers based on database inventory.

Outside of these specific use cases, WeTravel's APIs are a great fit for any travel companies that would like to automate the creation of trip pages, manage inventory of add-on options across different trip offerings, collate large volumes of booking data to inform marketing strategy, or simply facilitate efficient workflows among different software programs.

Are there any fees associated with using WeTravel's APIs?

No, there are no fees associated with usage of our APIs. However, access is restricted to WeTravel Pro account holders.

How is this different from WeTravel's Zapier integration?

Zapier is a product that allows end users to integrate the web applications they use and automate workflows. It is an "off-the-shelf" solution for workflow automation.

Zapier does not require developer assistance to implement; however, it is limited in terms of the systems you can connect and triggers you can set.

How can I figure out if WeTravel's APIs are compatible with my systems?

Our APIs are built for maximum compatibility with both commercially available and custom software programs used by travel companies worldwide. A developer can confirm compatibility in just a few minutes by reviewing our API documentation

How can I set up webhooks for WeTravel's APIs?

After you have authenticated API Key, you will see a new section in your profile titled "Webhooks" (right below the "Public API Integration").

Set the toggle to "Yes" in order to enable webhooks, then click the "Manage Webhooks" button, which will direct you to a new tab on your browser - a Svix dashboard. This is where you will be able to manage the webhooks.

The current functionality of our webhooks is detailed here.

Do you have a sandbox environment?

Yes, we have a staging environment, please contact us at info@wetravel.com to receive access.