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.
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 tied 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.
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.
/trips/{trip_uuid}/availability
This endpoint retrieves the availability of a particular trip and all associated packages and options.
bookings/orders/{order_id}
This endpoint retrieves all associated booking data for a particular order.
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; Supplier Transfers; and top-ups.
/transactions
This endpoint retrieves a list of all transactions.
/transactions/{uuid}
This endpoint retrieves a particular transaction by transaction ID.
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.
Currently, our Suppliers API is able to retrieve the list of suppliers added by organizers on WeTravel. It can be used together with /transactions to retrieve information about supplier transfers.
/suppliers
This endpoint retrieves a list of all suppliers.
/suppliers/{supplier_id}
This endpoint retrieves a particular supplier by its unique ID.
Currently, our Leads API is able to retrieve all information submitted by prospects or customers who have engaged with you outside booking a trip such as downloading a brochure or submitting a question.
/lead
This endpoint retrieves a list of all leads.
/lead/{id}
This endpoint retrieves a particular lead by its unique ID.
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.
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.
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.
No, there are no fees associated with usage of our APIs. However, access is restricted to WeTravel Pro account holders.
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.
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.
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.