User:Bwinton/Account Provisioner API
Jump to navigation
Jump to search
Provisioning API
suggestFromName
Preference Name: extensions.accountprovisioner.suggestFromName
Default Url: http://bwinton.latte.ca/work/provision/suggestFromName.cgi
Inputs
- FirstName - <String> All the names of the user before the last name.
- LastName - <String> The last name of the user.
Outputs:
{"succeeded": true,
"addresses": ["blake@winton.com", "blake@winton.org", "b@winton.com"],
/* May be empty. */
"price": 20.00,
/* Any other parameters will be sent back on the call to provision. */}
{"succeeded": false,
"errors": {"FirstName": "Invalid first name."}}
{"error": "Missing first or last name."}
checkAddress
Preference Name: extensions.accountprovisioner.checkAddress
Default Url: http://bwinton.latte.ca/work/provision/checkAddress.cgi
Inputs
- username - <String> The requested username.
- domain - <String> The requested domain.
Outputs:
{"succeeded": true,
"username": "bwinton", "domain": "latte.ca"}
{"succeeded": false,
"addresses": [
{"domain": "latte.ca",
"alternates": ["error", "error1"]},
{"domain": "gmail.com",
"alternates": ["error1209", "error1337", "error16666"]},
{"domain": "yahoo.com",
"alternates": ["error", "error1"]}]}
{"error": "Missing username or domain."}
provision
Preference Name: extensions.accountprovisioner.provision
Default Url: http://bwinton.latte.ca/work/provision/provision.cgi
Inputs A JSON string containing whichever fields the provisioning process requires.
"account": {
"first_name": "Fred",
"last_name": "Smith",
"billing": { # all required except phone
"address1": "",
"address2": "",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "",
"phone": "",
"card_number": "1234...",
"card_cvv": "123",
"card_expiry_month": "04",
"card_expiry_year": "2012"
}
},
"items": [
{
"product": "personalized_email",
"name": "bob@monkey.com",
"quote": "35a4891b086f490a7bc0",
}
]
}
Outputs:
{"succeeded": true,
"config": "<clientConfig version=\"1.1\">
<emailProvider id=\"latte.ca\">
<domain>latte.ca</domain>
<displayName>Latte.ca</displayName>
<displayShortName>Latte.ca</displayShortName>
<incomingServer type=\"imap\">
<hostname>imap.latte.ca</hostname>
<port>993</port>
<socketType>SSL</socketType>
<username>%EMAILLOCALPART%</username>
<authentication>password-cleartext</authentication>
</incomingServer>
<outgoingServer type=\"smtp\">
<hostname>smtp.latte.ca</hostname>
<port>587</port>
<socketType>STARTTLS</socketType>
<username>%EMAILLOCALPART%</username>
<authentication>password-cleartext</authentication>
</outgoingServer>
</emailProvider>
</clientConfig>"}
The string in the config attribute should be XML which conforms to the Autoconfig schema.
{"succeeded": false,
"errors": {"account.first_name": "Invalid first name. Try \"Andrew\" instead.",
"items.0.quote": "Quote is invalid or expired; please retry suggest."}}
{"error": "Missing username or domain."}