Simap API Changelog

The API Documentation can be found here.

Changelog v1.3.0

New flag offerDigitalExternalPlatform with offerDigitalExternalPlatformUrl

A new offer-type offer_digital_external_platform is added which indicates that vendor-submissions must be sent via an external digital platform. With it comes the field offerDigitalExternalPlatformUrl which points to the external platform.

offerDigitalExternalPlatformUrl will be sent to TED (BT-18) if the offer-type offer_digital_external_platform is present and offer-type offer_digital_simap is not.

For consistency reasons a general renaming has been done: - physical is renamed to external

Affected by this renaming are following types, models and endpoints: - PubOfferType: offer_physical -> offer_external - ProcOfficeVendorActionType: - mark_offer_physical_submission -> mark_offer_external_submission - mark_participation_physical_submission -> mark_participation_external_submission - mark_request_for_information_physical_submission -> mark_request_for_information_external_submission - InvolvedVendorStatus: - offer_physical_submission -> offer_external_submission - participation_request_physical_submission -> participation_request_external_submission - request_for_information_physical_submission -> request_for_information_external_submission - Fields in model InvolvedVendor: - offerPhysicalSubmissionDateTime -> offerExternalSubmissionDateTime - participationPhysicalSubmissionDateTime -> participationExternalSubmissionDateTime - rfiPhysicalSubmissionDateTime -> rfiExternalSubmissionDateTime - Endpoints: - /api/procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/offer-physical-submission -> /api/procoffices/v1/my/projects/{projectId}/involved-vendors/{vendorId}/offer-external-submission - /api/procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/participation-physical-submission -> /api/procoffices/v1/my/projects/{projectId}/involved-vendors/{vendorId}/participation-external-submission - /api/procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-physical-submission -> /api/procoffices/v1/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-external-submission

New action edit-internal-reference of a project for proc offices

To edit the internal-reference of a project for proc offices a new endpoint is added:

PATCH /api/procoffices/v1/my/projects/{projectId}/internal-reference

The corresponding action for editing the reference is available in the proc office project header; ProcOfficeProjectOtherActions.edit_internal_reference.

Also the addition of the limit of 70 chars for the internalReference. Previously only enforced in the frontend. The limit applies when creating a new project or updating the existing reference with the new patch endpoint.

Zip Download

Three new endpoints added:

The zip-download-endpoint provides a streaming output which allows downloading all the documents of a project as a zip-file (optional can be filtered for a specific lot or qna-round).

For every zip-download a token has to be obtained via the respective zip-token-endpoint. The returned token consists of all the necessary information for the download.

The zip-token-endpoints have the same filter-parameters as the search-endpoints:

Using the same filter-parameters the same documents will be returned/zipped.

Breaking change?

No

Allow not_specified for field contractDeadlineType on tenders

The model-validation allows the value not_specified for field contractDeadlineType. The related fields contractPeriod and contractDays must be null in such a case.

Following models contain this field:

Breaking change?

No

Refactored publications project-search, vendor and proc office projects-overview model and endpoints

Update the public project-search / vendor projects-overview model (ProjectsSearchEntry) and the proc-office (ProcOfficeProjectsOverview) model.

The returned projects now contain the data of the project-search-detail / projects-overview-detail endpoints.

You’ll find the lots data from the detail model on the returned entry with minor renaming of the properties for the new model.
The old project type properties, orderType, studyType, competitionType, are now available as a single value projectSubType.

Additionally the information about the latest orderAddress of the project or the available lots respectively. See the property descriptions in the models for more details abut the availability of the address.

As the project-search-detail / projects-overview-detail endpoints are redundant now, they are removed:

Also, the api version was bumped to v2 for the following endpoints:

New public project search filters

Addition of the following query parameters to filter projects in the public search:

For more details see the Documentation on the parameters on the /publications/v2/project/project-search endpoint.

Breaking change?

Yes

Updated version of the existing endpoints and removal of the redundant endpoints.

Updated Subscription model for the new public project search filters

Updated the SubscriptionFilters of the Subscription model. Added orderAddressCountryOnlySwitzerland and orderAddressCantons, the new filter parameters of the public project search.

Breaking change?

No, addition - new optional properties.

Static Content and Content Management

A new endpoint /api/static/v1/pages/{pageName} to fetch and update static content.

This new endpoint offers basic content management functionality and supports two roles:

Content Organization

Content is organized into pages and tabs, which define the structure and navigation where content components are displayed.

Predefined Structure

A fixed set of allowed page/tab combinations is available. These combinations are immutable and cannot be added or removed.

Flexible Content Assignment

Each page/tab combination can have multiple cards/content-components of any type assigned to it. These components must have a unique position within their tab. A tab can contain zero cards/content-components

Positioning Rules

The position of a component must:

Update the http method on the reject new proc office endpoint to be spec compliant

Transform the DELETE /api/procoffices/v1/po/{procOfficeId}/reject to a POST request to be compliant with the OpenAPI v3 specification that does not allow a DELETE request with a request body.

No further changes to the request / endpoint.

Breaking change?

Yes, change of the http method.

Note, as consumers you are probably not affected by this change, as this endpoint is used by the competence_centre_admin role and have no need to implement this endpoint as it’s used to administer newly registered proc offices.

Addition of missing discriminator properties that improve the deserialization of the json responses

Added the missing projectType discriminator property to the PubDraftDetail / PublicationDetail models. The property is used in the PublicationAdvanceNoticeDetailDiscriminator oneOf schema to determine the correct detail model.

Breaking change?

No, additional property on a read only model.

Error Codes

New Error Codes where added which can occur at /api/static/v1/pages/{pageName}:

Improved error-handling in case URL-fields contain an invalid url

If an invalid url is sent the error-code E0076 is returned now. Additionally, the affected fields will be listed in the error-response (field errors).

All endpoints where the request-model contains an url-field can throw this new error:


Changelog v1.2.1

New information and stricter validation for digital submissions of vendors

Added the hasDocuments property to the PublicProjectHeaderVendorDigitalSubmissionInfo model. The flag describes if a submission has any documents uploaded. Empty digital submissions can not be submitted.

PublicProjectHeaderVendorDigitalSubmissionInfo is part of the the PublicProjectHeader as latestVendorDigitalSubmission. See also the /api/publications/v2/project/{projectId}/project-header endpoint.

New dedicated error code, E0075 - Digital Submission without documents, for the submit of empty offers on /api/vendors/v1/my/digital-submissions/{vendorDigitalSubmissionId}/submit.

Breaking change?

No, addition of a new read only value.


Changelog v1.2.0

New release containing multiple major features like the implementation of:

Implementation of the invitation process

Implementation of the invitation process within the existing publications.

Create and edit pub drafts for the invitation process

Adaption of the existing api models for the invitation process on the following endpoints:

  1. /pub-drafts/v1/tender/{pubDraftId}/dates
  2. /pub-drafts/v1/competition/{pubDraftId}/dates
  3. /pub-drafts/v1/study-contract/{pubDraftId}/dates
  4. /pub-drafts/v1/pd/{pubDraftId}/detail
  5. /publications/v1/project/{projectId}/publication-details/{publicationId}
  6. /pub-drafts/v1/tender/{pubDraftId}/invited-vendors
  7. /pub-drafts/v1/competition/{pubDraftId}/invited-vendors
  8. /pub-drafts/v1/study-contract/{pubDraftId}/invited-vendors

Number 1 - 5 concerns date fields for the models in the invitation process:

Number 4-5, referencingPub on awards is now optional, as no reference to the tender may be added to an award in the invitation process if it is not publicly available.

Number 4-8, new step / new property invited-vendors in the details.

Proc office and vendor endpoints

New endpoints for the proc office and the vendors to process invitations to a project.

Proc office endpoint to invite vendors after the publication has been created
/procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/invite. Akin to the involveVendorInProject endpoint for projects in other process types.

Vendor endpoint for the rejection of an invitation to a project. /publications/v1/project/{projectId}/decline-invitation

Breaking change?

Yes, if you used the invitation models, but we don’t increase the api version for the affected endpoints as the invitation process was not previously supported and the existing models were marked as experimental.

Implementation of the rfi publication

Implementation of the RFI publication with their own process type no_process meaning an RFI project does not follow the regular procurement lifecycle and is technically not even a procurement project.

Renaming and amending of existing RFI detail models to PubDraftRfiBase, PublicationRfiBase. The TBD property was removed and the models now contains the fields used in the RFI.

Added new endpoints to create and edit an RFI publication akin to the other publication types.

Added the request_for_information to the ProjectSearchPubTypeFilter of the project search.

New endpoint for marking externally submitted RFI submissions /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-physical-submission.

Breaking change?

Yes, if you used already existing RFI models, but we don’t increase the api version for the affected endpoints as the RFI was not previously supported and the existing models in the detail were marked as experimental.

Digital submission

New endpoints for the digital submissions of tenders for interested vendors and for the proc office to view the submissions after the set deadlines are reached.

New endpoints for the management of digital submissions by vendors for their projects.

New endpoints for managing the submission documents:

Note: the download of the submission documents is restricted to the proc office that manages the tender. This is due to security concerns regarding leaking of the submission documents within the vendor organization.

/vendor-digital-submission-documents/v1/docs/{vendorDigitalSubmissionDocumentId}/token /vendor-digital-submission-documents/v1/docs/{vendorDigitalSubmissionDocumentId}?token={token}

Proc Office Project Contributor

Creation of the new proc office member role procurement_project_contributor. New proc office members will start with this role. They have a reduced view, can only see the projects where they contribute and need to be invited by a procurement_user or procurement_admin. See the x-roles property on the endpoints.

New proc office member hierarchy:

  1. procurement_admin
  2. procurement_user
  3. procurement_project_contributor

procurement_project_contributor was added to the ProcOfficeRole, AssignableRole and RedirectRole.

New endpoints for projects for proc office users and admins see the projects contributors and manage them.

Amendment of existing endpoints for the new role

Vendor Profile

New endpoints to upload and manage vendor documents in the vendor profile. These documents can be used within a digital submission for a project

Amendment of existing endpoints

Added property legalFormCode to the vendor profile, replaces legalForm which was declared as deprecated and read-only value.

Added property businessPurpose to public vendor directory.

Deprecations

The property legalForm of the vendor is deprecated use the new legalFormCode field and migrate your data. The field will be removed in the next release / version.

Breaking change?

No, only additions and the obsolete field is read-only and marked as deprecated.

Project Header

The vendor actions required for digital submission are now mapped in the PublicProjectActions. The structure is akin to the ProjectHeader for the proc offices. The actions are divided according to the lot type of the tender.

Endpoint /publications/v1/project/{projectId}/project-header is replaced by v2 /publications/v2/project/{projectId}/project-header.

Changes to the vendor status and actions

Updated the values for the vendorStatus property, the ProjectInterestStatus is replaced by ProjectInvitedOrInterestedVendorStatus which contains the old interest_shown/ interest_withdrawn values in addition to the invited / invitation_declined values for projects in the invitation process.

The ProjectInterestStatus remains in use for the mark interest /publications/v1/project/{projectId}/interest request.

Breaking change?

Yes, migrate to the v2 of the endpoint and handle the updated model. The actions are only available for vendors but the change affects all as the endpoint is used for the general project data.

offer / participation protocol

Endpoints adjusted to follow naming convention for consistency: - /procoffices/v1/my/projects/{projectId}/offer_protocol -> /procoffices/v2/my/projects/{projectId}/offer-protocol - /procoffices/v1/my/projects/{projectId}/participation_protocol -> /procoffices/v2/my/projects/{projectId}/participation-protocol

Extended the model of the /procoffices/v2/my/projects/{projectId}/offer-protocol with the offerDeadline property.

Extended the model of the /procoffices/v2/my/projects/{projectId}/participation-protocol with the participationDeadline property

Breaking change?

Yes

Proc office involved vendors

With a bugfix for the date-time field for the involved vendors of a project, the updatedAt property of the InvolvedVendor model was renamed to statusChangedAt. This was done to use a more descriptive name and prevent misunderstandings, as the model carries various dates and the property is the date-time for the displayed status.

Also the property type was changed from date-time to the DateOptionalTime object, to correctly return values that exists for the recorded submission dates.

The api version was bumped to v2 for the affected proc-office endpoints: * /procoffices/v2/my/projects/{projectId}/involved-vendors * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId} * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/invite * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/offer-physical-submission * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/participation-physical-submission * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-physical-submission

Breaking change?

Yes, the model for the InvolvedVendor, InvolvedVendorWithActions & InvolvedVendorProtocolResult changed, update the model and the version of the affected endpoints.

Project search and subscriptions with CPC code

New query parameter and property cpcCodes for the public search /publications/v1/project/project-search and the subscription model.

Breaking change?

No, cpcCodes is listed as an optional parameter / property.

CPC Code Cleanup

Model for CPC code adjusted with other code models. On the CPCCode model, id renamed to code.

Increased the version of the cpc code endpoint: /codes/v2/cpc

Breaking change?

Yes, renamed property.

Publication Templates

Create publication templates using the /pub-drafts/v1/pd/{pubDraftId} create endpoint. New additional property isTemplateflag, set to true to create a template. Also competence_centre_admin can also create templates and only templates via this endpoint.

Proc office can use the templates via the /pub-drafts/v1/pd/{pubDraftId} create endpoint. Set the new property createFromTemplateProjectId to create a new project based on a template. See the example payload in the api doc.

In addition:

Removal of the property procOfficeId from the create payload as this was redundant. The backend uses the organizationId from the user context to create the project and publication.

New endpoints for obtaining and searching the templates.

Breaking change?

No. Because the creation of a publication with a different procOfficeId than the one in the user context was not technically possible and would result in a Bad Request. The request is still accepted when the procOfficeId is provided. It’s just ignored thus no breaking change due to the removal of the property.

Copy Publication

New endpoint to copy an existing base / initial publication /pub-drafts/v1/pd/{pubDraftId}/copy. Create a new project / draft publication on the basis of the referenced publication. Only initial publication types (rfi, advanced_notice, call_for_bids) can be the target of the copy. Can’t copy an award without a previous published tender publication.

Changes for TED-Update

With the update to TED-SDK 1.12.0 awards that are published on TED are now required to have a price_of_selected_offers defined. price_range_of_selected_offers is no longer allowed and will therefore produce a validation error.

Error Codes

New Error Codes where added

Document File Formats

Allow additional file formats for documents. The following formats were added:

file ending canonical content types description
.7z application/x-7z-compressed 7-zip archive
.dwg application/acad, image/vnd.dwg AutoCAD file
.01s application/octet-stream SIA 451-Datei (CRB proprietary format)

Added the mentioned content types to DocumentContentType.

Now files with these formats can be used for all document uploads and can be expected in document downloads.

Breaking change?

No, only additions to the DocumentContentType list.


Changelog v1.0.2

Update the Redirect Context Model

Adaptation of the enum of the role property of the RedirectContext.

New enum RedirectRole that contains the previous roles of the previously used enum AssignableRole plus the new value any for better handling of the role change via redirect.

any - any role can be used in the redirect i.e. the user must log-in / be logged-in for the redirect.

Breaking change?

No, the payload only has an additional value.


Changelog v1.0.0

Release version