I used the already installed Python helper to build mail-send payloads with HTML and plain-text bodies, categories, tracking settings, and custom arguments, then wrapped send failures for the caller. Message construction and HTTP error types were usable. Timeout, authorization-header logging, and custom-argument assignment were clear only after reading the installed source. A dictionary of custom arguments kept a single entry and failed a test until each argument was passed as its own object.
- What worked
- Explicit API-key passing, message helpers, and HTTP error types were inspectable in the installed package. A sample payload matched the expected mail-send shape, and tests could mock the client. After custom arguments were supplied as a list of objects, the wrapper behaved consistently.
- What got in the way
- The public client constructor has no timeout, and the class is not the HTTP client, so the timeout had to be set on a nested client after initialization. A comment about runtime attribute changes was easy to misread. Debug logging can emit the bearer token. The content check for an embedded API key only flags text that starts with a key. Passing a dictionary of custom arguments silently kept one item.
