Repository navigation
adsefid v0.3.0
Webhook verification now succeeds against real deliveries, message length limits match the service, and the package ships with tests and an MIT licence. Upgrade if you verify webhooks or send messages near the length limit.
Breaking changes
- A webhook secret that is not valid Base64 is rejected. Pass the secret exactly as the adsefid.com panel shows it; no change is needed for callers already doing so.
Added
- MIT licence.
- Test suite, run in CI.
- More examples: account and client configuration, bulk and peer-to-peer sends with partial-success handling, templates, status, cancel, inbound, and messenger file upload.
- README table of the four
error.detailsshapes: validation, single send, bulk with per-item errors, and cancel.
Changed
- A template parameter declared as
numbermay be sent as a JSON number or a JSON string. A string keeps the exact digits, so"001234"keeps its leading zeros and"1.50"its trailing zero.
Fixed
- Webhook verification never succeeded for genuine deliveries: the HMAC was keyed with the UTF-8 bytes of the Base64 secret instead of the decoded bytes. A raw-key entry point is available if you store the decoded key yourself.
- Message length limits are counted in UTF-16 code units, so an emoji costs two. Messages near the limit were accepted locally and then rejected by the service.
GET /v1/sms/receiverejectscountoutside1..499;0was previously accepted.- A blank or whitespace-only
local_idis treated as not supplied instead of rejected.
Verified against adsefid.com Web Service API documentation v1.11.0.