eVisa Guide
1. Retrieve eVisas and eTAs
In order to narrow down the list of products, the query params destinations and nationality can be used.
destinations - expects a comma separated list of alpha3 country codes e.g. ?destinations=AUS,TUR
nationality - expects a single alpha3 country code e.g. ?nationality=USA
In addition to the filters, the language of the product description, in particular product name and text description can be toggled between Englisch (en - default) and German (de).
Further language options will be introduced at a later point. e.g. ?language=de
By default, all prices are listed in USD which can be adjusted using the currency query param. Currently, a list of 171 currencies are supported with exchange rates being updated on a regular basis. e.g. ?currency=GBP
Get a full list of available products
curl -X GET \ 'https://submission-api.joinsherpa.io/v1/products?key=<<submissionApiKey>>' \ -H 'affiliateId: <<affiliateId>> \
The result set contains a list of products. Some products have price variations which is indicated with the hasVariants:true field. In this case, providing the nationality as a query param results in a more specific search and, if matched provides the detailed product description and price.
Get a list of available products for Turkish and Australian destinations
curl -X GET \ 'https://submission-api.joinsherpa.io/v1/products?key=<<submissionApiKey>>&destinations=AUS,TUR' \
-H 'affiliateId: <<affiliateId>> \
The result are two products, one for Australia (AUS_ETA) and one for Turkey (TUR_EVISA). However, Turkey has many variations of available visas, depending on the nationality. If the search is narrowed down further, e.g. with the nationality for Australia (AUS) the query will look like the following:
curl -X GET \
'https://submission-api.joinsherpa.io/v1/products?key=<<submissionApiKey>>&destinations=AUS,TUR&nationality=AUS' \
-H 'affiliateId: <<affiliateId>> \
The result is now, a single product. As an Australian, an eTA is not required and therefore can not be obtained. The remaining product for Turkey could be narrowed down and shows as a specific product with the id TUR_EVISA__60_90DAYS
. The price is now indicated with a specific value, rather than a min and max value.
Currency Support
The API supports several currencies. If a currency is provided in the request, all of the fees, including convenience fee & embassy fees will be converted to the appropriate value.
Display products in EUR
curl -X GET \ 'https://submission-api.joinsherpa.io/v1/products?key=<<submissionApiKey>>¤cy=EUR' \
-H 'affiliateId: <<affiliateId>> \
Localization
Product and visa details are available in several languages.
Show product descriptions in German
curl -X GET \ 'https://submission-api.joinsherpa.io/v1/products?key=<<submissionApiKey>>&language=de' \
-H 'affiliateId: <<affiliateId>> \
Retrieve a single product
curl -X GET \ 'https://submission-api.joinsherpa.io/v1/products/USA_ESTA?key=<<submissionApiKey>>' \
-H 'affiliateId: <<affiliateId>> \
Note: All previously mentioned parameters can be applied to a specific product as well
2. Create Order
Orders can be created by passing along a list of items (product ids and optionally application details). An unpaid order can be settled by invoking the pay endpoint for that specific order. At any given time, the status of an order can be viewed.
Create a new order for one traveller
curl -X POST \ 'https://submission-api.joinsherpa.io/v1/orders?key=<<submissionApiKey>>' \
-H 'affiliateId: <<affiliateId>> \
-d '{
"contactName": "John Smith",
"contactEmail": "[email protected]",
"items": [
{
"productId": "TUR_EVISA__60_90DAYS",
"programId": "TUR_EVISA",
"applicationData": {}
}
]
}'
This results in an order with a status of CREATED
and a paymentStatus UNPAID
3. Pay for the Order
To settle a payment, the sherpa gateway with the method bill can be used along with a payment transaction. This identifier should allow to uniquely identify the payment transaction in case of a dispute or support inquiry.
curl -X POST \ 'https://submission-api.joinsherpa.io/v1/orders/:orderId/pay?key=<<submissionApiKey>>' \
-H 'affiliateid: <<affiliateId>> \
-d '{
"payment": "your-transaction-id",
"method": "bill",
"gateway": "sherpa"
}'
4. Retrieve Order
Get Order Details
curl -X GET \
'https://submission-api.joinsherpa.io/v1/orders/:orderId?key=<<submissionApiKey>>' \
-H 'affiliateid: <<affiliateId>>
Updated over 2 years ago