DataSync
DataSync is how the platform tells you what happened after a call returns: renewals, failed charges, endings. The synchronous response tells you the outcome of the request you made; DataSync is the durable record of the subscription's life, and the two are not substitutes for each other.
The three things an SP gets wrong here:
- At-least-once, not exactly-once. The same event can arrive twice; the receiver must be idempotent or a duplicate becomes a double action.
- Verify the signature over the RAW BODY, before parsing. Re-serialising changes the bytes and the signature will fail intermittently, which reads as our bug.
- Registration is per short code; enablement is per service. Both must be on. A silent no-events situation is almost always one of the two switched off.