Skip to content

ECO-598: Ecommerce Objects - #106

Open
segunmailerlite wants to merge 4 commits into
mainfrom
feature/eco-598-python-sdk
Open

segunmailerlite wants to merge 4 commits into
mainfrom
feature/eco-598-python-sdk

Conversation

@segunmailerlite

Copy link
Copy Markdown

Why?

  • The Python SDK had no e-commerce support, so it couldn't reach the shops, orders, variants or revenue reports added in the API - Ecommerce & Revenue project (ECO-598).

Changes

  • New client.ecommerce_* resources: shops, products, product variants, categories, customers, orders, carts, cart items, imports and tracking settings.
  • E-commerce report methods on campaigns, subscribers and automations, plus ecommerce_shops.stats().

@segunmailerlite segunmailerlite self-assigned this Oct 28, 2026
@segunmailerlite segunmailerlite changed the title Feature/eco 598 python sdk ECO-598: Ecommerce Objects Oct 28, 2026
@mailerlite-kritika

mailerlite-kritika Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Re-runViewConfidence Score: 4/5

[Low risk] The new e-commerce endpoint paths and body shapes, such as /products/{id}/change-status with {"status": ...}, /categories/multiple, /monthly-totals/ecommerce and /order-activity, are upstream API details. The review read no upstream sources, and the tests only mirror the code's own URLs and bodies, so nothing in the account shows these match the MailerLite API. The risk is low because the change only adds methods and touches no existing behavior, and a revert removes it cleanly.

Findings

Earlier findings (2 dismissed)

Summary

Adds e-commerce resources and revenue reports to the Python SDK

The change adds ten client.ecommerce_* resources on a shared EcommerceResource base that validates IDs and builds filter[...] query params. It also adds e-commerce report methods to campaigns, subscribers and automations, plus ecommerce_shops.stats(). The commits since the last review merge main into the branch, bringing in the shared params helpers, new exports and subscriber changes, and make the test mock return a 200 status. The e-commerce code itself is unchanged.

What's good

  • Shared EcommerceResource base centralises shop URL building, integer ID checks and filter query building, so the ten resources stay small.
  • A single parametrised test table checks the method, URL, query params and JSON body of nearly every new call.
  • The README documents each new resource group with a runnable example.
Review context · 0/5 commands · 1 overlapping pull request
  • Commands run: none
  • Also open:
    • #111 changes mailerlite/sdk/subscribers.py

Reviews (3) · Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." · claude-sonnet-5-5

Comment thread mailerlite/sdk/automations.py Resolved
Comment thread tests/ecommerce_test.py Resolved
…n-sdk

# Conflicts:
#	mailerlite/__init__.py
#	mailerlite/sdk/subscribers.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants