Al conectar un número por convivencia, antes de abrir la ventana de Meta, el negocio contesta si quiere que le entreguemos el historial de sus conversaciones: hasta 6 meses, los mensajes de las dos partes, sin grupos. El historial sigue en su teléfono: no se borra ni se mueve nada de ahí. Si contesta que sí, lo pedimos a Meta (se puede una sola vez, al conectar; Meta también le pregunta en la app si lo comparte), lo guardamos cifrado hasta 7 días y te lo entregamos de dos formas, lo primero que pase:
· Por webhook: eventos history.batch con hasta 500 mensajes cada uno (en la forma de Meta, como message.received, con contact y direction), firmados igual que los demás, y un history.completed cuando no queda nada. Van por una cola aparte que no demora tus mensajes en vivo: un historial grande puede tardar horas.
· Por la API, si todavía no tenés webhook: GET /v1/connections/{id}/history te da las tandas en orden (limit 1 a 5, after = el nextCursor anterior). Leer no borra: cuando guardaste una tanda, confirmala con POST /v1/connections/{id}/history/{batchId}/ack.
Cada tanda se borra apenas se entrega (tu 2xx o tu confirmación); lo que no se entrega se borra a los 7 días igual. No cuenta como tráfico ni consume cuota. Si el negocio contestó que no, no pedimos nada a Meta. Si un día nos quedáramos sin espacio, dejamos de guardar historial nuevo y te avisamos con history.dropped.
# 1) read a page (reading does NOT delete)
curl "https://api.waiaconnect.com/v1/connections/conn_…/history?limit=1" -H "Authorization: Bearer wc_live_YOUR_API_KEY"
# → { "data": [ { "batchId": "hb_…", "count": 500, "messages": [ … ] } ], "hasMore": true, "nextCursor": 1 }
# 2) once you stored it, confirm it → deleted from WAIA Connect at once
curl -X POST "https://api.waiaconnect.com/v1/connections/conn_…/history/hb_…/ack" -H "Authorization: Bearer wc_live_YOUR_API_KEY"
# 3) next page: ?after=1 (the nextCursor) — until hasMore is falseDeduplicá por batchId: una tanda puede llegarte dos veces (por ejemplo, si reiniciamos en medio de una entrega).
Si integrás con enlaces de alta, mandá historyDelivery: true|false al crear el enlace si ya le preguntaste a tu cliente; si no, la página se lo pregunta.
history.synced sigue llegando como resumen de cada tanda de Meta (progress: 100 = Meta terminó).