Main Product API
https://developers-internal.tonicdm.com/_mock/tonicdm-product/
https://us-api.tonicdm.com/
https://de-api.tonicdm.com/
https://ie-api.tonicdm.com/
Gets data on one or more Persons: the User themselves, Mailboxes in their Tenant and/or Contacts in their Contact Organizations.
If called with no parameters (ie. /persons
) it will return data for all Persons in no specific order.
If called with just the data_quantity=id_only
parameter (ie. /persons?data_quantity=id_only
), it will return just the id
of the selected people.
A specific set of persons' data can be returned by providing the filterIds
parameter with an array of Person id
(ie. /persons?filterIds={personId},{personId}
).
If caching the Person data on the client side, the data_quantity=id_only
option can be chosen to get the list of GUIDs that match the filtering/sorting/paging requirements, with the Person data coming from your client side cache, having been retrieved by providing the filterIds
parameter with an array of id
.
Note that staff in the user's own Organization are Persons just like their Contacts.
A JSON-encoded string containing the query options.
Returns data for the specified GUIDs. If this filter is specifed, all other filters will be ignored.
Returns data for the specified Organization GUIDs
Provide the values of one or more statuses separated by comma (no spaces). If more than one filter is given, they will be combined with AND. If no value is supplied, active
is assumed.
provide the GUIDs of one or more disciplines separated by comma (no spaces). If more than one filter is given, they will be combined with AND.
Provide the GUIDs of one or more offices separated by comma (no spaces). If more than one filter is given, they will be combined with AND.
If caching data on the client side, the data_quantity=id_only|basic|complete
option can be passed to manage the completeness of the data received and therefore rate limiting.
The number of results to return per page
https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons
https://us-api.tonicdm.com/core/persons
https://de-api.tonicdm.com/core/persons
https://ie-api.tonicdm.com/core/persons
curl -i -X GET \
'https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons?dataQuantity=id_only&filterDisciplineIds={id}%2C{id}%2C{id}&filterIds={id}%2C{id}%2C{id}&filterOfficeIds={id}%2C{id}%2C{id}&filterOrganizationIds.%20If%20more%20than%20one%20filter%20is%20given%2C%20they%20will%20be%20combined%20with%20AND.={OrganizationId}%2C{OrganizationId}%2C{OrganizationId}&filterStatuses=active%2Cinactive&pageNumber=1&pageSize=100&searchQuery={%22example%22}&sortBy=name&sortDirection=asc' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
[ { "id": "9af493dfdabb48089b068ddad94c6287", "datetimeCreated": "2021-11-03T16:21:02+00:00", "datetimeUpdated": "2024-04-20T16:21:02+00:00", "status": "active", "emailAddresses": [ … ], "name": "Rita Coolidge", "title": "Principal", "deskPhone": null, "mobilePhone": null, "office": { … }, "disciplines": null, "certifications": null, "customerDataWarehouseId": 123, "customerErpId": "a8fc7aaf-cd16-4ee4-ae97-e75808257ae1", "customerCrmId": "a9ea117f-84bc-421d-bad4-5bd69924a699" }, { "id": "496061e05a9b43a98d7cdfb0ad15e158", "datetimeCreated": "2021-11-03T16:21:02+00:01", "datetimeUpdated": "2024-04-20T16:21:02+00:01", "status": "active", "emailAddresses": [ … ], "name": "Steve Novosel", "title": "Architect", "deskPhone": null, "mobilePhone": null, "office": { … }, "disciplines": null, "certifications": null, "customerDataWarehouseId": 124, "customerErpId": "fc95ced9-8c56-4a53-89b2-1c7217ea5a9c", "customerCrmId": "fcdaf58d-5497-47a2-af3d-077c928eda27" } ]
If required, the EmailAddress can be merged into an existing Person as a second step. Note that Person records can only be manipulated if the customer has an AdvancedContacts license.
Similarly, adding an Office to the Person needs to be done using PATCH to the /persons
endpoint submitting and officeId
that would have been looked up using GET to the /offices
endpoint submitting the organizationId
returned in the response body.
https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons
https://us-api.tonicdm.com/core/persons
https://de-api.tonicdm.com/core/persons
https://ie-api.tonicdm.com/core/persons
curl -i -X POST \
https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"emailAddresses": [
{
"id": "8e8aa42241794371ae9d0ed7b67a8c86",
"personId": "8e8aa42241794371ae9d0ed7b67a8c86",
"status": "active",
"emailAddress": "user@example.com",
"name": "string",
"title": "string",
"deskphoneCountryCode": 0,
"deskphoneNumber": 0,
"deskphoneExtension": 0,
"mobilephoneCountryCode": 0,
"mobilephoneNumber": 0,
"dateActive": "2019-08-24",
"dateInactive": "2019-08-24",
"isPrime": true,
"customerDataWarehouseId": "string",
"customerErpId": "string",
"customerCrmId": "string"
}
]
}'
{ "id": "496061e05a9b43a98d7cdfb0ad15e158", "datetimeCreated": "2021-11-03T16:21:02+00:01", "datetimeUpdated": "2024-04-20T16:21:02+00:01", "status": "active", "emailAddresses": [ { … } ], "name": "Steve Novosel", "title": "Architect", "deskPhone": null, "mobilePhone": null, "office": { "id": "570e423760dc4c9784d20a38216f0597", "datetimeCreated": "2021-11-03T16:21:02+00:01", "datetimeUpdated": "2024-04-20T16:21:02+00:01", "status": "active", "name": "London", "address": "123 Dundas Street\\nLondon", "phoneCountryCode": 1, "phoneNumber": 3107419309 }, "disciplines": null, "certifications": null, "customerDataWarehouseId": 124, "customerErpId": "fc95ced9-8c56-4a53-89b2-1c7217ea5a9c", "customerCrmId": "fcdaf58d-5497-47a2-af3d-077c928eda27" }
https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons
https://us-api.tonicdm.com/core/persons
https://de-api.tonicdm.com/core/persons
https://ie-api.tonicdm.com/core/persons
curl -i -X PATCH \
https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/persons \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"id": "8e8aa42241794371ae9d0ed7b67a8c86",
"emailAddresses": [
{
"id": "8e8aa42241794371ae9d0ed7b67a8c86",
"personId": "8e8aa42241794371ae9d0ed7b67a8c86",
"status": "active",
"emailAddress": "user@example.com",
"name": "string",
"title": "string",
"deskphoneCountryCode": 0,
"deskphoneNumber": 0,
"deskphoneExtension": 0,
"mobilephoneCountryCode": 0,
"mobilephoneNumber": 0,
"dateActive": "2019-08-24",
"dateInactive": "2019-08-24",
"isPrime": true,
"customerDataWarehouseId": "string",
"customerErpId": "string",
"customerCrmId": "string"
}
]
}'
{ "id": "1edb8a0bb607442ba167b9d28a75778c", "datetimeCreated": "2021-11-03T16:21:02+00:02", "datetimeUpdated": "2024-04-20T16:21:02+00:02", "status": "active", "emailAddresses": [ { … }, { … } ], "name": "Stuart de Silva", "title": "Senior Designer", "deskPhone": null, "mobilePhone": null, "office": { "id": "89df34cecd394e179436abc435368e53", "datetimeCreated": "2021-11-03T16:21:02+00:02", "datetimeUpdated": "2024-04-20T16:21:02+00:02", "status": "active", "name": "Dublin", "address": "50 Merrion Square South\\nDublin", "phoneCountryCode": 1, "phoneNumber": 3107419309 }, "disciplines": null, "certifications": null, "customerDataWarehouseId": 125, "customerErpId": "1b8c8dfc-daeb-42fd-8f50-b709a6dadf1a", "customerCrmId": "39b1011e-e21a-4518-8825-7b63f2fabe92" }