Skip to content

Commit 829f600

Browse files
Review Comments
1 parent 0375c3e commit 829f600

File tree

10 files changed

+57
-23
lines changed

10 files changed

+57
-23
lines changed

scripts/config/vale/styles/config/vocabularies/words/accept.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Jira
2020
Makefile
2121
OAuth
2222
Octokit
23-
onboarding
23+
[Oo]nboarding
2424
Podman
2525
pre
2626
Python

specification/api/components/documentation/APIDescription.md

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
## Overview
22

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)
411

512
This specification represents the in-development 'next' version of the API schema
613
and should be treated as unstable
@@ -9,23 +16,21 @@ Use this API to retrieve letters to be printed
916

1017
## Who can use this API
1118

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.
1320

1421
## Related APIs
1522

1623
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.
1724

1825
## API status and roadmap
1926

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.
2128

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.
2430

2531
## Service Level
2632

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.
2934
For more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).
3035

3136
## Technology
@@ -36,9 +41,20 @@ We follow the [JSON:API](https://jsonapi.org/) standard for our request and resp
3641

3742
### Response content types
3843

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:
4051

4152
* `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.
4258

4359
## Network access
4460

@@ -60,9 +76,9 @@ To access this API, use the following security pattern:
6076

6177
| Environment | Base URL |
6278
|------------ | -------- |
63-
| Sandbox | `https://sandbox.api.service.nhs.uk/comms` |
64-
| Integration test | `https://int.api.service.nhs.uk/comms` |
65-
| Production | `https://api.service.nhs.uk/comms` |
79+
| Sandbox | `https://sandbox.api.service.nhs.uk/nhs-notify-supplier` |
80+
| Integration test | `https://int.api.service.nhs.uk/nhs-notify-supplier` |
81+
| Production | `https://api.service.nhs.uk/nhs-notify-supplier` |
6682

6783
### Sandbox testing
6884

@@ -75,6 +91,10 @@ Our [sandbox environment](https://digital.nhs.uk/developer/guides-and-documentat
7591

7692
For details of sandbox test scenarios, or to try out sandbox using our 'Try this API' feature, see the documentation for each endpoint.
7793

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+
7898
### Integration testing
7999

80100
Our integration test environment:
@@ -86,3 +106,15 @@ Our integration test environment:
86106
You need to get your software approved by us before it can go live with this API.
87107

88108
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

specification/api/components/documentation/createMI.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## Overview
22

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
44

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
66

77
Rate limiting applies. On excess requests, you may receive **429 Too Many Requests** (example error code(s): `NOTIFY_QUOTA`). Back off and retry later
88

specification/api/components/documentation/getDataId.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Overview
22

3-
Download the data file for a letter via a redirect to a signed URL.
3+
Use this endpoint to get letter data, including downloading the letter's print-ready PDF file.
44

55
Rate limiting applies. On excess requests, you may receive **429 Too Many Requests** (example error code(s): `NOTIFY_QUOTA`). Back off and retry later
66

specification/api/components/documentation/getLetterStatus.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Overview
22

3-
Get the current status of a single letter by its ID.
3+
Use this endpoint to get the current status of a single letter by its ID.
44

55
Rate limiting applies. On excess requests, you may receive **429 Too Many Requests** (example error code(s): `NOTIFY_QUOTA`). Back off and retry later
66

specification/api/components/documentation/headDataId.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Overview
22

3-
Check whether a data file exists for a letter without downloading it.
3+
Use this endpoint to check for the existence of letter data. This is useful for verifying readiness before performing retrieval or print operations.
44

55
## Sandbox test scenarios
66

specification/api/components/documentation/listLetters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Overview
22

3-
Get a LIST of **PENDING** letters that are ready to print .
3+
Use this endpoint to poll letters which are ready to be printed.
44

55
Returns letters whose `status` is **PENDING**.
66
Use `limit` to control list size (max 2500).

specification/api/components/documentation/patchLetter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Overview
22

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.
44

55
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.
66

specification/api/components/documentation/postLetters.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
## Overview
22

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.
46

57
When you make a POST update request with, the endpoint will respond with a successful (202) response code or an unsuccessful (4xx/5xx) response.
68

specification/api/notify-supplier-phase1.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ tags:
6262
- name: data
6363
description: ''
6464
servers:
65+
- url: 'https://internal-dev-sandbox.api.service.nhs.uk/nhs-notify-supplier'
66+
description: Public sandbox
6567
- url: 'http://127.0.0.1:9000'
6668
description: Local development server
67-
- url: 'https://sandbox-server.nhs.uk/nhs-notify-supplier-api'
68-
description: Public sandbox
6969
x-nhsd-apim:
70-
temporary: true
70+
temporary: false
7171
monitoring: false
7272
access:
7373
$ref: ./components/x-nhsd-apim/access.yml

0 commit comments

Comments
 (0)