logo

Data service public procurement

Table of contents

Status and transfer information

All status and error information of an announcement can be queried using the REST API of the Vermittlungsdienst. The status and error information of the BKMS and TED is regularly queried and stored by the Vermittlungsdienst or eSender Hub, so that the status and further information on an announcement is available for further retrieval at any time.

Contents



Endpoints for querying status and transfer information

To query the status and transfer information, the Vermittlungsdienst provides the endpoints GET /v1/notices for a list of data deliveries, GET /v1/notices/status for a list of data deliveries in a specific period and GET /v1/notices/{trackingcode} and GET /v1/notices/by-notice/{noticeId}/{version} for a single data delivery.

The Vermittlungsdienst performs status queries to BKMS and TED every three minutes. It therefore makes sense to query the status information of the notices to the Vermittlungsdienst every 5 minutes at most.

The corresponding OpenAPI specification can be found at https://ozg-vermittlungsdienst.de/ and is available for download in JSON format at https://ozg-vermittlungsdienst.de/Vermittlungsdienst_REST-API.json.

Structure of the status information

The endpoints for querying the status information return the status information for each announcement within the delivery schema as follows

<?xml version="1.0" encoding="UTF-8"?> <deliveries start="0" max="100" total="1234"> <delivery> <noticeId>3fa85f64-5717-4562-b3fc-2c963f66afa6</noticeId> <noticeType>CN</noticeType> <trackingCode>3446e1ee-5917-4d31-b623-81ddfb038d82</trackingCode> <awardId>string</awardId> <award number>V0505/2021</award number> <description>string</description> <tedPublicationLink>https://preview.ted.europa.eu/udl?uri=TED:NOTICE:{publicationId}:HTML:DE:HTML</tedPublicationLink> <bkmsPublicationLink>https://alpha.oeffentlichevergabe.de/ui/de/search/details?{noticeId}</bkmsPublicationLink> <tedStatus>PENDING</tedStatus> <tedStatusUpdate>2023-11-03T15:01:38.373Z</tedStatusUpdate> <tedAcceptedTimestamp>2023-11-03T15:01:38.373Z</tedAcceptedTimestamp> <tedPublishedTimestamp>2023-11-03T15:01:38.373Z</tedPublishedTimestamp> <tedPublicationId>string</tedPublicationId> <doeStatus>AWAITING_TRANSFER</doeStatus> <doeStatusUpdate>2023-11-03T15:01:38.373Z</doeStatusUpdate> <statusDescription>string</statusDescription> <transferResponse> <warnings> <warning> <source>TED</source> <description>The value of BT-701-notice must match the &apos;ProcedureOrNoticeID&apos; pattern</description> <path>/can:ContractAwardNotice/cbc:ID</path> <rule>BR-BT-00701-0052</rule> <ruleContent>matches(normalize-space(.),&apos;^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$&apos;)</ruleContent> </warning> </warnings> <errors> <error> <source>TED</source> <description>The value of BT-701-notice must match the &apos;ProcedureOrNoticeID&apos; pattern</description> <path>/can:ContractAwardNotice/cbc:ID</path> <rule>BR-BT-00701-0052</rule> <ruleContent>matches(normalize-space(.),&apos;^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$&apos;)</ruleContent> </error> </errors> </transferResponse> <validation> <validatedEformsVersion>eforms-sdk-1.0.0</validatedEformsVersion> <description>Result report of the validation of the data delivery by the Vermittlungsdienst</description> <warnings> <warning> <rule>rule|text|BR-BT-00506-0052</rule> <ruleContent>matches(normalize-space(.),&apos;^[a-zA-Z0-9][a-zA-Z0-9._%+-]*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,63}$&apos;)</ruleContent> <description>The value of BT-506-Organization-Company must match the &apos;Email&apos; pattern</description> <path>/ContractNotice/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization[1]/efac:Company</path> <type>SCHEMATRON</type> </warning> </warnings> <errors> <error> <rule>rule|text|BR-BT-00506-0052</rule> <ruleContent>matches(normalize-space(.),&apos;^[a-zA-Z0-9][a-zA-Z0-9._%+-]*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,63}$&apos;)</ruleContent> <description>The value of BT-506-Organization-Company must match the &apos;Email&apos; pattern</description> <path>/ContractNotice/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization[1]/efac:Company</path> <type>SCHEMATRON</type> </error> </errors> <schematronValidated>true</schematronValidated> </validation> <created>2023-11-03T15:01:38.373Z</created> <lastUpdated>2023-11-03T15:01:38.373Z</lastUpdated> </delivery> </deliveries>

The status information contains the status of the Public Procurement data service doeStatus, the last change date of the public procurement status doeStatusUpdate and a description of the currently set status statusDescription for both subthreshold and above-threshold notifications.

For above-threshold announcements, the TED status tedStatus with the last change date tedStatusUpdate is also transmitted. The TED status values are based on the EU status values.

Status table: Transmission of a notification

DÖE-StatusFinal Status?Status Description
AWAITING_TRANSFERnoThe notice has been accepted and approved by the mediator. Further dispatch is being prepared.

Once the transmission of a contract notice has been successfully completed, the status of the contract notice is set to AWAITING_TRANSFER and the Vermittlungsdienst begins with further steps in the processing of the sub- or overthreshold award. The following status tables list the possible statuses for the processing of the subthreshold and superthreshold award.

Status table: Upper threshold award

The following status combinations can be transmitted when querying the status of an upper-threshold award.

TED statusDÖE statusFinal status?Status descriptionPublish on award platform?
PENDINGPENDINGnoThe announcement has been accepted by the eSender for further processing. The announcement has not yet been sent to TED and the announcement service.still waiting
NO_RESPONSEPENDINGnoTransmission to TED will be attempted again. The transmission of the announcement to the announcement service is still pending.still waiting
ACCEPTEDPENDINGnoThe announcement has been accepted by TED, transmission to the announcement service is still pending.48h after tedAcceptedTimestamp
ACCEPTEDACCEPTEDnoThe announcement has been accepted by TED and the announcement service, but has not yet been published.48h after tedAcceptedTimestamp
ACCEPTEDPUBLISHEDnoThe announcement has been accepted by TED but not yet published. The announcement has already been published in the announcement service48h after tedAcceptedTimestamp
PUBLISHINGPENDINGnoThe announcement is published in TED, the transmission to the announcement service is still pending.48h after tedAcceptedTimestamp
PUBLISHINGACCEPTEDnoThe announcement is published in TED, the announcement has been accepted by the announcement service.48h after tedAcceptedTimestamp
PUBLISHINGPUBLISHEDnoThe announcement is published in TED, the announcement has been published in the announcement service.48h after tedAcceptedTimestamp
STOPPEDNOT_SENDyesThe announcement has been stopped in TED and will not be sent to the announcement service.no
STOPPEDPENDINGnoThe announcement has been stopped in TED and will soon be stopped in the announcement service.no
STOPPEDACCEPTEDnoThe announcement has been stopped in TED and will also be stopped in the announcement service shortly. no
STOPPEDPUBLISHEDnoThe announcement has been stopped in TED and will also be stopped in the announcement service shortly.no
STOPPEDSTOPPEDyesThe announcement has been stopped in TED as well as in the announcement service.no
PUBLISHEDPENDINGnoThe announcement has been published in TED, the transmission to the announcement service is still pending. yes
PUBLISHEDACCEPTEDnoThe announcement has been published in TED and accepted by the announcement service, but not yet published.yes
PUBLISHEDPUBLISHEDyesThe announcement has been published in TED and in the announcement service.yes
MANUALLY_REJECTEDNOT_SENDyesThe announcement was either manually rejected by TED due to a legal check or by the Vermittlungsdienst due to an error and will not be published by TED or the announcement service. This can be distinguished by the error message.no
MANUALLY_REJECTEDPENDINGnoThe announcement has been manually rejected by TED due to a legal check and will also be stopped in the announcement service shortly.no
MANUALLY_REJECTEDACCEPTEDnoThe announcement was manually rejected by TED due to a legal check and will also be stopped in the announcement service shortly.no
MANUALLY_REJECTEDPUBLISHEDnoThe announcement was manually rejected by TED due to a legal check and will also be stopped in the announcement service shortly.no
MANUALLY_REJECTEDSTOPPEDyesThe announcement was manually rejected by TED due to a legal check and has also been stopped in the announcement service.no
REJECTEDINTERNAL_ERRORnoAn internal error has occurred. The support team will take a closer look at the announcement, the status will then change.still waiting
NOT_SENDINTERNAL_ERRORnoAn internal error has occurred. The support team will take a closer look at the notification and the status will then change.

Status table: Sub-threshold award

The following status combinations can be transmitted when querying the status of a subthreshold award.

DÖE statusFinal status?Status description
ACCEPTEDnoThe announcement has been accepted by the announcement service.
REJECTEDyesThe announcement has been rejected by the BKMS.
PROCESSINGnoThe announcement is being processed by the BKMS.
PUBLISHEDyesThe announcement has been published in the BKMS.
STOPPEDyesThe announcement has been stopped in the announcement service.

Structure of the transfer information

The transfer information is also contained in the delivery schema for each announcement. This information includes warnings and error messages from the Vermittlungsdienst, the announcement service and TED.

<?xml version="1.0" encoding="UTF-8"?> <delivery> ... <transferResponse> <warnings> <warning> <source>BKMS</source> <description>string</description> <path>string</path> <rule>string</rule> <ruleContent>string</ruleContent> </warning> </warnings> <errors> <error> <source>BKMS</source> <description>string</description> <path>string</path> <rule>string</rule> <ruleContent>string</ruleContent> </error> </errors> </transferResponse> ... </delivery>

Within the transfer information transferResponse, warnings warnings are listed separately from error messages errors. It is possible to receive several warnings and error messages as a response for each notification.

A single warning and a single error message have the same structure. source specifies the system in which the warning or error originated. The following values are possible in source:

values in sourcedescription
TEDErrors and warnings that come from TED. This includes both the http codes (5**, 4**), which are returned in the event of an unsuccessful transmission, as well as errors and warnings from the TED validation report.
BKMSErrors that come from BKMS when BKMS returns an http code that represents an unsuccessful transmission (5**, 4**).
PRE_VALIDATIONErrors and warnings from the internal validation service.

The description contains the description of the warning or error message. The path indicates the position where the error or warning occurred. The rule tag contains the name of the rule applied and ruleContent contains the rule actually applied.

Warnings and error messages from the announcement service and from TED are passed through unchanged.

Lawfulness Warnings

In addition to errors, there are also warnings. These come exclusively from the EU rules and, unlike errors, do not prevent the notice from being accepted. TED has currently only defined one type of warning, so-called "lawfulness warnings". These will most likely be almost irrelevant for German notices, but are technically possible.

A lawfulness warning means that a manual review of a notice at TED is necessary. TED then checks the content of the announcement and decides whether it will be published or rejected and not published. TED has up to 5 days to make this decision. For this reason, notices with a lawfulness warning are only forwarded to the BKMS upon publication or 5 days after successful submission to TED.