bigcommerce/bigcommerce-api-python

Getting subresources alongside products (not separately)

Opened this issue · 1 comments

The API supports getting subresources within the same request as products:

image

However, the client seems to only provide access one at a time via a separate API call.

image

There's no way to just request products and subresources in one call?

I had a similar issue with OrderCoupons. The problem is that these subresources use ListableApiSubResource but the iterall method you probably want is on the ListableApiResource mix in

You can work around this with a monkey patch at runtime if you do something like this:

class ListableOrderCoupons(bigcommerce.api.OrderCoupons, bigcommerce.api.ListableApiResource):
    pass

...
# at runtime add this monkeypatch to the API obj
conn.ListableOrderCoupons = bigcommerce.api.ApiResourceWrapper(ListableOrderCoupons, conn)

# now can just call...
foo = conn.ListableOrderCoupons.iterall()
...

not winning any awards for cleanest code but should work in a pinch