The XVergabe Bidder Interface defines a set of operations for end to end communication that are provided by a tendering platform and invoked by a bid client. Additionally, the interface defines a set of messages that can be exchanged between bidder client and platform with these operations.
Technically, the Bidder Interface is specified as a SOAP web service (see Figure 3). SOAP defines the protocol of the message exchange between bidder client and tendering platform. To define the structure of the exchanged messages, XSD (XML Schema Definition) is used. The exchanged messages themselves are represented in XML that meets the requirements of the XSD schema.
Figure 3 - Technical implementation of the XVergabe Bidder Interface as SOAP web service.
The interface is implemented on both sides by solution providers: the bid client (active) and the tendering platform (passive). Communication between client and platform is always initiated by the client. The client uses one of the provided web service operations to send messages to the platform. The platform processes these messages and creates responses directed at the client. Since the communication is unidirectional, the client has to retrieve the messages directed at it, similar to using a mail client to retrieve mail from mail server.
The XVergabe Bidder Interface specifies five web service operations. Table 1 summarizes the function of each operation. The web service operations are specified in the file xvergabe-service.wsdl.
Operation | Description |
---|---|
subscribe | By calling this operation, a bidder can subscribe a tendering procedure. After subscription, he is able to retrieve messages concerning the procedure by calling getMessages. |
sendMessage | By calling this operation, a bidder can send messages to the platform. Such messages include offers and inquiries (see Table 2). |
getMessages | By calling this operation, a bidder can retrieve all messages from the platform directed at him concerning a specified tendering procedure. A message may contain a reference to a document file that the bidder can download via getDocument. |
getDocument | By calling this operation, a bidder can download binary documents from the platform (tendering documents, answers to inquiries, …). |
getTenderIDs | Returns a list of the IDs of all tendering procedures the bidder has subscribed for. These IDs are needed to call the other operations. |
Table 1 - Web service operations provided by the XVergabe Bidder Interface.
The operations sendMessage and getMessages define a relatively open interface for exchanging messages between bidder client and tendering platform. Table 2 lists the type of messages that can be exchanged. Some messages are to be sent from client to platform, others from platform to client. The structure of the messages is specified in the file xvergabe-messages.xsd
Message | Sender | Receiver | Description |
---|---|---|---|
ClientInquiry | client | platform | Contains a document sent from client to the platform. This document can for example contain questions concerning a tendering procedure. These questions can then be answered via a ServerInquiry. |
InvitationToParticipation | platform | client | Contains the documents needed to take part in a participation contest of a tendering procedure. |
InvitationToTender | platform | client | Contains the tendering documents needed to take part in the bidding phase of a tendering procedure. |
Notice | platform | client | Contains the notice information of a tendering procedure. |
Offer | client | platform | Contains the offer documents. With this message a bidder takes part in the bidding phase of a tendering procedure. |
OfferDeliveryReceipt | platform | client | Contains an affirmation for the duly received offer documents. |
OfferWithdrawal | client | platform | With this message, a bidder can withdraw a previously submitted offer. |
OfferWithdrawalReceipt | platform | client | Contains an affirmation for the duly received offer withdrawal. |
Participation | client | platform | Contains the participation documents. With this message a bidder takes part in the participation phase of a tendering procedure. |
ParticipationDeliveryReceipt | platform | client | Contains an affirmation for the duly received participation documents. |
ParticipationWithdrawal | client | platform | With this message, a bidder can withdraw a previously submitted participation. |
ParticipationWithdrawal-DeliveryReceipt | platform | client | Contains an affirmation for the duly received participation withdrawal. |
Response | platform | client | Technical response of the platform to a request by a bidder client. May contain an error code. |
ResultNotice | platform | client | Contains information about the result of a tendering procedure. If a bidder won a procedure, he may be notified via ResultNotice. |
ServerInquiry | platform | client | Contains a document sent from the platform to the client. This document can for example contain answers to bidder questions previously sent via ClientInquiry. |
TenderMetaInformation | platform | client | Contains meta information about a tendering procedure. This message is sent each time some attribute of a tendering procedure changes so that all bidders are up to date. |
Table 2 - Messages that are exchanged between bidder client and tendering platform via sendMessage and getMessages.