Reasonable Use

Use of the Street Manager API is monitored for performance and availability reasons and to help us improve the service. We may contact organisation administrators if our automated tooling determines issues with your integration. As integrators, you should limit your use to what is necessary for the particular task you are performing, and to avoid patterns which may have an adverse impact on the performance of the system or others’ use of the API.

Best Practices

This section is a brief guide on how to design your API integration with Street Manager in order to ensure best practice adherence

Integrating

Authentication

Rate limiting and error handling

Eventing

Querying

Integration Patterns

Integration for an organisations line of business application

An example of this would be a new or existing line of business application used by many users in an organisation involved in street works. The application could have many functions specific to the organisation and complex case management workflows, but also need to submit and retrieve data about street works to Street Manager. Many users in the organisation use the application to interact with their organisations street works but do not necessarily have UI accounts

In this case the application will need an API account created for the service user (or two if acting as both an HA and Promoter). This account will be for API use only, assigned with permissions appropriate for all organisation users and should identifiable as a service account. Internal system user identifiers should be passed via the internal_user_identifier and internal_user_name in POST/PUT requests to allow Street Manager to record and display who performed actions submitted from your system.

Applications should use a synchronous approach for submitting and updating items, calling the API when a user makes a significant change that would affect a work, as the user may miss an error returned by API (validation/duplicate data etc.) if updates are pushed onto a backround queue.

If notifcations for changes to items (e.g. Permit rejections/comments) to organisation users are required, the application should monitor Street Manager for updates. See Getting data from Street Manager for details on this.

Integration for software acting for a single user

An example of this would be an application used to submit or retrieve information on works relating to a single user calling the Street Manager API synchronously, such as a mobile application used by an inspector to view permit details and submit inspection results.

The users for this application should be setup as both UI/API users. These accounts should not be shared between users, so actions carried out by the user can be traced back to individuals.

Integration for extracting reporting data on street works

An example of this would be an application used by an organisation to extract specific street work data for organisation specific reporting. This could be for automating operational reports that are generated on a scheduled basis.

This account should use an individual API service account with only permissions to retrieve necessary data for reporting, not a shared account used by other systems. This ensures that the account cannot accidentally submit information or affect your other systems integration.