Repository navigation
Releases: adsefid/sdk-python
Release list
adsefid v0.6.0
Aligns SMS and Messenger cancellation with the updated API contract.
Changed
- Cancellation requests with more than 2,000 distinct IDs across both lists fail locally with
AdsefidValidationError. Duplicate IDs count once within each list.
Verified against adsefid.com Web Service API documentation v1.14.0.
adsefid v0.5.0
Adds compatibility with adsefid.com Web Service API documentation v1.13.0, including structured error details and partial acceptance for bulk and P2P requests.
Breaking changes
AdsefidApiError.detailsis nowApiErrorDetails | Noneinstead of an untyped dictionary or list; readerrorsanditemsfrom the typed model.
Added
- Added
ApiErrorDetails,ApiFieldError, andApiItemErrordataclasses. - Added
INVALID_MESSAGE_IDS(2046) andFILE_TOO_LARGE(2047).
Changed
- Bulk and P2P requests now defer item-level validation to the API so valid siblings can be accepted independently.
Verified against adsefid.com Web Service API documentation v1.13.0.
adsefid v0.4.0
A caller-supplied httpx client now works without its own base_url, malformed success payloads surface as SDK errors, and every model is importable from the top-level package. Upgrade if you inject your own httpx.Client or build requests by hand.
Added
- Every request and result dataclass is exported from
adsefid(for examplefrom adsefid import AdsefidClient, SendSingleSmsRequest); theadsefid.models.*modules keep working. error_codeonBulkReceptorResult,P2pMessageResult,MessengerBulkReceptorResultandMessengerP2pReceptorResult, naming theWebServiceResponseCodewhen that one item was rejected.Typing :: Typedclassifier; CI covers Python 3.10 and 3.13.
Changed
- Every request carries the absolute URL built from
base_url, so anhttp_clientyou supply needs nobase_urlof its own.
Fixed
- A success payload of the wrong JSON shape raised a bare
TypeErrororKeyErrorfrom a model'sfrom_dict; it now raisesAdsefidTransportError.
Verified against adsefid.com Web Service API documentation v1.12.0.
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.
adsefid v0.2.0
Fractional prices, costs, and credit are no longer truncated, and every request now identifies the SDK in its User-Agent header.
Breaking changes
cost,total_cost, and credit values arefloatinstead ofint; callers annotatingintmust update.
Added
- Default
User-Agentofadsefid-python/<version>, replaceable through theuser_agentclient argument. A blank value or one containing a line break is rejected.
Changed
- Fractional price, cost, and credit values are preserved exactly as the service returns them.
Verified against adsefid.com Web Service API documentation v1.11.0.
adsefid v0.1.0
Initial public release of adsefid, a client for the adsefid.com SMS Web Service API.
Added
- SMS: single send, bulk and peer-to-peer send, template send, status lookup, cancel, and inbound receive.
- Messenger: send with file upload and status lookup.
- Account: credit and line information.
- Typed errors for validation, API, rate-limit, and transport failures.
- Webhook signature verification and event parsing for
receive,status, andmessenger.status.
Verified against adsefid.com Web Service API documentation v1.11.0.