← ClaudeAtlas

dove-reportlisted

Fetch and decode Dove Soft DLT delivery reports for a given date — per-number delivery status with DLT reason → error-code mapping. Use when the user asks "did it deliver?", "check the delivery report", "DLR", "what happened to my sms", "/dove-report".
sandeep121sandeep/dove-sms-skill · ★ 0 · Data & Documents · score 68
Install: claude install-skill sandeep121sandeep/dove-sms-skill
# /dove-report — delivery reports Engine: `dove.py` in this skill's folder. Config: shared `~/.dove/config.json`. ## Fetch a report ``` # whole day python3 ~/.claude/skills/dove-report/dove.py report --date <YYYY-MM-DD> # filter to one send (use the BATCH id printed at send time, e.g. 38353-...) python3 ~/.claude/skills/dove-report/dove.py report --date <YYYY-MM-DD> --messageid <batch> ``` Each row prints: `mobile deliverystatus reason sender batch`. ## How to read it - `DELIVRD` → delivered (code 000). - `UNDELIV — DLT Template Not Matched` → 633 (content ≠ registered template). - `UNDELIV — No CTA Whitelisted` / `URL CTA Not Matched` → 700 / 701 (promo URL). - `blocked — blocked_ndnc` → 004 (number on DND; promotional route). - Decode any reason/code with `/dove-errors`. ## Gotchas (handled by the tool, good to know) - `getreport.jsp` is **incremental** — only returns un-downloaded DLRs unless re-downloaded (tool passes `redownload=yes`; Dove caps re-downloads at 7). - `--messageid` matches the **batch id** (the `38353-...` string from the send response), not the numeric message id. - Promotional DLRs can lag a few minutes after send — re-run if a row is missing.