Confirmar entrega o lectura
curl --request POST \
--url https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"messageIds": [
1,
2
],
"status": "delivered"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({messageIds: [1, 2], status: 'delivered'})
};
fetch('https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts"
payload = {
"messageIds": [1, 2],
"status": "delivered"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"ok": true
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"error": "Unauthorized",
"message": "Invalid API key"
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"ok": false,
"error": "Too many requests. Retry in 1 minute."
}Webchat
Confirmar entrega o lectura
Confirma mensajes OUTBOUND recibidos por tu cliente (delivered) o vistos por el destinatario (read). Requiere una API key de servidor. Los mensajes guardados están sent: disponibles, sin implicar entrega ni lectura. La operación es idempotente y nunca retrocede estados; read implica delivered. IDs desconocidos, entrantes, de otra conversación o mensajes failed se ignoran. No modifica contenido ni abre tickets.
POST
/
webchat
/
public
/
v1
/
conversations
/
{id}
/
receipts
Confirmar entrega o lectura
curl --request POST \
--url https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"messageIds": [
1,
2
],
"status": "delivered"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({messageIds: [1, 2], status: 'delivered'})
};
fetch('https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revem.ai/webchat/public/v1/conversations/{id}/receipts"
payload = {
"messageIds": [1, 2],
"status": "delivered"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"ok": true
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"error": "Unauthorized",
"message": "Invalid API key"
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"ok": false,
"error": "<string>",
"message": "<string>"
}{
"ok": false,
"error": "Too many requests. Retry in 1 minute."
}Authorizations
La API key de tu organización, con la forma rvm_<prefijo>.<secreto>, enviada como Authorization: Bearer rvm_…. Revem la emite y sólo se muestra una vez; si la pierdes se reemplaza, no se recupera.
Path Parameters
Identificador de la conversación.
Body
application/json
Response
Confirmación procesada.
