You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specification/api/components/documentation/APIDescription.md
+43-11Lines changed: 43 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,13 @@
1
1
## Overview
2
2
3
-
API for communication suppliers to integrate with NHS Notify.
3
+
API for letter suppliers to integrate with NHS Notify.
4
+
5
+
This API lets you:
6
+
7
+
* Get lists of letters allocated to you
8
+
* Download letter PDFs and metadata
9
+
* Update and manage letter statuses
10
+
* Submit and retrieve management information (MI)
4
11
5
12
This specification represents the in-development 'next' version of the API schema
6
13
and should be treated as unstable
@@ -9,23 +16,21 @@ Use this API to retrieve letters to be printed
9
16
10
17
## Who can use this API
11
18
12
-
The NHS Notify Supplier service is intended for suppliers of print services to the [NHS Notify](https://digital.nhs.uk/services/nhs-notify)service
19
+
The NHS Notify Supplier API is designed for approved print service suppliers who support the delivery of physical letters through the [NHS Notify](https://digital.nhs.uk/services/nhs-notify)platform.
13
20
14
21
## Related APIs
15
22
16
23
The [NHS Notify API](https://digital.nhs.uk/developer/api-catalogue/nhs-notify) is used to send messages to citizens via NHS App, email, text message or letter.
17
24
18
25
## API status and roadmap
19
26
20
-
This API is [in development](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses) meaning:
27
+
This API is [in production, beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses). We are onboarding partners to use it.
21
28
22
-
* it is available for testing in the integration environment
23
-
* we expect to make breaking changes based on developer feedback
29
+
We may make additive non-breaking changes to the API without notice, for example the addition of fields to a response or callback, or new optional fields to a request.
24
30
25
31
## Service Level
26
32
27
-
TBD
28
-
33
+
This service is a [silver](https://digital.nhs.uk/services/reference-guide#service-levels) service, meaning it is available 24 hours a day, 365 days a year and supported from 8am to 6pm, Monday to Friday excluding bank holidays.
29
34
For more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).
30
35
31
36
## Technology
@@ -36,9 +41,20 @@ We follow the [JSON:API](https://jsonapi.org/) standard for our request and resp
36
41
37
42
### Response content types
38
43
39
-
This API can generate responses in the following formats:
44
+
This API can generate responses in the following format:
45
+
46
+
*`application/vnd.api+json` - see [JSON:API specification](https://jsonapi.org/format/#introduction)
47
+
48
+
### Request content types
49
+
50
+
This API will accept request payloads of the following types:
40
51
41
52
*`application/vnd.api+json` - see [JSON:API specification](https://jsonapi.org/format/#introduction)
53
+
*`application/json`
54
+
55
+
The `Content-Type` header may optionally include a `charset` attribute. If included, it **must** be set to `charset=utf-8` Any other `charset` value will result in a `406` error response. If omitted then `utf-8` is assumed.
56
+
57
+
If you attempt to send a payload without the `Content-Type` header set to either of these values then the API will respond with a `415 Unsupported Media Type` response.
42
58
43
59
## Network access
44
60
@@ -60,9 +76,9 @@ To access this API, use the following security pattern:
For details of sandbox test scenarios, or to try out sandbox using our 'Try this API' feature, see the documentation for each endpoint.
77
93
94
+
Alternatively, you can try out the sandbox using our Postman collection
95
+
96
+
You can find our postman collection source in our [public repository on github](https://github.com/NHSDigital/nhs-notify-supplier-api/tree/main/postman).
97
+
78
98
### Integration testing
79
99
80
100
Our integration test environment:
@@ -86,3 +106,15 @@ Our integration test environment:
86
106
You need to get your software approved by us before it can go live with this API.
87
107
88
108
You will also need to follow our steps to - TBD
109
+
110
+
### Production smoke testing
111
+
112
+
Before go-live, you must complete a smoke test in the NHS Notify production environment.
113
+
The smoke test confirms that your live credentials, connectivity, and print workflow operate correctly end-to-end. It will be carried out in coordination with the NHS Notify Supplier API team.
114
+
You will retrieve and print one or more live test letters through the production API, send the printed output to the address provided, and submit a Management Information (MI) update for verification.
115
+
The NHS Notify team will configure your production access, review your results, and confirm that your output meets NHS Notify print specifications.
116
+
117
+
### Onboarding
118
+
119
+
You need to get your software approved by us before it can go live with this API.
120
+
You will also need to be an approved NHS letter supplier under the framework agreement (ADD link) and nominate your technical and operational contacts
Copy file name to clipboardExpand all lines: specification/api/components/documentation/createMI.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
## Overview
2
2
3
-
Submit a Management Information (MI) record for your activity (counts and costs for letters).
3
+
Use this endpoint to send management or operational metrics relating to letter processing and print fulfilment
4
4
5
-
When you submit a create management information request, the endpoint will respond with a created(201) response code along with the created data including a unique id for the record or an unsuccessful (4xx/%xx) response
5
+
When you submit a create management information request, the endpoint will respond with a c201 (Created) response code along with the created data including a unique id for the record or an unsuccessful (4xx/5xx) response
6
6
7
7
Rate limiting applies. On excess requests, you may receive **429 Too Many Requests** (example error code(s): `NOTIFY_QUOTA`). Back off and retry later
Copy file name to clipboardExpand all lines: specification/api/components/documentation/patchLetter.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## Overview
2
2
3
-
Update the status of a single letter by its ID, optionally providing a reason code and text.
3
+
Use this endpoint to update the status of a letter by submitting the new status in the request body, optionally providing a reason code and text.
4
4
5
5
When you make a PATCH request with your application, the endpoint will respond with a successful (200) response code, along with the updated patient resource or an unsuccessful (4xx/5xx) response.
Copy file name to clipboardExpand all lines: specification/api/components/documentation/postLetters.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
## Overview
2
2
3
-
Update the status for (example, PRINTED, DISPATCHED, DELIVERED) of multiple letters by providing the new statuses in the request body, optionally including reason codes and text.
3
+
Use this endpoint to update the status for (example, PRINTED, DISPATCHED, DELIVERED) of multiple letters by providing the new statuses in the request body, optionally including reason codes and text.
4
+
5
+
Use this endpoint when you need to report status changes for several letters at once.
4
6
5
7
When you make a POST update request with, the endpoint will respond with a successful (202) response code or an unsuccessful (4xx/5xx) response.
0 commit comments