SkyWin API - use API calls with SkyWin One

Who this information is intended for

If you are interested in integrating with SkyWin® One.

API conventions

The API tries to comply with normal REST conventions. There are some exceptions (described in the API resources below).

Headers

  • Authorization - Basic Auth is used with user/password from SkyWin® One.
  • Content-Type - application/json, all information in the body should be in JSON
  • Accept - application/json

Permissions

The user being used for authentication in the API must be defined in SkyWin® One with the role API. Must be combined with role FINANCE for using the API to handle monetary transactions.

API resources

This section describes endpoints that have a deviation from the normal REST conventions, as well as some special use cases for a couple of endpoints

For a complete list of available resources and methods we refer to the status page of SkyWin® One, filter the results using the term "api/v1".


/api/v1/status Example response: /api/v1/status
Description

The response contains a lot of SkyWin One settings, including validatedDbVersion and validatedLicenseNumber which both should be "true".

This address can also be used for checking if services are up, use the method "HEAD". For this use case the authentication header is NOT needed.


/api/v1/members Example response: /api/v1/members/770
Description

The path to /api/v1/members/<id> will try to find a member having InternalNo = <id>. If no member is found it will also try to find a member with Member No = <id> or External member No = <id>.


/api/v1/checkin Response will be the same as for resource member
Description

Checkin can be used for simplifying the registration of new jumpers, and renewal of existing jumpers.
Accepts POST for new members and PUT for existing members.

The Checkin endpoint corresponds to these endpoints:

  • members
  • memberlicenses
  • memberinstructs
  • membercertificates
  • memberphones
  • trans

When updating an existing member the attributes firstName, lastName and nickName cannot be used.
For all POST/PUT requests the attribute verifiedLicense is set to false - to ensure that a SkyWin administrator always checks license validity manually.

Besides using all normal member attributes, with the exception of those mentioned above, these are the attributes for updating sub resources to Member:
phoneNo - example: "+46 8 123456"
amount - example: 200, can be complemented with paymentType
year - example: 2022
club - example: "ONE"
licenseType - example: "D"
instructorText - example: "HM HL T WARP" (zero to many types, add them with a SPACE as deparator)
certificateText - example: "TRCK TD" (zero to many types, add them with a SPACE as deparator)

Example of a POST
{
    "year": 2022,
    "club": "ONE",
    "licenseType": "D",
    "instructorText": "T WARP",
    "certificateText": "TRCK",
    "video": true,
    "postTown":"asas",
    "postCode": "12345",
    "countryCode": "US",
    "firstName": "Jesper",
    "externalMemberNo": "USA-123",
    "nationalityCode": "US",
    "lastName": "Examples",
    "weight":80,
    "phoneNo": "+001 77 123456789",
    "contactName": "My Mom",
    "contactPhone": "Phone home"
}
Example of a PUT
{
    "amount": 1200,
    "paymentType": "Credit card",
    "year": 2022,
    "club": "ONE",
    "licenseType": "C",
    "instructorText": "T WARP",
    "certificateText": "TD TRCK",
    "verifiedLicense": true
}

/api/v1/passengers Example response: /api/v1/passengers/1
Description

Optional query parameters fromDate and toDate can be used to get a list with passengers having JumpDate within those dates:
/api/v1/passengers?fromDate=2021-03-01&toDate=2021-07-01

Resource payment

The sub-resourceo payment responds on methods GET and POST to handle passenger payments.
/api/v1/passengers/4711/payment


/api/v1/trans Example response: /api/v1/trans/1002102/3
Description

Optional query parameter lastUpdated has the format of yyyy-MM-dd hh:mm:ss.SSS, and when used the response will only include transactions happened AFTER the timestamp specified, example:
/api/v1/trans/10504711?lastUpdated=2021-02-06 14:36:14.740


/api/v1/reports Example response: /api/v1/reports/member-email-addresses
Description
Path jumpLeague

The path can be used with or without query parameter jumpYear, example:
/api/v1/reports/jump-league?jumpYear=2021

Path paxReport

Optional path memberNo will restrict the report to that member, example:
/api/v1/reports/pax-report/770

Optional query parameters fromDate and toDate will restrict the result to a period, example:
/api/v1/reports/pax-report/770?fromDate=2022-01-01&toDate=2022-12-31

Path memberEmailAddresses

Optional query parameter infoViaEmail must have a value, true or false, example:
/api/v1/reports/member-email-addresses?infoViaEmail=true


/api/v1/skyview Example response: /api/v1/skyview
Description

Returns a collection of loads and jumpers for current date including only loads with status PLANNED or BOOKED, example:
/api/v1/skyview

Optional query parameter jumpDate can be used to retrieve data from another date (default is today) example:
/api/v1/skyview?jumpDate=2021-03-01

The query parameter tandem can be used to only get tandem jumps and it must have a value, true or false, example:
/api/v1/skyview?tandem=true

Query parameter includeAllStatuses can be used to get a list of all loads for a day regardless of their status, example:
/api/v1/skyview?includeAllStatuses=true


/api/v1/jump-queue Example response: /api/v1/jump-queue
Description

The response contains all groups and jumpers currently waiting in the jump queue, formerly known as SkyWish.