POST /projects/{project_id}/acknowledgements records your ERP/CRM import outcome on the project — the project-keyed sibling of the tender/order acknowledgements. Use it when your integration creates the Mercura project as an object/document in your own system and you want to report the result (and your document number) back without a PATCH round-trip — for example when your middleware cannot issue the PATCH verb, or when all you hold at creation time is your own document number.
Body fields:
status(required) —SUCCESSorFAILED.external_id— your own id for the created record (e.g. the ERP document number). Typically sent onSUCCESS.message— free-text note; required onFAILEDas the failure reason, optional onSUCCESS.metadata— optional extra references echoed back verbatim for traceability.
Semantics:
- Latest-wins. A later acknowledgement overwrites
status,messageandmetadata;external_idis kept once provided (an id-less follow-up ack never clears it). external_idalso setsobject_number. When you send one it is written to the project'sobject_number(the Objektnummer) as well — the same fieldPATCH /projects/{project_id}writes, and the one Mercura sends back to you aserp_object_idon every later tender/order export. One POST therefore both reports the outcome and establishes the identifier both sides reconcile on; you do not need the PATCH for it. Your value wins over an Objektnummer that came from a GAEB file or from a Mercura user, and an acknowledgement without anexternal_idleaves the existing one untouched. Becauseobject_numberalso groups projects (see Reading projects), rewriting it moves this project into that number's group.- Otherwise recording-only. The project's lifecycle
statusis never changed and no export is re-triggered. The acknowledged outcome (includingexternal_id) is returned on everyGET /projectsread as theacknowledgementfield. - The write advances the project's
updated_at, so amodified_sincedelta-sync surfaces acknowledged projects.
POST /projects/90/acknowledgements HTTP/1.1
Authorization: Bearer <your-api-key>
Content-Type: application/json
{
"status": "SUCCESS",
"external_id": "4500012345",
"metadata": { "erp_client": "100" }
}The response is the recorded acknowledgement (not the whole project): resolved status, the sticky-aware external_id, message, metadata, and the server-side acknowledged_at timestamp.