Sink report
Introduction
To enable their partners and customers to detect any missing message on their sink, Cegid Loop publishes every night a daily report of the expected messages for each entity, in the corresponding directory of the sink. This report is published as one (or more if needed) message(s) named according to the following convention: queuing.cpa.comptabilite-fr.cegid.loop.comptaDailyReport-${offset}-${timestamp}
It provides, for each object having been inserted, updated or deleted during the previous day, the timestamp and object ID of each operation.
The values of id
and timestamp
of each item of the records array contained in a daily report can therefore be compared to the values of id
and timestamp
contained in the messages received on the sink during the previous day, to detect any eventual loss of message implying outdated data.
For a given id
and timestamp
reported in the daily report, if no message was found in the sink with matching values, that would mean that a message was not correctly synchronized during the previous day. To do something about it, you should request a partial reinitialization of the entity concerned, for a timeframe including the timestamp of the missing message. Documentation link coming soon
Note: For accounting entries, the report includes only the last update's timestamp for each accounting entry, which only helps detect whether the last update was missed. Indeed, when an accounting entry is updated, a message
comptaEcritureDeleted
followed by a messagecomptaEcritureInserted
are pushed to the sink. As the messagecomptaEcritureInserted
contains the whole accounting entry, any intermediate message lost would not be an issue in ensuring data is kept up to date.
Important fields of the message:
timestamp
: useful to deduce the day of the reportentite_id
: ID of the concerned entityid
: ID of the reportpage
: paginationtopics
: array of objects with following sub-properties:topicName
: name of the topicvalues
: array of objects with following sub-properties:name
: name of business classschemaName
: name of the schemarecords
: array of objects with following sub-properties:id
: ID of the concerned objecttimestamp
: date of last operation for the concerned object (insert/update/delete)
Example
{
"timestamp": 1701825527628,
"application_id": "1999353e-52d1-4598-b76e-6fcbd15620fe",
"entite_id": "b6335a14-3391-4fba-b397-32835fe15e2b",
"id": "b65e1475-3842-49ac-882a-1dccee66b88a",
"page": "1/1",
"topics": [
{
"topicName": "queuing.cpa.comptabilite",
"values": [
{
"name": "ecritureGroupe",
"schemaName": "comptaEcriture",
"records": [
{
"id": "01d8b10e-2679-4d4d-89ef-34702ebee574",
"timestamp": 1701796117000
},
{
"id": "50e15713-fb7c-4e62-8880-3e3bcffd134d",
"timestamp": 1701796117000
},
{
"id": "0888aaed-a0c9-412b-b985-98d0005864dd",
"timestamp": 1701797510000
},
{
"id": "4a311e84-43d5-4c09-a58b-9a10decdd0b4",
"timestamp": 1701797510000
},
{
"id": "121ba87c-0046-480e-9475-a572b73ba70b",
"timestamp": 1701796117000
},
{
"id": "62e6227e-93dc-4e02-b1e7-e12dc60b9111",
"timestamp": 1701796117000
}
]
}
]
}
]
}