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/
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" }
Gets data on one or more Staff: emailAddresses in the User's own Organization with an email address of Type business
. This endpoint does not return Person objects. It returns emailAddress objects.
If called with no parameters (ie. /staff
) it will return data for all Staff emailAddress records in no specific order.
Since emailAddress records contain full contact data, a specific set of staff' contact data can be returned by providing the filterIds
parameter with an array of emailAddress id
's (ie. /core/staff
with filterIds={emailAddressId},{emailAddressId}
).
If caching the emailAddress 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 emailAddress data coming from your client side cache, having been retrieved by providing the filterIds
parameter.
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.
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/staff
https://us-api.tonicdm.com/core/staff
https://de-api.tonicdm.com/core/staff
https://ie-api.tonicdm.com/core/staff
curl -i -X GET \
'https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/staff?dataQuantity=id_only&filterDisciplineIds={id}%2C{id}%2C{id}&filterIds={id}%2C{id}%2C{id}&filterOfficeIds={id}%2C{id}%2C{id}&filterStatuses=active%2Cinactive&pageNumber=1&pageSize=100&searchQuery={%22example%22}&sortBy=name&sortDirection=asc' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
Successfully read the resource you requested. One or more records are returned in the form of an array.
Zero or more email addresses that person currently uses, or previously used.
This joins the User Settings to the Person record, which rolls up the email addresses.
Indicates whether the person is a TonicDM Administrator for the Tenant. This setting can only be changed by TonicDM Support. Currently the only valid values are 0
and 1
, but in future this will be a bitwise field indicating different types of administrator.
Offset from UTC for the user's location. This is set automatically by the TonicDM application based on the information provided by their browser.
The division of the Organization that is assigned to the Project or Person. This allows filters/metrics by things like Market Sector or Studio.
Use of this feature requires the TonicDM AdvancedMetrics license.
The division of the Organization that is assigned to the Project or Person. This allows filters/metrics by things like Market Sector or Studio.
Use of this feature requires the TonicDM AdvancedMetrics license.
The division of the Organization that is assigned to the Project or Person. This allows filters/metrics by things like Market Sector or Studio.
Use of this feature requires the TonicDM AdvancedMetrics license.
The division of the Organization that is assigned to the Project or Person. This allows filters/metrics by things like Market Sector or Studio.
Use of this feature requires the TonicDM AdvancedMetrics license.
The date and time the user was last seen. This is when they last made an interactive call to the API.
[ { "emailAddresses": [ … ], "personId": "f3e5ff26-28ff-4cd6-9b1b-e303a185a13a", "dailyReminder": false, "isOrganizationManager": 0, "timezone": "string", "division1": { … }, "division2": { … }, "division3": { … }, "division4": { … }, "datetimeLastSeen": "2019-08-24T14:15:22Z" } ]