Overview
The White Label API service provides you with much more flexibility over the White Label Embed service,
with the goal being that your visitors have no idea that your website or application is not providing the service.
However, it requires coding skills, and it requires you to have your own database of customers.
Our White Label API is a stripped-down version of our legal document creation services.
All surrounding logos, graphics, navigation buttons and links that take the user away from each service have been removed.
This allows you to embed our legal document creation services within your own branded website or application, making it
appear as if these services are being provided by you.
Furthermore, you set your own pricing for all of these legal document creation services, and handle all payments
from your customers yourself. (This is in contrast to the White Label Embed service, where we set the pricing,
handle all payments, and all you can do is provide an optional discount to your customers and obtain a commission.)
Here's how it works:
- You either allow users to register on your website, or you have existing users in your database.
The important thing is that you already know their: First Name, Last Name, Email Address, and Country.
- The user clicks on a link or button within your website or application, with the intention of accessing
a specific legal document creation service, such as "mywill" (Last Will and Testament),
"mypowerofattorney" (Power Of Attorney), etc..
- If this is the first time this user is accessing any of the services, then you must send a
create_user
API command to create a new user account in our database.
- If this is not a new user, then you should send a
validate_login
API command to check if any errors will be encountered if you try to
login this user. This allows you to deal with any potential errors within your own code, instead of having the
user see an error message on our website.
- An embedded frame or web browser is launched by you, which sends a
login
API command and takes the
user to the following URL using POST:
https://legalwills.services/whitelabel.
- The user is presented with a menu of options associated with the specific legal document creation service
they wanted to access. This is provided by our website, and does not require any coding by you.
- The user can create, modify, view, download, and delete the specific legal document. This is provided by our website, and does not require any coding by you.
- If the legal document creation service being accessed has not been paid for, then the user can still create/modify
the entire document, but they can only view/download the first page of the document. This is provided by our website, and does not require any coding by you.
- You might want to implement some way for the user to close or navigate away from the embedded frame/browser and
get back to your website or application. It is up to you to figure out what works best for your solution.
- You must provide a way for the user to pay for one or more of the legal document creation services. This could be as simple as a PayPal "Buy Now" button.
You set your own prices and take your own payments from users.
- When the user pays for specific legal document creation services, you send a
modify_user
API command to enable
these services within their account. Note that this can also be done within the create_user
API command.
In order to use the White Label API, you must store certain user information within your own database and provide a
front end implementation for accessing our legal document creation services.
- At minimum, you must store each user's UserID and Password for accessing our services.
These values are required in order to use the
login
API command.
In practice, you will probably also want to store their First Name, Last Name, Email Address, and Country.
These values are required in order to use the create_user
API command to create a new user account in our database.
- Since the White Label API only allows the user to access a specific service at a time, the user cannot
navigate to any kind of an "account status" page on our website. As a result, we recommend that
you take it upon yourself to indicate to each user what services they have enabled, their current membership length, etc.
This requires you to keep track of these items in your own database.
- If you are allowing your users to access more than one of our legal document creation services, then you should also provide
some kind of menu or list of services from which your user can select which service to access.
When they select a service, that is where our White Label API takes over.
Since the whole point of this API is that the user has no idea that they are being handled by the
ExpatLegalWills.com
website, you must handle all payments
and emails/communication with the users of these legal document creation services.
Customer support for these services can be
handled by the
ExpatLegalWills.com
support team, but you may want
to remain as the primary contact, sending any such support requests to us for handling as required. Furthermore, your users
must agree to the
ExpatLegalWills.com
Terms of Use (which you could
simply embed within your own Terms of Use) before accessing our services.
The details of these arrangements are specified in your services agreement.
Using links provided below, you can obtain a list of all users that you have created, indicating the associated legal
document creation services that you have enabled within their accounts and the length of their memberships.
You are responsible for providing payment to PartingWishes Inc. for all such enabled services and membership lengths,
as outlined in your services agreement contract.
Sample VB.NET Code
Sending data using POST and reading the response data can be done in any popular coding language.
Below is some sample VB.NET code for achieving this purpose.
When sending the POST, remember to URL-encode each value in the name-value pairs.
Dim strNVP As String = "CMD=create_user" + _
"&AFFILIATE_ID=123456789" + _
"&AFFILIATE_SIGNATURE=Z9SFMNM5V9BYTWPRBOJK" + _
"&USERID=" + Server.UrlEncode("janedoe") + _
"&PASSWORD=" + Server.UrlEncode("abc123") + _
"&FIRST_NAME=" + Server.UrlEncode("Jane") + _
"&LAST_NAME=" + Server.UrlEncode("Doe") + _
"&EMAIL=" + Server.UrlEncode("[email protected]") + _
"&COUNTRY=" + Server.UrlEncode("Canada") + _
"&ADDRESS_LINE1=" + Server.UrlEncode("123 Main Street") + _
"&ADDRESS_LINE2=" + Server.UrlEncode("Suite 400") + _
"&CITY=" + Server.UrlEncode("Toronto") + _
"&STATEPROV=" + Server.UrlEncode("Ontario") + _
"&POSTALCODE=" + Server.UrlEncode("M5P 3X9") + _
"&GENDER=" + Server.UrlEncode("F") + _
"&MYWILL=" + Server.UrlEncode("Y") + _
"&MEM_YEARS=" + Server.UrlEncode("5") + _
"&TEST_USER=" + Server.UrlEncode("Y")
'Create web request and web response objects
Dim hwrWebRequest As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create("https://legalwills.services/whitelabel"), System.Net.HttpWebRequest)
hwrWebRequest.Method = "POST"
hwrWebRequest.ContentType = "application/x-www-form-urlencoded"
Dim requestWriter As New System.IO.StreamWriter(hwrWebRequest.GetRequestStream())
'Send the web request
requestWriter.Write(strNVP)
requestWriter.Close()
'Get the response
Dim hwrWebResponse As System.Net.HttpWebResponse = DirectCast(hwrWebRequest.GetResponse(), System.Net.HttpWebResponse)
Dim responseReader As New System.IO.StreamReader(hwrWebRequest.GetResponse().GetResponseStream())
'Read the response
Dim strResponseData As String = responseReader.ReadToEnd()
responseReader.Close()
hwrWebResponse.Close()
'URL-decode the response
Dim strResultCode As String = Server.UrlDecode(strResponseData)
'Handle any errors
If strResultCode <> "OK" Then
...
End If
Sample HTML Code
To allow a user to access the White Label version of a particular legal document creation service, simply send your user to
https://legalwills.services/whitelabel using POST,
and specify the login
API command. To avoid exposing our
https://legalwills.services/whitelabel
URL to your visitors, we recommend that the POST be sent to an embedded iframe on your website, instead of to a new web browser window.
<form id="form1" action="https://legalwills.services/whitelabel" method="POST" target="iframe1">
<input type="hidden" name="CMD" value="login" />
<input type="hidden" name="AFFILIATE_ID" value="123456789" />
<input type="hidden" name="USERID" value="9BHpRteLnjHl4KikmJwvVfPPZeOy1vSc3yauTjJT_3Edk5jT8CYQxZF3BxaZuuerxvzmYxZa5aDVaWM2DuU_7ayJoVGtswf7_VfvvG2XqO41" />
<input type="hidden" name="PASSWORD" value="ARVC2MS_roiFasiiZNQZQMWwrcrN9jMje9GpjLpPWwAtHgoLVy7mz9Dtfjos48QiY8lAokUWeuvAQZuyicxpQf09dvlWxp58imKx4gZUCns1" />
<input type="hidden" name="SERVICE_NAME" value="mywill" />
</form>
<iframe name="iframe1" id="iframe1" src="https://legalwills.services/whitelabel" width="100%" height="1000"></iframe>
<script type="text/javascript">
document.forms['form1'].submit();
</script>
Demo Website
We have created a fully functional website that uses the White Label API to provide online estate planning services:
FinalWills.com. Feel free to try it out!
We are even providing you with the full source code for this demo website. This allows you to examine all aspects of
the code, should you have any questions about how to make use of the White Label API. Be sure to read the README.txt file
for important information about understanding the code.
This demo website is implemented using ASP.NET Web Forms and VB.NET. It is for demonstration purposes only,
showing how easy it is to make use of the White Label API within an existing website. Of course, this source code can
be modified by you to use any web server technology and programming language.
Adding the "Online Estate Planning" section (which uses the White Label API) to this existing website took 1
developer less than 2 weeks of effort.
API Reference
The https://legalwills.services/whitelabel
URL accepts the below name-value pairs in the POST. If any name-value pairs are sent that are not part of the
API command, they will simply be ignored. All values should be URL-encoded so that any special
characters are transmitted properly. An HTTP form is automatically URL-encoded by most browsers.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to create_user . This value is case-insensitive.
This command indicates that you want to create new account in the
ExpatLegalWills.com
database.
No user interface will be presented. Only a single Result Code will be returned. If the
user already exists, then nothing will happen, but you will receive an appropriate Result Code.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
AFFILIATE_SIGNATURE |
(Required) Your current White Label API affiliate signature is
not yet assigned since your affiliate account is not set up to use the White Label API.
You can change this at any time by clicking the "Regenerate Signature" button above.
It represents the credentials for validating you as the owner of this affiliate account. This value is case-sensitive.
Always keep this information stored in a secure location.
|
USERID |
(Required) The UserID for the new user account being created.
You need to generate this UserID for any of your users that require access, and store these UserID's in your own database
so that they can be used when logging in a user. All of your UserID's must be unique, since this is how you refer to
a specific user with the White Label API. Note that once an account has been created, the UserID cannot be changed.
Each UserID must be 5 to 50 characters in length and can only contain letters, numbers and underscore.
UserID's are case-insensitive.
[NOTE: The USERID and PASSWORD used in the White Label API are completely independent
of any UserID and Password you might require the user enter to allow them to login to their account. The White Label API
USERID and PASSWORD are only used for accessing the user's account within our database, not yours.
The user will never see the White Label API USERID and PASSWORD within any of our White Label services.]
|
PASSWORD |
(Required) The Password for the new user account being created.
You need to generate this Password for any of your users that require access, and store these Passwords in your own database
so that they can be used when logging in a user. Each Password must be 5 to 64 characters in length.
Passwords are case-insensitive.
[NOTE: The USERID and PASSWORD used in the White Label API are completely independent
of any UserID and Password you might require the user enter to allow them to login to their account. The White Label API
USERID and PASSWORD are only used for accessing the user's account within our database, not yours.
The user will never see the White Label API USERID and PASSWORD within any of our White Label services.]
|
FIRST_NAME |
(Required)
The user's first name. Must be between 1 and 64 characters in length.
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
can only be changed
2
times.
|
LAST_NAME |
(Required)
The user's last name. Must be between 1 and 64 characters in length.
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
can only be changed
2
times.
|
EMAIL |
(Required)
The user's email address. Must be between 1 and 64 characters in length.
Must contain both "@ " (at) and ". " (period),
and must not contain ", " (comma) "; " (semicolon) or " " (space).
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
|
COUNTRY |
(Required)
Name of the user's home Country. Maximum 64 characters. The only countries that are currently supported for
creating valid legal documents are: Canada , United States , South Africa ,
United Kingdom - England , and United Kingdom - Wales ,
so these are the only values that will be accepted. These values are case-sensitive.
This value is important to ensure that the legal documents created conform to the user's local jurisdiction,
and also for determining the cost and currency of any enabled services.
The user can make changes to this field themselves, within any legal document creation service.
|
ADDRESS_LINE1 |
(Optional)
The user's home street address. Maximum 128 characters.
The user can make changes to this field themselves, within any legal document creation service.
|
ADDRESS_LINE2 |
(Optional)
Second line of the user's home street address, if required. Maximum 128 characters.
The user can make changes to this field themselves, within any legal document creation service.
|
CITY |
(Optional)
Name of the user's home city or town. Maximum 64 characters.
The user can make changes to this field themselves, within any legal document creation service.
|
STATEPROV |
(Optional)
Name of the user's home State, Province, or County. Maximum 64 characters. The only valid values that will be accepted
are listed as the "Name" values in the
states_all.xml file.
These values are case-sensitive. This value is important to ensure that the legal documents created conform to the user's local jurisdiction.
Note that the State of "Louisiana" will be accepted as a valid value,
however it is not currently supported for creating legal documents.
The user can make changes to this field themselves, within any legal document creation service.
|
POSTALCODE |
(Optional)
The user's home Zip or Postal Code. Maximum 32 characters.
The user can make changes to this field themselves, within any legal document creation service.
|
GENDER |
(Optional)
The user's gender. Valid values are: M (Male), F (Female) and X (Gender neutral). These values are case-insensitive.
The gender is required for the readability of the legal document creation services and for the construction
of the final documents. Knowing the gender allows us to use the correct pronoun
(i.e. "he" or "she" or "they", "his" or "her" or "their").
The user can make changes to this field themselves, within any legal document creation service.
|
MYWILL |
(Optional)
Has the user paid you for the "MyWill" service (Last Will and Testament)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYPOWEROFATTORNEY |
(Optional)
Has the user paid you for the "MyPowerOfAttorney" service (Power of Attorney)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYLIVINGWILL |
(Optional)
Has the user paid you for the "MyLivingWill" service (Living Will / Power of Attorney for Health Care)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYEXPATWILL_CANADA |
(Optional)
Has the user paid you for the "MyExpatWill (Canada)" service (Expatriate Will for Assets Held in Canada)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYEXPATWILL_QUEBEC |
(Optional)
Has the user paid you for the "MyExpatWill (Québec)" service (Expatriate Will for Assets Held in Québec)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYEXPATWILL_US |
(Optional)
Has the user paid you for the "MyExpatWill (U.S.)" service (Expatriate Will for Assets Held in the United States)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYEXPATWILL_UK |
(Optional)
Has the user paid you for the "MyExpatWill (U.K.)" service (Expatriate Will for Assets Held in the United Kingdom - England or Wales)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYLIFELOCKER |
(Optional)
Has the user paid you for the "MyLifeLocker" service (Store personal information critical to be passed on to an Executor)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MYFUNERAL |
(Optional)
Has the user paid you for the "MyFuneral" service (Document your funeral wishes and organ donation preferences)?
Valid values are: Y and N . The default is N . These values are case-insensitive.
-
Y indicates that the user has paid you for this service, so we will enable the service within their account.
-
N indicates that the user has not paid you for this service, so the user is only able to try out the service.
The user can still create/modify their entire document, but they can only view/download the first page.
|
MEM_YEARS |
(Optional) The number of years that this user has paid to be able to access
all of their legal document creation services. This value is independent of what actual services have been paid for, if any.
Valid values are integers:
-
1 , 5 , 10 , or 25 =
Number of years before the given user's membership expires, as calculated from
their membership start date (the day their membership was created, or the day that they paid for their first service,
whichever is later).
-
-1 = Lifetime membership (never expires).
If this name-value pair is omitted, then the default is 1 year.
(Note that a user with an expired membership will still be able to access all of their services. The only impact is that
if they previously paid for a service, they will only be able to view the first page of the document. They will need
to add 1 or more MEM_YEARS before they can resume viewing/downloading the entire document.)
|
TEST_USER |
(Optional)
Is this user account being created for development testing purposes only? Valid values are: Y and N .
These values are case-insensitive. If this name-value pair is omitted, then the default is N .
A test user works the same as a live user, except that you will not be liable for payment for enabling services
in a test user account. Test users can be modified and deleted by you in the User Database section, below.
|
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to modify_user . This value is case-insensitive.
This command indicates that you want to modify an existing account in the
ExpatLegalWills.com
database.
No user interface will be presented. Only a single Result Code will be returned.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
AFFILIATE_SIGNATURE |
(Required) Your current White Label API affiliate signature is
not yet assigned since your affiliate account is not set up to use the White Label API.
You can change this at any time by clicking the "Regenerate Signature" button above.
It represents the credentials for validating you as the owner of this affiliate account. This value is case-sensitive.
Always keep this information stored in a secure location.
|
USERID |
(Required) The UserID for the user account you wish to modify.
The UserID cannot be changed.
|
PASSWORD |
(Optional)
The new Password for this user account. Keep in mind that you need to maintain this Password in your own database
so that it can be used when logging in this user. Each Password must be 5 to 64 characters in length. Passwords are case-insensitive.
The user will never see this Password within any of our White Label services.
If this name-value pair is omitted, then the Password will not be changed.
|
FIRST_NAME |
(Optional)
The new value for this user's first name. Must be between 1 and 64 characters in length.
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
can only be changed
2
times.
If this name-value pair is omitted, then the first name will not be changed.
|
LAST_NAME |
(Optional)
The new value for this user's last name. Must be between 1 and 64 characters in length.
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
can only be changed
2
times.
If this name-value pair is omitted, then the last name will not be changed.
|
EMAIL |
(Optional)
The new value for this user's email address. Must be between 1 and 64 characters in length.
Must contain both "@ " (at) and ". " (period),
and must not contain ", " (comma) "; " (semicolon) or " " (space).
Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
within the
ExpatLegalWills.com
database.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the email address will not be changed.
|
COUNTRY |
(Optional)
The new value for the name of this user's home Country. Maximum 64 characters. The only countries that are currently supported for
creating valid legal documents are: Canada , United States , South Africa ,
United Kingdom - England , and United Kingdom - Wales ,
so these are the only values that will be accepted. These values are case-sensitive.
This value is important to ensure that the legal documents created conform to the user's local jurisdiction,
and also for determining the cost and currency of any enabled services.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the Country will not be changed.
|
ADDRESS_LINE1 |
(Optional)
The new value for this user's home street address. Maximum 128 characters.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the street address (line 1) will not be changed.
|
ADDRESS_LINE2 |
(Optional)
The new value for the second line of this user's home street address, if required. Maximum 128 characters.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the street address (line 2) will not be changed.
|
CITY |
(Optional)
The new value for the name of this user's home city or town. Maximum 64 characters.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the city/town will not be changed.
|
STATEPROV |
(Optional)
The new value for the name of this user's home State, Province, or County. Maximum 64 characters. The only valid values that will be accepted
are listed as the "Name" values in the
states_all.xml file.
These values are case-sensitive. This value is important to ensure that the legal documents created conform to the user's local jurisdiction.
Note that the State of "Louisiana" will be accepted as a valid value,
however it is not currently supported for creating legal documents.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the State/Province/County will not be changed.
|
POSTALCODE |
(Optional)
The new value for this user's home Zip or Postal Code. Maximum 32 characters.
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the Zip/Postal Code will not be changed.
|
GENDER |
(Optional)
The new value for this user's gender. Valid values are: M (Male), F (Female) and X (Gender neutral). These values are case-insensitive.
The gender is required for the readability of the legal document creation services and for the construction
of the final documents. Knowing the gender allows us to use the correct pronoun
(i.e. "he" or "she" or "they", "his" or "her" or "their").
The user can make changes to this field themselves, within any legal document creation service.
If this name-value pair is omitted, then the gender will not be changed.
|
MYWILL |
(Optional)
Has the user paid you for the "MyWill" service (Last Will and Testament)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYPOWEROFATTORNEY |
(Optional)
Has the user paid you for the "MyPowerOfAttorney" service (Power of Attorney)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYLIVINGWILL |
(Optional)
Has the user paid you for the "MyLivingWill" service (Living Will / Power of Attorney for Health Care)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYEXPATWILL_CANADA |
(Optional)
Has the user paid you for the "MyExpatWill (Canada)" service (Expatriate Will for Assets Held in Canada)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYEXPATWILL_QUEBEC |
(Optional)
Has the user paid you for the "MyExpatWill (Québec)" service (Expatriate Will for Assets Held in Québec)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYEXPATWILL_US |
(Optional)
Has the user paid you for the "MyExpatWill (U.S.)" service (Expatriate Will for Assets Held in the United States)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYEXPATWILL_UK |
(Optional)
Has the user paid you for the "MyExpatWill (U.K.)" service (Expatriate Will for Assets Held in the United Kingdom - England or Wales)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYLIFELOCKER |
(Optional)
Has the user paid you for the "MyLifeLocker" service (Store personal information critical to be passed on to an Executor)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MYFUNERAL |
(Optional)
Has the user paid you for the "MyFuneral" service (Document your funeral wishes and organ donation preferences)?
Valid values are: Y and N . These values are case-insensitive.
-
Y lets us know that the user has paid you for this service, so we will enable the service within their account,
if it isn't already enabled.
-
N lets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
In either case, we will make sure that the service is disabled within their account.
The user can still create/modify their entire document, but they can only view/download the first page.
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
|
MEM_YEARS |
(Optional) The number of years to be ADDED or REMOVED
from this user's membership account.
Whether years are ADDED or REMOVED is specified by the MEM_YEARS_OP field.
Note that a user's membership length is independent of what actual services have been paid for, if any.
Valid values are integers:
-
1 , 5 , 10 , or 25 =
Number of years to be ADDED or REMOVED from the given user's membership account.
-
-1 = ADD or REMOVE a Lifetime membership for the given user (which never expires).
If this name-value pair is omitted, then the value we have stored in our database will not be changed.
(Note that a user with an expired membership will still be able to access all of their services. The only impact is that
if they previously paid for a service, they will only be able to view the first page of the document. They will need
to add 1 or more MEM_YEARS before they can resume viewing/downloading the entire document.)
|
MEM_YEARS_OP |
(Optional)
Specifies whether the value in the MEM_YEARS field should be
ADDED or REMOVED from the given user's membership account.
Valid values are: add and remove . These values are case-insensitive.
-
add indicates that MEM_YEARS years should be ADDED to the user's current membership length.
If MEM_YEARS=-1 , then their membership length will be set to -1 (Lifetime membership).
-
remove indicates that MEM_YEARS years should be REMOVED from the user's current membership length.
If MEM_YEARS=-1 , then their membership length will be set to 1 year.
If this name-value pair is omitted, then the default is add . If the operation will result in the user having less than a 1-year
membership, then their membership length will be reset to 1 year.
|
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to query_if_expired . This value is case-insensitive.
This command indicates that you want to check if the user with the given USERID has a
membership account which has expired. This command will return the Result Code "MEM_EXPIRED"
if the membership has expired, or "OK" if the membership has not expired.
(Note that a user with an expired membership will still be able to access all of their services. The only impact is that
if they previously paid for a service, they will only be able to view the first page of the document. They will need
to extend their membership MEM_YEARS before they can resume viewing/downloading the entire document.)
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
AFFILIATE_SIGNATURE |
(Required) Your current White Label API affiliate signature is
not yet assigned since your affiliate account is not set up to use the White Label API.
You can change this at any time by clicking the "Regenerate Signature" button above.
It represents the credentials for validating you as the owner of this affiliate account. This value is case-sensitive.
Always keep this information stored in a secure location.
|
USERID |
(Required)
The UserID for the user account that you want to query. This UserID must
already exist in our database, by previously sending a create_user API command.
|
Instead of a single Result Code, the query_mywill
API command returns a JSON object in the following format:
{
"ResultCode": "OK",
"UserID": "janedoe",
"MyWillEnabled": true,
"MyWillStarted": true,
"MyWillComplete": false,
"MyWillNumDownloads": 2,
"MyWillLastUpdated": "2022-03-16T09:30:28",
"MyWillFirstDownloaded": "2022-03-17T14:21:04",
"MyWillLastDownloaded": "2022-03-17T23:15:55"
}
ResultCode (string) - The returned ResultCode could be any of the codes in the "Result Codes" table below. "OK" indicates no errors.
UserID (string) - The USERID that was provided for this CMD.
MyWillEnabled (boolean) - Whether or not the MyWill service has been enabled for the given USERID.
MyWillStarted (boolean) - Whether or not this user has started to create a MyWill document. If they delete the document this goes back to 'false'.
MyWillComplete (boolean) - Whether or not all of the required questions have been answered for this user's MyWill document.
MyWillNumDownloads (integer) - Number of times the user has downloaded their MyWill document.
MyWillLastUpdated (datetime) - Date and time that the current MyWill document was last updated by the user, in Central Standard Time zone.
MyWillFirstDownloaded (datetime) - Date and time that the MyWill document was first downloaded by the user, in Central Standard Time zone.
MyWillLastDownloaded (datetime) - Date and time that the MyWill document was last downloaded by the user, in Central Standard Time zone.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to query_mywill . This value is case-insensitive.
This command indicates that you want to retrieve the status of the MyWill document for the user with the given USERID .
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
AFFILIATE_SIGNATURE |
(Required) Your current White Label API affiliate signature is
not yet assigned since your affiliate account is not set up to use the White Label API.
You can change this at any time by clicking the "Regenerate Signature" button above.
It represents the credentials for validating you as the owner of this affiliate account. This value is case-sensitive.
Always keep this information stored in a secure location.
|
USERID |
(Required)
The UserID for the user account that you want to query. This UserID must
already exist in our database, by previously sending a create_user API command.
|
The encrypt
API command does not return a Result Code. It returns the encrypted string. If an error occurred,
then an empty string is returned. Note that the encrypted value must be used right away, since it expires and becomes invalid within 60 seconds.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to encrypt . This value is case-insensitive.
This command indicates that you want to encrypt the given string.
This command returns the encrypted string, instead of a Result Code. If there was an error
(e.g. an invalid AFFILIATE_ID or AFFILIATE_SIGNATURE was provided)
then an empty string is returned.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
AFFILIATE_SIGNATURE |
(Required) Your current White Label API affiliate signature is
not yet assigned since your affiliate account is not set up to use the White Label API.
You can change this at any time by clicking the "Regenerate Signature" button above.
It represents the credentials for validating you as the owner of this affiliate account. This value is case-sensitive.
Always keep this information stored in a secure location.
|
STR |
(Required)
The string you wish to encrypt. The encrypted string is returned by this API command instead of a Result Code.
|
When sending a user to the White Label API URL with a login
API command, if there is an error with
any of the values given, then the error will be displayed on the page instead of granting access to the given user.
It is recommended that you send a validate_login
API command first, to verify that there are no errors,
before sending the user to the White Label API URL with a login
command. This allows you to deal with any potential
errors within your own code, instead of having the user see an error message on our website.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to validate_login . This value is case-insensitive.
This command indicates that you just want to check if the given name-value pairs
will result in an error if you send a login command.
No database changes will occur, and no user interface will be presented. Only a single Result Code will be returned.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
USERID |
(Required)
The UserID for the user wanting to access the specified legal document creation service. This UserID must
already exist in our database, by previously sending a create_user API command.
This value must be encrypted using the encrypt API command.
|
PASSWORD |
(Required)
The Password for the user wanting to access the specified legal document creation service.
This Password will be used along with the supplied USERID to verify if the given USERID
and PASSWORD combination is correct.
This value must be encrypted using the encrypt API command.
|
SERVICE_NAME |
(Required) The specific legal document creation service that the user wants to access in this session.
Valid values are (case-insensitive):
-
mywill - Last Will and Testament
-
mypowerofattorney - Power of Attorney
-
mylivingwill - Living Will (Power of Attorney for Health Care)
-
myexpatwill_canada - Expatriate Will for Assets Held in Canada
-
myexpatwill_quebec - Expatriate Will for Assets Held in Québec
-
myexpatwill_us - Expatriate Will for Assets Held in the United States
-
myexpatwill_uk - Expatriate Will for Assets Held in the United Kingdom (England or Wales)
-
mylifelocker - Store personal information critical to be passed on to an Executor
-
myfuneral - Document Funeral Wishes and Organ Donation Preferences
|
When sending a user to the White Label API URL with a login
API command, if there is an error with
any of the values given, then the error will be displayed on the page instead of granting access to the given user.
It is recommended that you send a validate_login
API command first, to verify that there are no errors,
before sending the user to the White Label API URL with a login
command. This allows you to deal with any potential
errors within your own code, instead of having the user see an error message on our website.
The login
API command does not return a Result Code. It displays a User Interface for the selected legal document creation service.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to login . This value is case-insensitive.
This command indicates that you want to log in the given user and present them
with the specified legal document creation service.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
USERID |
(Required)
The UserID for the user wanting to access the specified legal document creation service. This UserID must
already exist in our database, by previously sending a create_user API command.
This UserID will be used along with the supplied PASSWORD to log them in.
This value must be encrypted using the encrypt API command.
|
PASSWORD |
(Required)
The Password for the user wanting to access the specified legal document creation service.
This Password will be used along with the supplied USERID to log them in.
This value must be encrypted using the encrypt API command.
|
SERVICE_NAME |
(Required) The specific legal document creation service that the user wants to access in this session.
Valid values are (case-insensitive):
-
mywill - Last Will and Testament
-
mypowerofattorney - Power of Attorney
-
mylivingwill - Living Will (Power of Attorney for Health Care)
-
myexpatwill_canada - Expatriate Will for Assets Held in Canada
-
myexpatwill_quebec - Expatriate Will for Assets Held in Québec
-
myexpatwill_us - Expatriate Will for Assets Held in the United States
-
myexpatwill_uk - Expatriate Will for Assets Held in the United Kingdom (England or Wales)
-
mylifelocker - Store personal information critical to be passed on to an Executor
-
myfuneral - Document Funeral Wishes and Organ Donation Preferences
|
The logout
API command should be sent to the same window (e.g. iframe) as was used for the login
API command.
Field |
Description |
CMD |
(Required) The command being sent to the White Label API.
In this case, the value must be set to logout . This value is case-insensitive.
This command indicates that you want to logout the current user. If this user needs to re-access
a legal document creation service, then the login command must be sent again.
If nobody is currently logged in, then the "OK" Result Code is still returned.
|
AFFILIATE_ID |
(Required) Your unique White Label API affiliate ID number is
not yet assigned since your affiliate account is not set up to use the White Label API.
This number cannot be changed. It associates your affiliate account with any users that you create.
|
Result Codes
The following list shows the possible Result Codes that can be returned by the White Label API.
Result Code |
Description |
OK |
No errors. The command was successful.
|
BAD_ADDRESS_LINE1 |
The given ADDRESS_LINE1 value was longer than 128 characters in length.
|
BAD_ADDRESS_LINE2 |
The given ADDRESS_LINE2 value was longer than 128 characters in length.
|
BAD_CITY |
The given CITY value was longer than 64 characters in length.
|
BAD_COUNTRY |
The given COUNTRY value was longer than 64 characters in length.
|
BAD_EMAIL |
The given EMAIL value was not between 1 and 64 characters in length.
|
BAD_FIRST_NAME |
The given FIRST_NAME value was not between 1 and 64 characters in length.
|
BAD_LAST_NAME |
The given LAST_NAME value was not between 1 and 64 characters in length.
|
BAD_PASSWORD |
The given PASSWORD value was not between 5 and 64 characters in length.
Also, when using the login or validate_login commands,
make sure the PASSWORD value is not sent in plain text. It must
be encrypted using the encrypt API command.
|
BAD_POSTALCODE |
The given POSTALCODE value was longer than 32 characters in length.
|
BAD_PREFIX |
The given PREFIX value was not between 1 and 5 characters in length, or does not contain
only letters, numbers, hyphen and underscore characters.
|
BAD_STATEPROV |
The given STATEPROV value was longer than 64 characters in length.
|
BAD_USERID |
The given USERID value was not between 5 and 50 characters in length, or does not contain
only letters, numbers and underscore characters.
Also, when using the login , validate_login , or logout commands,
make sure the USERID value is not sent in plain text. It must
be encrypted using the encrypt API command.
|
BANNED_IP |
Login was attempted from a banned IP address. An IP address might be banned by the administrators
of
ExpatLegalWills.com
for security reasons.
Please send an email to
[email protected]
if you believe this to be in error.
|
BANNED_USERID |
Login was attempted by a banned USERID . A UserID might be banned by the administrators
of
ExpatLegalWills.com
for security reasons.
Please send an email to
[email protected]
if you believe this to be in error.
|
DECRYPTION_FAILURE |
The decryption of an encrypted field failed.
It might not have been encrypted properly using the encrypt command.
|
DUPLICATE_USER |
The given combination of FIRST_NAME , LAST_NAME and EMAIL already
exists in the database, under a different USERID . This combination must be unique for all users.
If this was a create_user command, then a new account could not be created.
If this was a modify_user command, then the existing account was not modified.
|
ENCRYPTION_EXPIRED |
An encrypted field could not be decrypted because it had expired.
For security reasons, the results of the encrypt command can only be used for a limited time.
|
EXISTING_USERID |
The given USERID already exists in our database. A new account could not be created.
|
INVALID_CMD |
An invalid value was provided for CMD . Valid values are listed in the above API Reference.
|
INVALID_COUNTRY |
An invalid value was provided for COUNTRY . Valid values are listed in the above API Reference.
|
INVALID_CREDENTIALS |
The given AFFILIATE_ID and AFFILIATE_SIGNATURE combination was not valid,
or one of these required name-value pairs was missing.
Valid values for your account are provided at the very top of this page.
|
INVALID_EMAIL |
An invalid value was provided for EMAIL . To be considered a valid email address, it must
satisfy the constraints outlined in the above API Reference.
|
INVALID_GENDER |
An invalid value was provided for GENDER . Valid values are listed in the above API Reference.
|
INVALID_LOGIN |
The given USERID and PASSWORD combination was not valid. No such account exists.
Also, when using the login or validate_login commands,
make sure the USERID and PASSWORD values are not sent in plain text. They must
be encrypted using the encrypt API command.
|
INVALID_MEM_YEARS |
An invalid value was provided for MEM_YEARS . Valid values are listed in the above API Reference.
|
INVALID_MEM_YEARS_OP |
An invalid value was provided for MEM_YEARS_OP . Valid values are listed in the above API Reference.
|
INVALID_MYEXPATWILL_CANADA |
An invalid value was provided for MYEXPATWILL_CANADA . Valid values are listed in the above API Reference.
|
INVALID_MYEXPATWILL_QUEBEC |
An invalid value was provided for MYEXPATWILL_QUEBEC . Valid values are listed in the above API Reference.
|
INVALID_MYEXPATWILL_UK |
An invalid value was provided for MYEXPATWILL_UK . Valid values are listed in the above API Reference.
|
INVALID_MYEXPATWILL_US |
An invalid value was provided for MYEXPATWILL_US . Valid values are listed in the above API Reference.
|
INVALID_MYFUNERAL |
An invalid value was provided for MYFUNERAL . Valid values are listed in the above API Reference.
|
INVALID_MYLIFELOCKER |
An invalid value was provided for MYLIFELOCKER . Valid values are listed in the above API Reference.
|
INVALID_MYLIVINGWILL |
An invalid value was provided for MYLIVINGWILL . Valid values are listed in the above API Reference.
|
INVALID_MYPOWEROFATTORNEY |
An invalid value was provided for MYPOWEROFATTORNEY . Valid values are listed in the above API Reference.
|
INVALID_MYWILL |
An invalid value was provided for MYWILL . Valid values are listed in the above API Reference.
|
INVALID_PREFIX |
An invalid value was provided for PREFIX . Either you are not permitted to use this API command, or the given value does not match any of your assigned prefixes.
|
INVALID_SERVICE_NAME |
An invalid value was provided for SERVICE_NAME . Valid values are listed in the above API Reference.
|
INVALID_STATEPROV |
An invalid value was provided for STATEPROV . Valid values are listed in the above API Reference.
|
INVALID_TEST_USER |
An invalid value was provided for TEST_USER . Valid values are listed in the above API Reference.
|
IS_LIFETIME |
The given user currently has a Lifetime membership, so the operation could not be performed.
|
IS_NOT_LIFETIME |
The given user does not have a Lifetime membership, so the operation could not be performed.
|
MEM_EXPIRED |
The membership for the given USERID has expired.
A user with an expired membership will still be able to access all of their services. The only impact is that
if they previously paid for a service, they will only be able to view the first page of the document. They will need
to extend their membership MEM_YEARS before they can resume viewing/downloading the entire document.
|
MISSING_COUNTRY |
No COUNTRY value was provided. This name-value pair is required for the given CMD .
|
MISSING_EMAIL |
No EMAIL value was provided. This name-value pair is required for the given CMD .
|
MISSING_FIRST_NAME |
No FIRST_NAME value was provided. This name-value pair is required for the given CMD .
|
MISSING_LAST_NAME |
No LAST_NAME value was provided. This name-value pair is required for the given CMD .
|
MISSING_PASSWORD |
No PASSWORD value was provided. This name-value pair is required for the given CMD .
|
MISSING_PREFIX |
No PREFIX value was provided. This name-value pair is required for the given CMD .
|
MISSING_SERVICE_NAME |
No SERVICE_NAME value was provided. This name-value pair is required for the given CMD .
|
MISSING_USERID |
No USERID value was provided. This name-value pair is required for the given CMD .
|
NO_SUCH_USERID |
The given USERID does not exist in our database.
Also, when using the login , validate_login , or logout commands,
make sure the USERID value is not sent in plain text. It must
be encrypted using the encrypt API command.
|
SUSPENDED_USERID |
Login was attempted by a suspended USERID . A UserID might be suspended by the administrators
of
ExpatLegalWills.com
for security or billing reasons.
Please send an email to
[email protected]
if you believe this to be in error.
|
TOO_FEW_YEARS |
The operation would result in the given user having a membership length of less than 1 year. Operation aborted.
|
TOO_MANY_YEARS |
The operation would result in the given user having a membership length of more than 999 years. Operation aborted.
|