Test & Smile Connector
This connector exchanges OMD data with a Test & Smile portal. Customer data including information about the planned resource is transmitted for all upcoming visits.
All data transfer between OMD and the Test & Smile portal is done over HTTPS (TLS), so data is encrypted in transit.
Two methods are provided, time-controlled and event-controlled.
Time-Controlled
Once a day (12:00 a.m.) all data for appointments from -48 h to +48 h for all resources is sent to Test & Smile.
Event-Driven
In the following case, an additional transfer is automatically triggered:
- One or more tasks for a resource are scheduled for today. This also includes the case that one or more orders are moved from one resource to another resource.
Changes to existing orders, planning, new unavailabilities or changes to the daily work pattern are not transmitted.
Requirements
- A Test & Smile portal with the
adminrole - The portal endpoint must be configured with an
https://URL.
Available API
Important: call these endpoints over HTTPS in production so request parameters, credentials, and payload data are encrypted during transport.
Base hostnames:
- Production:
https://www.optimizemyday.com - Sandbox:
https://sandbox.optimizemyday.com
The application exposes two API groups:
- Connector operations under
/rest/v1/*(authenticated,adminrole). - Service info under
/info/*(unauthenticated).
Connector operations
Base path:
/omd-calendar-testandsmile/rest/v1
| Endpoint | Method | Query parameters | Description |
|---|---|---|---|
/push |
GET |
configId (required, integer) |
Processes pending messages in CalendarUpdate for the given configuration and pushes them to Test & Smile and SafetyTest. |
/upload |
GET |
configId (required, integer) |
Uploads all planned visits in the configured time window (hoursBack/hoursForward) for Test & Smile and SafetyTest. |
Responses:
200 OKwith a JSON log payload when processing completes.500 Server Errorwith a JSON log payload whenconfigIdis missing, invalid, or processing fails.
Examples:
GET /omd-calendar-testandsmile/rest/v1/upload?configId=123GET /omd-calendar-testandsmile/rest/v1/push?configId=123
Service info
Base path:
/omd-calendar-testandsmile/info
| Endpoint | Method | Description |
|---|---|---|
/version |
GET |
Returns plain text release version. |
/ (or any other /info/* path) |
GET |
Returns JSON with version, for example: { "version": "<release>" }. |
Configuring the service in OMD
| Preference Name | Default | Description |
|---|---|---|
| calendar.generic.synchronize | false | Used to turn synchronization with generic calendars on or off. |
| calendar.testandsmile.serviceRootUri | The service URI of the Test & Smile portal. | |
| calendar.testandsmile.user | The account name with which the connection is established. | |
| calendar.testandsmile.password | The password with which the connection is established. | |
| calendar.testandsmile.hoursBack | 48 | The number of hours in the past up to which visits are considered for upload. Any visits older that that will not be processed. |
| calendar.testandsmile.hoursForward | 48 | The number of hours in the future up to which visits are considered for upload. Any visits later that that will not be processed. |
Operational Semantics
Selection and processing rules
- Full upload processes planned tasks in the configured window (
hoursBacktohoursForward). - Incremental push processes today's pending
CalendarUpdateentries with actionINSERTorUPDATE. - Only open and assigned tasks are included.
- Resources marked inactive for this connector are excluded.
Transfer format and behavior
- Visits are sent as an XML payload (
Visitswith repeatedVisitentries). - Address and scheduling values are transferred as visit attributes.
Retry behavior
- Repeated upload or push runs are operationally safe and can be used for retries after transient issues.
One-Way Communication
Note that the connector works only in one direction, from OMD to Test & Smile. Data collected with Test & Smile is not communicated back to OMD.
Data Mapping
See the public mapping overview here: Test & Smile Mapping.
Ignore Resource during Communication
To avoid a resource's visits to be considered for synchronization, set the resource's process flow preference calendar.testandsmile.active to false.