tripId exists, the message is linked to it and also appears in the trip's activity history, identified by loadingOrderChangeId in the response. Messages whose tripId does not match any existing trip are still accepted (HTTP 201) and returned with tripFound: false and status: "orphan".type, receiver, level, scaling and channel — there are no separate translated name fields.messageId (e.g. to update level/scaling or to attach the user's response). Each call is kept as a new, numbered revision (1, 2, 3, ...) and all of them remain visible in the trip's activity history; nothing is overwritten.createdAt and sentAt let the caller report the dates of the message on their own side; they are returned as clientCreatedAt / clientSentAt. receivedAt is the time the message was received by this endpoint. Clients flagged as read-only cannot use this endpoint and receive a 403 response.curl --location 'https://fmsapi.deltax.la/clients/tripMessage' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"tripId": "0017228764",
"messageId": "MSG-2025-000123",
"type": "alert",
"receiver": "transportCompany",
"message": "La unidad lleva más de 2 horas detenida en ruta",
"level": "high",
"scaling": 2,
"channel": "whatsapp",
"createdAt": "2025-01-15T16:25:00.000Z",
"sentAt": "2025-01-15T16:26:00.000Z"
}'{"message":"Message created successfully","data":{"_id":"507f1f77bcf86cd799439011","messageId":"MSG-2025-000123","revision":1,"latest":true,"tripId":"0017228764","tripFound":true,"status":"linked","type":"alert","receiver":"transportCompany","message":"La unidad lleva más de 2 horas detenida en ruta","response":null,"level":"high","scaling":2,"channel":"whatsapp","loadingOrderId":"507f1f77bcf86cd799439012","loadingOrderChangeId":"507f1f77bcf86cd799439013","clientCreatedAt":"2025-01-15T16:25:00.000Z","clientSentAt":"2025-01-15T16:26:00.000Z","receivedAt":"2025-01-15T16:30:00.000Z"}}