Difference between revisions of "Exchange Contact (Rest API)"
(add sample response) |
m (moved RestAPI/Contact to Contact (Rest API)) |
(No difference)
|
Revision as of 12:32, 20 November 2009
Contents
Index
URL:
[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/contacts
Description:
Returns a list of contacts under the domain.
Remarks:
For the text/xml format, refer to the following schema document: ContactList.xsd
Example:
get '/customers/12345678/domains/example.com/ex/contacts?size=100&page=1&contains=john', 'text/xml'
XML Result Example:
<?xml version="1.0" encoding="utf-8"?> <contactList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:contactList"> <offset>0</offset> <size>50</size> <total>3</total> <contacts> <contact> <name>apiexcontact66</name> <displayName>API Test</displayName> <externalEmail>externalemail58@yahoo.com</externalEmail> </contact> <contact> <name>apiexcontact73</name> <displayName>API Test</displayName> <externalEmail>externalemail98@yahoo.com</externalEmail> </contact> <contact> <name>apiexcontact81</name> <displayName>API Test</displayName> <externalEmail>externalemail46@yahoo.com</externalEmail> </contact> </contacts> </contactList>
Json Result Example:
{"offset":0,"size":50,"total":3,"contacts":[{"name":"apiexcontact66","displayName":"API Test","externalEmail":"externalemail58@yahoo.com"},{"name":"apiexcontact73","displayName":"API Test","externalEmail":"externalemail98@yahoo.com"},{"name":"apiexcontact81","displayName":"API Test","externalEmail":"externalemail46@yahoo.com"}]}
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Format is invalid | 406 | Invalid format |
Domain is not found | 404 | abc.com not found |
Show
URL:
[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/contacts/(contact name)
Description:
Returns the contact's details.
Remarks:
For the text/xml format, refer to the following schema document: Contact.xsd
Example:
get '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml'
XML Result Example:
<?xml version="1.0" encoding="utf-8"?> <contact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:contact"> <name>apiexcontact73</name> <displayName>API Test</displayName> <externalEmail>externalemail98@yahoo.com</externalEmail> <isHidden>false</isHidden> <contactInfo> <firstName>API</firstName> <lastName>Test</lastName> <jobTitle>Dev</jobTitle> <company>My Company</company> <department>R&D</department> <businessNumber>111-1111</businessNumber> <homeNumber>222-2222</homeNumber> <mobileNumber>333-3333</mobileNumber> <faxNumber>444-4444</faxNumber> <pagerNumber>1234</pagerNumber> <addressLine1>123 Main Street</addressLine1> <city>Blacksburg</city> <state>VA</state> <zip>24060</zip> <country>USA</country> <notes>My Notes</notes> </contactInfo> </contact>
Json Result Example:
{"name":"apiexcontact73","displayName":"API Test","externalEmail":"externalemail98@yahoo.com","isHidden":false,"contactInfo":{"firstName":"API","lastName":"Test","jobTitle":"Dev","company":"My Company","department":"R&D","businessNumber":"111-1111","homeNumber":"222-2222","mobileNumber":"333-3333","faxNumber":"444-4444","pagerNumber":"1234","addressLine1":"123 Main Street","city":"Blacksburg","state":"VA","zip":"24060","country":"USA","notes":"My Notes"}}
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Format is invalid | 406 | Invalid format |
Domain is not found | 404 | abc.com not found |
Contact is not found | 404 | Contact not found |
Add/Edit
URL:
Add: [POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/contacts/(contact name) Edit: [PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/contacts/(contact name)
Description:
Adds or edits the contact's details as specified. If the contact does not exist, use Add, if it does, use Edit.
Field Name | Data Type | Description |
---|---|---|
displayName | string | Name of contact when displayed (Required for add) |
externalEmail | string | Email address (Required for add) |
isHidden | boolean | Whether the contact is hidden from the Global List |
firstName | string | First name |
lastName | string | Last name |
jobTitle | string | Job title |
company | string | Company |
department | string | Department |
businessnumber | string | Business phone number |
homenumber | string | Home phone number |
mobilenumber | string | Mobile phone number |
faxnumber | string | Fax number |
pagernumber | string | Pager number |
addressLine1 | string | Street address |
city | string | City |
state | string | State |
zip | string | Zip or postal code |
country | string | Country |
notes | string | Notes field |
Example:
post '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml', { 'displayName' => 'Johnny Customer', 'externalEmail' => 'jonny@apple.com' }
put '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml', { 'externalEmail' => 'jonnysNewEmail@microsoft.com', 'company' => 'Microsoft', 'businessnumber' => '425 555 5555' }
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Format is invalid | 406 | Invalid format |
Domain is not found | 404 | abc.com not found |
Contact is not found | 404 | No user with the email address jane.doe@abc.com exists |
New display name doesn't meet the naming requirements | 400 | Invalid display name |
Boolean form field has non-boolean input | 400 | Invalid format for Enabled, input must be True or False |
Form data has unrecognized field | 400 | Unrecognized field: size |
Required form field is missing | 400 | Missing required field: displayName |
Required form field has null or empty string input | 400 | Required field displayName cannot be empty |
New display name doesn't meet the naming requirements | 400 | Invalid display name |
New contact name (user name) already exists | 400 | The email address john.doe@abc.com is already in use |
New contact name (user name) is reserved by Exchange | 400 | user name reserved |
Delete
URL:
[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/contacts/(contact name)
Description:
Deletes the contact.
Remarks:
Contact is deleted immediately without verification and data is lost permanently.
Example:
delete '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml'
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Domain is not found | 404 | abc.com not found |
Contact is not found | 404 | No user with the email address jane.doe@abc.com exists |