External Forms and API
Overview
MyClient Enterprise allows you to create deeper integration with your own systems by providing external forms and API methods. Each form or method is protected by an access token, which can be generated from the "External forms and API methods" link on the "System Settings" page.
External Forms
Overview
External forms are embedded into your own website by adding an HTML snippet.
When creating the access token for a form, you may optionally specify a URL to redirect to when the form has been completed. If no URL is entered, upon completion the form will display the content set in an appropriate template.
External Customer Signup Form
MyClient allows you and your resellers to embed the Customer Signup form into your own website. By specifying a reseller when creating the access token, the form will display the selected plan group and automatically assign the new customer to the correct owner.
If the form is completed and no redirect URL is specified by the access token, this form displays the content from the "New Customer Confirmation (external form)" template.
To embed the Customer Signup form, use the following HTML code:
<iframe src="https://YOUR-MYCLIENT-INSTALLATION/ext.signup_customer/?apikey=ACCESS_TOKEN" style="width:800px; border:0; margin:0; padding:0;" allowTransparency="true"></iframe>
API methods
Overview
API Methods allow you to perform certain actions by making an HTTP POST
request to a specific URL on your installation https://YOUR-MYCLIENT-INSTALLATION/API/external
. Each API request requires a range of parameters depending on the selected API call. The parameters should be posted in application/x-www-form-urlencoded
format.
Responses are returned as JSON in the form {"status": integer, "message": "string"}
, or in XML format if ?xml
is added to the URL. The status
code ranges from 200-299 upon success, and 400-599 upon error. The message
parameter provides a human-readable English description of any errors, or may contain a more complex object depending on the API call in question.
Connectivity test
This API allows you to verify your network connectivity and authentication credentials against the MyClient server.
Parameter | Description |
---|---|
action |
Must be ping |
auth |
A valid access token |
Event Handler
This API allows you to run any configured Automated Event Handler relation. To use this API, create an Automated Event Handler to respond to the event source "Web request to MyClient API Endpoint".
Parameter | Description |
---|---|
action |
One of event OR event-username OR event-backupset OR event-backupjob |
auth |
A valid access token |
api |
The call to make, as specified in the Automated Event Handler |
loginname |
(Optional) Ahsay Username. Mandatory if the action parameter was event-username , event-backupset or event-backupjob . |
backupset |
(Optional) Ahsay Backupset ID. Mandatory if the action parameter was event-backupset or event-backupjob . |
backupjob |
(Optional) Ahsay Backupjob ID. Mandatory if the action parameter was event-backupjob . |
Export data
This API allows you to retrieve the result of a search. A successful response is delivered in CSV or JSON format.
Parameter | Description |
---|---|
action |
Must be export |
auth |
A valid access token |
search |
One of search-customers-ahsay , search-customers-shadowprotect , search-customers-asigra , search-customers-comet , search-customers-allservices , search-backupsets (Ahsay), search-backupjobs (Ahsay), search-comet-items , search-comet-vaults , search-comet-jobs , search-comet-devices , search-shadowprotect-volumes or search-servers (Ahsay) |
sid |
A search ID. You may retrieve this from the URL bar when viewing a saved search in MyClient. |
json |
(Optional) Set this parameter to true to return JSON formatted data instead of CSV. |
Create Reseller Office
This API allows you to automatically create a new Reseller Office with one system operator.
Parameter | Description |
---|---|
action |
Must be create-reseller-office |
auth |
A valid access token |
office-name |
The company name for the new reseller office |
operator-first-name |
System Operator's first name |
operator-last-name |
System Operator's last name |
operator-email |
System Operator's email address, used to log in with |
operator-password |
(Optional) System Operator's password. Must conform to your configured system password policy |
permission-group-id |
(Optional) Permission group ID for this reseller office. The Group ID can be found in the Overview tab for a permissions group under System Settings -> Permission Groups |
Ahsay: Create account
This API allows you to create a new Ahsay account. The created account will be added to a new MyClient record. The created account follows the same processes used when creating an account from within MyClient, including respecting your settings regarding email alerts, usergroup overrides, server selection and welcome emails.
A successful response from this API will include a GUID that can be used in successive MyClient API calls. An unsuccessful response from this API will include a human-readable error message, tailored to the level of access granted by the supplied access token.
Parameter | Description |
---|---|
action |
Must be ahsay-create |
auth |
A valid access token |
email |
The customer's email address |
username |
Username for the new account |
password |
Password for the new account |
quota-gb |
Quota for the new account. Must be a positive number of gigabytes |
is-trial |
(Optional) Whether to create the account in Trial mode. Must be either "Y" or "N". Default "N" |
client-type |
(Optional) Must be either "OBM" or "ACB". Default "OBM" |
bandwidth |
(Optional) Speed restriction for the new account in kilobytes/sec. Default zero (unlimited) |
customer-name |
(Optional) The customer's full company name |
phone |
(Optional) The customer's contact phone number |
first-name |
(Optional) The first name for the primary contact person |
last-name |
(Optional) The last name for the primary contact person |
address1 |
(Optional) The customer's address |
address2 |
(Optional) The customer's address, continued |
address3 |
(Optional) The customer's address, continued |
address-city |
(Optional) The customer's city |
address-country |
(Optional) The customer's country |
address-postcode |
(Optional) The customer's postcode |
plan-name |
(Optional) The plan this customer will use |
reseller-name |
(Optional) The reseller to be assigned to this customer. Ignored if the reseller's office name is not unique or the 'auth' access token doesn't belong to the primary office. |
Ahsay: List all accounts
This API allows you to list Ahsay accounts. The information returned contains a GUID necessary to refer to this account in other API calls. Information can be returned in JSON or XML forms as described earlier in this document.
This API will only return a list of direct customers. Access tokens for resellers who are parent resellers of other sub-resellers will not see their subreseller customers included in the results from this API call.
This API call will return the following fields for each matching Ahsay account:
id
, a GUID that can be used to refer to this Ahsay account in other API callsusername
, the username by which this account logs in to their Ahsay client softwaretype
, the stringACB
orOBM
depending on the Ahsay account's client typequota
, the currently effective quota for the account measured in bytesusage
, the currently effective usage for the account measured in bytes
Parameter | Description |
---|---|
action |
Must be ahsay-get-info-multi |
auth |
A valid access token |
Ahsay: Retrieve information about specific account
This API allows you to retrieve specific information about an Ahsay accounts. For more information about the results produced, please see the documentation for the ahsay-get-info-multi
API call. This call requires that the reseller in question would normally have permission to view this customer within the main MyClient portal.
Parameter | Description |
---|---|
action |
Must be ahsay-get-info |
auth |
A valid access token |
guid |
The API GUID for the Ahsay account in question. Can be retrieved via the ahsay-get-info call. |
Ahsay: Suspend / Unsuspend Ahsay account
This API allows you to suspend or unsuspend Ahsay accounts. This call requires that the reseller in question would normally have permission to perform this action.
Parameter | Description |
---|---|
action |
Must be ahsay-suspend or ahsay-unsuspend |
auth |
A valid access token |
guid |
The API GUID for the Ahsay account in question. Can be retrieved via the ahsay-get-info call. |
Ahsay: Erase Ahsay account
This API allows you to erase an Ahsay account, removing all data from the backup server. This call requires that the reseller in question would normally have permission to perform this action.
Parameter | Description |
---|---|
action |
Must be ahsay-erase |
auth |
A valid access token |
guid |
The API GUID for the Ahsay account in question. Can be retrieved via the ahsay-get-info call. |
confirm |
Must be confirm-erase |
Ahsay: Change quota
This API allows you to modify the quota for an Ahsay account. This call requires that the reseller in question would normally have permission to perform this action.
Parameter | Description |
---|---|
action |
Must be ahsay-modify-quota |
auth |
A valid access token |
guid |
The API GUID for the Ahsay account in question. Can be retrieved via the ahsay-get-info call. |
quota_gb |
Set the quota for this account. The value should be a number of gigabytes. |
See also
- PHP Sample code for API methods »
- The Customer Portal » is another form that can be embedded into your own website.