SonoGdt / GDT API Documentation
Overview
The SonoGdt / GDT API enables secure file uploads into the Offisy system. This API was developed specifically for integration with GDT and SonoGdt systems to upload medical files such as examination results, reports, and other documents.
Endpoint: File Upload
URL
POST https://my.offisy.at/api/gdt/upload
or
POST https://my.offisy.at/api/sonogdt/uploadDescription
This endpoint allows uploading medical files into the Offisy system. Files are assigned to a specific company (doctor) and a customer (patient). Both the gdt and sonogdt URL prefixes can be used.
Authentication
Authentication is done via HTTP headers. The following headers are required (either with the prefix x-gdt- or x-sonogdt-):
| Header | Type | Description |
|---|---|---|
| x-gdt-company / x-sonogdt-company | UUID | The UUID of the company in the Offisy system |
| x-gdt-customer / x-sonogdt-customer | Integer | The customer ID in the Offisy system. Use field 3000 from the export.gdt |
| x-gdt-secret / x-sonogdt-secret | String | Secret key for authentication. Automatically generated in the Medical Settings. |
Request parameters
Headers
- x-gdt-company or x-sonogdt-company: (Required) UUID format, e.g.
aaaaa-bbbb-cccc-dddd-eeeeeeeeeeee - x-gdt-customer or x-sonogdt-customer: (Required) Integer value, e.g.
1234 - x-gdt-secret or x-sonogdt-secret: (Required) Secret key, e.g.
the.unique.secret. Automatically generated in the Medical Settings. - Content-Type:
multipart/form-data
Form data
- file: (Required) The file to upload. This must be a valid file format (e.g. PDF, image) and must not exceed the maximum file size. It is allowed to upload multiple files in a single request, but each file must be within the size limit.
All valid files are stored in the Offisy system under the specified company and customer.
Restrictions
- Maximum file size: 15 MB
- The company must have sufficient free storage space
- The customer must exist and belong to the specified company
Example request
bash
curl --request POST \
--url https://my.offisy.at/api/gdt/upload \
--header 'Content-Type: multipart/form-data' \
--header 'x-gdt-company: aaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' \
--header 'x-gdt-customer: 1234' \
--header 'x-gdt-secret: the.unique.secret' \
--form file=@/path/to/your/file.pdfResponse
Successful response (Code 200)
json
{
"status": "success"
}Error responses (Code 400)
- Invalid or missing company UUID
json
{
"status": "error",
"message": "UUID forbidden: [invalid-uuid]"
}- Invalid secret
json
{
"status": "error",
"message": "Secret not valid."
}- Customer not found
json
{
"status": "error",
"message": "Customer not found: [customer-id]"
}- Customer belongs to a different company
json
{
"status": "error",
"message": "Der Kunde gehört nicht zu diesem Account."
}- No file found
json
{
"status": "error",
"message": "Keine Datei gefunden."
}- File too large
json
{
"status": "error",
"message": "Die Datei ist zu groß. (Maximal 15 MB sind erlaubt)"
}- Insufficient storage space
json
{
"status": "error",
"message": "Unzureichender freier Speicherplatz."
}Using with Postman
How to use this API in Postman:
- Create a new request with the method POST.
- Enter the URL:
https://my.offisy.at/api/gdt/upload(orhttps://my.offisy.at/api/sonogdt/upload) - In the "Headers" tab add:
x-gdt-company: aaaaa-bbbb-cccc-dddd-eeeeeeeeeeeex-gdt-customer: 1234x-gdt-secret: the.unique.secret(Alternatively, the headers can also start withx-sonogdt-)
- In the "Body" tab select "form-data" and add a key named "file" with type "File".
- Click "Select Files" and choose the file you want to upload.
- Click "Send" to submit the request.
(Note: Generate the secret key x-gdt-secret in the Medical Settings.)