Difference between revisions of "Customer (Rest API)"
(add sample response for get customer list and single customer) |
|||
| Line 79: | Line 79: | ||
''URL'': | ''URL'': | ||
| − | [GET] <nowiki>http://api.emailsrvr.com/customers/(customer account number)</nowiki> | + | [GET] <nowiki>http://api.emailsrvr.com/v0/customers/(customer account number)</nowiki> |
| Line 89: | Line 89: | ||
''Remarks'': | ''Remarks'': | ||
| − | + | To do the show operation on the account that is logged in instead of a customer's account, use "me" in the place of the customer account number i.e. <nowiki>'http://api.emailsrvr.com/v0/customers/me'</nowiki>. | |
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd] | The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd] | ||
Revision as of 12:16, 21 September 2009
Contents
Index
URL:
[GET] http://api.emailsrvr.com/v0/customers
Description:
This operation returns the list of customers that the authenticated user has access to.
Remarks:
For the text/xml format, refer to the following schema document: CustomerList.xsd
Example:
get '/customers?size=100&page=1', 'text/xml'
XML Result Example:
<?xml version="1.0" encoding="utf-8"?>
<customerList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:customerList">
<offset>0</offset>
<size>50</size>
<total>3</total>
<customers>
<customer>
<name>API Customer 17</name>
<accountNumber>460182</accountNumber>
<referenceNumber>49</referenceNumber>
</customer>
<customer>
<name>API Customer 39</name>
<accountNumber>460181</accountNumber>
<referenceNumber>23</referenceNumber>
</customer>
<customer>
<name>API Customer 50</name>
<accountNumber>460183</accountNumber>
<referenceNumber>10</referenceNumber>
</customer>
</customers>
</customerList>
Json Result Example:
{"offset":0,"size":50,"total":3,"customers":[{"name":"API Customer 17","accountNumber":"460182","referenceNumber":"49"},{"name":"API Customer 39","accountNumber":"460181","referenceNumber":"23"},{"name":"API Customer 50","accountNumber":"460183","referenceNumber":"10"}]}
Errors:
| Description | HTTP Response Code | Sample Message |
|---|---|---|
| Format is invalid | 406 | Invalid format |
Show
URL:
[GET] http://api.emailsrvr.com/v0/customers/(customer account number)
Description:
The show operation will return detailed information about the specified account.
Remarks:
To do the show operation on the account that is logged in instead of a customer's account, use "me" in the place of the customer account number i.e. 'http://api.emailsrvr.com/v0/customers/me'.
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: Customer.xsd
Example:
get '/customers/me', 'text/xml'
XML Result Example:
<?xml version="1.0" encoding="utf-8"?> <customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:customer"> <name>API Customer 17</name> <accountNumber>460182</accountNumber> <referenceNumber>49</referenceNumber> </customer>
Json Result Example:
{"name":"API Customer 17","accountNumber":"460182","referenceNumber":"49"}
Errors:
| Description | HTTP Response Code | Sample Message |
|---|---|---|
| Format is invalid | 406 | Invalid format |
| Customer account number is invalid | 404 | Invalid account number |
Add/Edit
URL:
Add: [POST] http://api.emailsrvr.com/customers<br> Edit: [PUT] http://api.emailsrvr.com/customers/(customer account number)
Description:
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.
| Field Name | Data Type | Description |
|---|---|---|
| name | string | The customer's display name (Required for Add) |
| referenceNumber | string | The reference number of this account |
Example:
post '/customers', 'text/xml',
{
'name' => 'Name'
}
put '/customers/999999', 'text/xml',
{
'name' => 'NewName',
'referenceNumber' => '12345'
}
Errors:
| Description | HTTP Response Code | Sample Message |
|---|---|---|
| Format is invalid | 406 | Invalid format |
| The name field was not specified | 400 | Missing required field: name |
| The name field cannot be blank | 400 | Required field name cannot be empty |
| Names cannot start with a space | 400 | Improper Customer Name |
| The customer account was not found | 404 | Customer Not Found |
Delete
URL:
[DELETE] http://api.emailsrvr.com/customers/(customer account number)
Description:
Deletes the account.
Example:
delete '/customers/999999', 'text/xml'
Errors:
| Description | HTTP Response Code | Sample Message |
|---|---|---|
| Format is invalid | 406 | Invalid format |
| The customer account was not found | 404 | Customer Not Found |