If you'd like to transfer data from Slate to WebAdMIT, you can do so using the Slate to WebAdMIT data migration process. This process uses a Python script to move data from Slate to custom fields in WebAdMIT.
This works by following these steps:
Using this process, you can transfer data like:
For guidance on migrating decision codes, see Migrating Decision from Slate to WebAdMIT.
To set up this migration process, you'll need to have the following in place:
Configured export fields. The fields needed for the export in Slate should be configured in production and, optionally, Slate Test.
Configured custom fields. WebAdMIT's custom fields should also be built in the prelaunch and production evironments.
Identify the fields you want to migrate from Slate to WebAdMIT. Then, create custom fields in WebAdMIT that will be the destination for this data.
To access the WebAdMIT API, you need a user account in WebAdMIT that is in the WebAdMIT Administrators Work Group and can access data for all departments and programs. You should have an account in the prelaunch and production environments. Once that is in place, complete the following steps in both environments:
You can retrieve your User Identity ID in two different ways, either with or without Postman.
To use Postman to retrieve your User Identity ID, follow these steps:





To retrieve your User Identity ID without using Postman, follow these steps:
$ curl -n https://api.webadmit.org/api/v1/user_identities \ -H "x-api-key: <ENTER YOUR API KEY>"
$ curl -n https://prelaunch.webadmit.org/api/v1/user_identities \ -H "x-api-key: <ENTER YOUR API KEY>"
{
"href": "/api/v1/user_identities",
"user_identities": [
{
"id": 42,
"type": "Admissions User",
"association": "SOPHAS",
"institution": "Demo University",
"organization": "Demo University School of Public Health",
"cycle": "2014 - 2015"
}
]
}
To create the export in Slate, you'll need the IDs corresponding to your custom fields. You can retrieve these IDs in several ways, as outlined below.
You can retrieve the the custom field IDs in WebAdMIT either with or without using Postman.
To use Postman to retrieve the custom field IDs, follow these steps:



To retrieve the custom field IDs without Postman, proceed as follows. Note that the examples below are for WebAdMIT production. To make this code viable for prelaunch, use https://prelaunch.webadmit.org as your base URL.
$ curl -n https://api.webadmit.org/api/v1/user_identities/:<ENTER USER_IDENTITY_ID>/programs/ -H "x-api-key: <ENTER YOUR API KEY>"
$ curl -n https://api.webadmit.org/api/v1/user_identities/:<ENTER USER_IDENTITY_ID>/programs/:<ENTER PROGRAM_ID>/custom_fields \ -H "x-api-key: <ENTER YOUR API KEY>"
{
"href": "/api/v1/user_identities/1/programs/42023191739237/custom_fields",
"custom_fields": [
{
"id": 4,
"label": "Preferred house",
"field_type": "select",
"options": [
"Gryffindor",
"Hufflepuff",
"Ravenclaw",
"Slytherin"
]
}
]
}


Note that custom field IDs are different between prelaunch and production, so you'll need to complete this process for each environment as needed.
We recommend that you create a data mapping document for each cycle to capture the WebAdMIT Custom Field Label, Custom Field IDs, and Custom Field Data Types, as seen in the example below.
|
WebAdMIT Field Label |
WebAdMIT Field Type |
WebAdMIT Field ID (Prelaunch) |
WebAdMIT Field ID (Production) |
|---|---|---|---|
| Student ID | Numeric | 2271421 | 2571462 |
| Enrollment Deposit Received | Date | 2117817 | 2581764 |
| Campus Visit | Yes/No Value | 2118714 | 2297871 |
| Scholarship/Financial Aid Information | Text Value | 2714171 | 2237848 |
| School Email Address | Text Value | 2178171 | 2267413 |
| Interview Status | Select From List | 2281917 | 2246458 |
To set things up in Slate:




|
WebAdMIT Field Label |
WebAdMIT Field Type |
WebAdMIT Field ID (Prelaunch) |
WebAdMIT Field ID (Production) |
Slate Fields |
|---|---|---|---|---|
| Student ID | Numeric | 2271421 | 2571462 | Student ID |
| Enrollment Deposit Received | Date | 2117817 | 2581764 | Enrollment Deposit Date |
| Campus Visit | Yes/No Value | 2118714 | 2297871 | Campus Visit |
| Scholarship/Financial Aid Information | Text Value | 2714171 | 2237848 | Scholarship Financial Aid Information |
| School Email Address | Text Value | 2178171 | 2267413 | School Email |
| Interview Status | Select From List | 2281917 | 2246458 | Interview Status |
You'll need to install Python on the server that will be hosting the script. To do so:



To test that your Python installation was successful and added successfully to your PATH variables, run Command Prompt as an administrator, type python, and hit enter:

Next, you'll need to create a Python executable that will run the script. To do so:
pip install pyinstaller
pip install pyinstaller command.pip install requests and ensure the requests module gets installed correctly. pyinstaller --onefile main.py and press enter.The following should be completed for Slate to prelaunch WebAdMIT:
To keep the script running indefinitely, the following steps are required to set up the Python executable as a windows service. For this purpose, you'll need to install a tool called NSSM (Non-Sucking Service Manager).
nssm install "SlateToWebAdMIT" "PathTo\SlateToWebAdMIT\dist\main.exe" "PathTo\SlateToWebAdMIT\main.py"nssm remove “SlateToWebAdMIT”To maintain this process from cycle to cycle, complete these steps: