Contact
A contact is an individual user and can be a billing or delivery contact.
A billing contact is the contact invoices will be addressed to.
Both billing contact and delivery contacts can be used as deliveryContact for an Order.
Only delivery contacts can be created / edited or deleted.
Read only fields are computed by AirVantage and can only be seen on response fragments sent by details or edit requests.
| Field | Description | Read Only | Type |
|---|---|---|---|
| id | Contact's unique identifier. | true | uid |
| firstName | The contact's first name. | false | string |
| lastName | The contact's last name. | false | string |
| address1 | The first line of the contact's postal address. | false | string |
| address2 | The second line of the contact's postal address. | false | string |
| postalCode | The postal code for the contact's postal address. | false | string |
| city | The city of the contact's postal address. | false | string |
| state | The state of the contact's postal address. | false | string |
| country | The country of the contact's postal address. | false | string |
| workEmail | The work email of the contact. | false | string |
| workPhone | The work phone of the contact. | false | string |
| type | The type of the contact. Can be one of billTo or delivery | true | string |
This is a complete representation of a Contact.
{
"id": "2c92c0f8516659d3015167fa9f393639",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"city": "New York",
"country": "United States",
"firstName": "John",
"lastName": "Doe",
"postalCode": "10118",
"state": "New York",
"workEmail": "john.doe@acme.com",
"workPhone": "(212)-555-9753",
"type": "delivery"
}
API Methods
Create
/accounts/ui/api/v1/contacts
Creates a new delivery contact.
Request
POST https://na.airvantage.net/accounts/ui/api/v1/contacts
Content-Type: application/json
...
{
"firstName": "John",
"lastName": "Doe",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"postalCode": "10118",
"city": "New York",
"state": "New York",
"country": "United States",
"workEmail": "john.doe@acme.com",
"workPhone": "(212)-555-3100"
}
Response
200 OK
HTTP/1.1 200 OK
Content-Type: application/json
...
{
"id": "2c92c0f8516659d3015167fa9f393639",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"city": "New York",
"country": "United States",
"firstName": "John",
"lastName": "Doe",
"postalCode": "10118",
"state": "New York",
"workEmail": "john.doe@acme.com",
"workPhone": "(212)-555-3100",
"type", "delivery"
}
| Name | Description | Use | Default | Type |
|---|---|---|---|---|
| company | Set the context where the contact will be created. | optional | caller's company | uid |
| Name | Description |
|---|---|
| contact.missing.{field} | Raised when a field is missing for contact creation. |
| account.unknown | Raised when company context is unknown |
| account.not.billed | Raised when company context is not a billed account. |
| contact.not.created | Raised when an unexpected error occured while creating the contact. |
| HTTP Method | POST |
| Requires Authentication | Yes |
| Rate Limited | Yes |
| Headers | Content-type: application/json |
| Permissions | accounts.ordering.write |
Find
/accounts/ui/api/v1/contacts
Returns a list of contacts
Request
GET https://na.airvantage.net/accounts/ui/api/v1/contacts
Response
200 OK
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "2c92c0f8516659d3015167fa9f393639",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"city": "New York",
"country": "United States",
"firstName": "John",
"lastName": "Doe",
"postalCode": "10118",
"state": "New York",
"workEmail": "john.smith@acme.com",
"workPhone": "(212)-555-3130",
"type": "billTo"
},
{
"id": "2c92c0f951666bf40151682b32a8654c",
"address1": "123 allée du lac",
"city": "Paris",
"country": "France",
"firstName": "Jacques",
"lastName": "Martin",
"postalCode": "75000",
"workEmail": "jacques.martin@acme.com",
"workPhone": "0132435465",
"type": "delivery"
}
]
| Name | Description | Use | Default | Type | Operand |
|---|---|---|---|---|---|
| company | Set the context company. | optional | caller's company | uid | = |
| type | Returns all contacts whose type is the given one. | optional | null | string | = |
| HTTP Method | GET |
| Requires Authentication | Yes |
| Rate Limited | Yes |
| Headers | None |
| Permissions | accounts.ordering.read |
Get details
/accounts/ui/api/v1/contacts/{uid}
Returns detailed information about the specified contact
Request
GET https://na.airvantage.net/accounts/ui/api/v1/contacts/2c92c0f8516659d3015167fa9f393639
Response
200 OK
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "2c92c0f8516659d3015167fa9f393639",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"city": "New York",
"country": "United States",
"firstName": "John",
"lastName": "Doe",
"postalCode": "10118",
"state": "New York",
"workEmail": "john.doe@acme.com",
"workPhone": "(212)-555-3100",
"type": "delivery"
}
| Name | Description |
|---|---|
| account.unknown | Raised when company context is unknown |
| account.not.billed | Raised when company context is not a billed account. |
| unknown.contact | Raised when no contact matches the uid. |
| HTTP Method | GET |
| Requires Authentication | Yes |
| Rate Limited | Yes |
| Headers | None |
| Permissions | accounts.ordering.read |
Edit
/accounts/ui/api/v1/contacts/{uid}
Edit an existing delivery contact.
Request
PUT https://na.airvantage.net/accounts/ui/api/v1/contacts/2c92c0f8516659d3015167fa9f393639
Content-Type: application/json
...
{
"workPhone": "(212)-555-9753"
}
Response
200 OK
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "2c92c0f8516659d3015167fa9f393639",
"address1": "350 5th Avenue",
"address2": "103rd Floor",
"city": "New York",
"country": "United States",
"firstName": "John",
"lastName": "Doe",
"postalCode": "10118",
"state": "New York",
"workEmail": "john.doe@acme.com",
"workPhone": "(212)-555-9753",
"type": "delivery"
}
| Name | Description | Use | Default | Type |
|---|---|---|---|---|
| company | Set the context where is the contact. | optional | caller's company | uid |
| Name | Description |
|---|---|
| account.unknown | Raised when company context is unknown |
| account.not.billed | Raised when company context is not a billed account. |
| unknown.contact | Raised when no contact matches the uid. |
| contact.empty.{field} | Raised when a field is passed to be emptied while it is not allowed (i.e removing workEmail). |
| not.a.delivery.contact | Raised when trying to edit a billTo contact. |
| contact.not.updated | Raised when an unexpected error occured while editing the contact. |
| HTTP Method | PUT |
| Requires Authentication | Yes |
| Rate Limited | Yes |
| Headers | Content-type: application/json |
| Permissions | accounts.ordering.write |
Delete
/accounts/ui/api/v1/contacts/{uid}
Delete an existing delivery contact.
Request
DELETE https://na.airvantage.net/accounts/ui/api/v1/contacts/2c92c0f8516659d3015167fa9f393639
Response
200 OK
HTTP/1.1 200 OK
| Name | Description | Use | Default | Type |
|---|---|---|---|---|
| company | Set the context where is the contact. | optional | caller's company | uid |
| Name | Description |
|---|---|
| account.unknown | Raised when company context is unknown |
| account.not.billed | Raised when company context is not a billed account. |
| unknown.contact | Raised when no contact matches the uid. |
| not.a.delivery.contact | Raised when trying to delete a billTo contact. |
| contact.not.updated | Raised when an unexpected error occured while deleting the contact. |
| HTTP Method | DELETE |
| Requires Authentication | Yes |
| Rate Limited | Yes |
| Headers | Content-type: application/json |
| Permissions | accounts.ordering.write |