Data Manager, previously known as Data Upload, is WMDA's enhanced platform designed for efficient and secure data management within the global donor registry network. Renamed in early 2024, the platform's name change reflects its expanded functionality beyond simple data uploads, accommodating a growing range of data-related features.
Data Manager supports both manual and automatic data uploads, allowing registries to list donor information in the Search & Match Service. Manual uploads involve uploading encrypted XML files, while automatic uploads utilize a REST API for seamless integration between systems. Though XML is currently the primary format, support for JSON files is forthcoming, with notifications to be provided when this becomes available.
Once data is uploaded and processed, it becomes accessible to search coordinators and transplant physicians through the Search & Match Service, and is also integrated into the Match-Connect service. For those using the API, technical support is readily available to ensure smooth operation and understanding.
Data Manager is designed to meet the evolving needs of donor registries, offering robust and real-time data processing capabilities that ensure accurate and up-to-date information is always available. For more information and support, you can contact us directly by emailing support@wmda.info
This document describes the mechanism via the REST API method using curl commands. You can use what programming language you are familiar with to implement the API usage.
If you are not an API user yet, and plan to automate your file handling process. Then please request an API credential from WMDA support team to email support@wmda.info. And please follow steps below:
For migration from legacy Data Upload system to Data Manager, if you are already an API user for legacy Data Upload system, then you need only take action of step 3 , WMDA will send out email to notify about the credential for Bear Token. |
Guide to generate PGP/GPG key:
After install Kleppatra, follow steps below:
|
Data Manager uses Bear Token for the authorization as all WMDA API services, please follow user guide for API authentication to implement https://share.wmda.info/x/8I7RFw.
WMDA API credential is only available for one year currently. If your credential is expired, please send to WMDA support team to request a new one.
Currently, WMDA is implementing a new feature to let API user to request a new credential by themselves before the credential expires, we will send announcement when this feature is available.
To get more knowledge for usage of curl, we recommend member to read the doc for curl https://ec.haxx.se/usingcurl-netrc.html.
Data Manager API specification is in the swagger doc: https://apispecs.wmda.info/?urls.primaryName=Data%20Manager%20Data%20Exchange%20API
Below is an example to guide how to list ion(s) that you have access:
Step 1: Set up the credential by following the instruction above in the "Implementation of Generating Bear Token"
Step 2: Test to use the API in WMDA Data Manager sandbox.
Below is an example to guide how to get the information to upload a file:
URL | |
---|---|
SERVER URL | Sandbox system: https://sandbox-datamanager-api.wmda.info Production system: https://datamanager-api.wmda.info (Only process the file after get clean notification from WMDA) |
URI | /api/v1/ions/list |
METHOD | POST |
Full URL path example | https://sandbox-datamanager-api.wmda.info/api/v1/ions/list |
Request body | no request body needed |
HEADER | Authorization and Content-Type are required, the other ones are optional |
Authorization | Bear Token |
Content-Type | application/json |
Step 3:
Run curl call as below to get the ion(s) you have access. You may get one or multiple ions based on your access permission.
"-i" option can be used to check the details of the communication if something go wrong.
curl -i 'https://sandbox-datamanager-api.wmda.info/api/v1/ions/list' \ --header 'Authorization: Bearer ••••••' \ --header 'Content-Type: application/json' |
For windows user, please use double quote instead single quote for the reqest:
curl -i "https://sandbox-datamanager-api.wmda.info/api/v1/ions/list" \ --header "Authorization: Bearer ••••••" \ --header "Content-Type: application/json" |
Below is a suggestion for curl call based on the Data Manager swagger doc to upload a file for an ION.
curl 'https://sandbox-datamanager-api.wmda.info/api/v1/files/upload' \ --header 'Authorization: Bearer ••••••' \ --header 'Content-Type: multipart/form-data' \ --form 'file=@/path/to/file/ION-0999-D.gpg' \ --form 'ion="9999"' \ --form 'folder="upload"' |
Something to be aware of for windows based cmd:
curl "https://sandbox-datamanager-api.wmda.info/api/v1/files/upload" --header "Authorization: Bearer ••••••" --header "Content-Type: multipart/form-data" --form "file=@C:/path/to/file/ION-0999-D.gpg" --form "ion=\"9999\"" --form "folder=\"upload\"" |
Download reports
You may use the API to fetch your reports . And 2 steps are needed.
For windows based cmd syntax, please see the example in the "Upload" part.
1.Fetch the files list and get the file names.
Use the file list API to fetch an array of file list for the folder "report":
curl https://sandbox-datamanager-api.wmda.info/api/v1/files/list \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••' \ --data '{ "ion": 9999, "folder": "report" }' |
2. Fetch all the reports or the one you need.
Use the file download API to download the file you needed. You can only download one file a time.
curl https://sandbox-datamanager-api.wmda.info/api/v1/files/download \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••' \ --data '{ "ion": 9999, "folder": "report", "fileName": "<filename>.txt" }' \ --output <filename>.txt |
For those registries that are permitted to use the full dataset the statement below will fetch that. You can download the file in the folder "download"
curl https://sandbox-datamanager-api.wmda.info/api/v1/files/download \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••' \ --data '{ "ion": 9999, "folder": "download", "fileName": "wmda_data_v22.zip.gpg" } \ --output wmda_data_v22.zip.gpg |
Q: I get 401 error when using endpoint?
A: This means you do not have access to the endpoint or you did no provide the token correctly. Please double check whether you have extra space or miss space for the parameter "Authorization: Bearer <token>". And if you confirm that and still get 401, please contact support@wmda.info.
Q: I see 403 error for endpoint upload/download, what is next step?
A: If you can call the endpoint of ions/list, and then get 403 error for upload/download, most possible is because the request body is invalid. Please double check whether any single or double quote or options are wrongly used.