waiaconnect

Documentazione / Completo

Idempotenza, nuovi tentativi e ordine di consegna

Markdown

Invio: manda sempre un Idempotency-Key in POST /v1/messages. La generi tu, non te la diamo noi: un UUID v4 nuovo per ogni messaggio che vuoi mandare (non per ogni tentativo HTTP — il bello è proprio ripetere la stessa quando riprovi). Un nuovo tentativo con la stessa key restituisce lo stesso record (200) invece di duplicarlo. La fonte di verità è MariaDB (salviamo prima di mettere in coda), quindi un 202 non si perde mai anche se Redis va giù.

Consegna (webhook): 5 tentativi in totale: il primo e 4 nuovi tentativi a 1m → 5m → 30m → 2h. Per deduplicare usa l'id della busta (evt_…): è lo stesso in ogni tentativo e in ogni endpoint. L'X-Connect-Delivery-Id identifica la consegna a UN endpoint, non l'evento. Dopo 20 errori di fila l'endpoint si disattiva da solo (avviso critical) e lo riattivi dal pannello.

Ordine: l'ordine di consegna NON è garantito (nuovi tentativi + concorrenza). Ordina tu per createdAt (ISO-8601 Z) + sequence (monotono per connessione; 0 quando connection è null).

Il tuo endpoint deve essere idempotente: la stessa consegna può arrivare più di una volta.