Printful HTTP client (v2 + v1 for sync products), Provider behaviour implementation with all callbacks (test_connection, fetch_products, submit_order, get_order_status, fetch_shipping_rates), and multi-provider order routing that looks up the provider connection from the order's product instead of hardcoding "printify". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8.0 KiB
Provider strategy research
Status: Reference (research notes from Feb 2025)
Research session exploring multi-provider strategy for SimpleShop. Goal: identify the best additional POD providers to complement Printify, with a focus on UK fulfilment coverage.
The problem: Printify's UK coverage gap
Printify's API was queried for all 10 demo product types to check which have UK-based print providers:
| Product type | UK providers | Notes |
|---|---|---|
| T-shirt | Print Clever (72), Monster Digital (29) | 2 UK options |
| Hoodie | Monster Digital (29), Print Clever (72) | 2 UK options |
| Canvas | Print Clever (72) | 1 UK option |
| Tote bag | None | Ships from US |
| Mug | None | Ships from US |
| Cushion | None | Ships from US |
| Blanket | None | Ships from US |
| Notebook | None | Ships from US |
| Phone case | None | Ships from US |
| Laptop sleeve | None | Ships from US |
Result: 3/10 product types have UK providers. 7/10 ship transatlantic from the US, adding cost and delivery time for UK customers.
No single Printify provider covers more than 3 product types within the UK. The Print Bar, Print Clever, and Printify Choice each cover 3 at most.
Providers evaluated
Prodigi (recommended)
- Coverage: 9/10 product types from UK
- Fulfilment: Own UK facility (Birmingham) + global network (US, EU, AU)
- API: REST v4, proper sandbox environment (
api.sandbox.prodigi.com), catalogue endpoints, shipping rate queries, webhooks - Auth:
X-API-Keyheader - Pricing: ~10-15% more expensive than Printify on apparel (e.g. Bella+Canvas 3001: Printify ~£7.07, Prodigi ~£8.00), but lower shipping costs and no aggregator markup. Gap narrows on paid plans.
- Strengths: Widest UK product range, mature API with sandbox, direct manufacturer (no middleman), lower shipping from UK
- Weaknesses: Higher per-item base cost, smaller community than Printify
API highlights:
- Sandbox:
https://api.sandbox.prodigi.com/v4.0/ - Production:
https://api.prodigi.com/v4.0/ - Catalogue:
GET /v4.0/products(with country/currency filtering) - Shipping:
GET /v4.0/shipping/quote(per-order quotes) - Orders:
POST /v4.0/orders,GET /v4.0/orders/{id} - Webhooks: order status changes, configurable URL
Gelato
- Coverage: ~6/10 product types
- Fulfilment: Via partners in 140+ facilities across 32 countries
- API: REST, webhooks, catalogue endpoints
- Pricing: Subscription model (Gelato+), aggregator like Printify
- Strengths: Massive global network, good for international sellers
- Weaknesses: Aggregator model (same limitations as Printify), subscription cost, less UK-specific advantage
Inkthreadable
- Coverage: 5/10 product types (strong on apparel, eco products, embroidery)
- Fulfilment: Own UK facility (Lancashire)
- API: Order-only —
GET/POST/DELETE /orders. No catalogue endpoints, no shipping rate queries - Auth: AppID + SHA1 Signature
- Pricing: Competitive on apparel
- Strengths: Eco-focused (organic cotton, water-based inks), embroidery capability, UK-based
- Weaknesses: Very limited API (can't fetch products or shipping rates programmatically), would need manual catalogue management
Two Fifteen
- Coverage: ~4/10 product types (DTG, DTF, embroidery)
- Fulfilment: Own UK facility
- API: Primarily Shopify/WooCommerce plugins, sparse custom API documentation
- Strengths: DTF printing capability, embroidery, UK-based
- Weaknesses: Heavy overlap with Inkthreadable's coverage, weakest API of the bunch, documentation hard to find
Printful
- Coverage: Wide (~8/10 types)
- Fulfilment: Global (UK via Latvia/Spain, US facilities)
- API: Mature REST API
- Pricing: ~£8.50 for Bella+Canvas 3001, most expensive of the lot
- Strengths: Mature platform, good API
- Weaknesses: Highest pricing, UK fulfilment is actually from EU (Latvia/Spain), not genuinely UK-based
Pricing comparison (Bella+Canvas 3001 t-shirt)
| Provider | Base cost | UK shipping | Total to UK customer |
|---|---|---|---|
| Printify (via Monster Digital) | ~£7.07 | ~£4-5 (from UK) | ~£11-12 |
| Prodigi | ~£8.00 | ~£3-4 (from UK) | ~£11-12 |
| Printful | ~£8.50 | ~£4-5 (from EU) | ~£12.50-13.50 |
| Inkthreadable | ~£7.50 | ~£3-4 (from UK) | ~£10.50-11.50 |
Net cost is comparable across providers for UK delivery. Prodigi's higher base cost is offset by lower shipping.
Recommended strategy (revised Feb 2025)
Phase 1: Add Printful (revised winner)
Original analysis recommended Prodigi for UK coverage (9/10 types). But Prodigi has a critical gap: no mockup generation API. Sellers would need to manually create and upload product mockups, which is too much friction for SimpleShop's target audience.
Printful wins because:
- Mockup generation API — dedicated async endpoint, generates mockups on actual product blanks
- Own UK facility (Wolverhampton) — ~252 products, DTG/embroidery/DTF/sublimation
- Full catalogue API — browse, filter, pricing, availability, all via REST
- Live shipping rate calculator —
POST /shipping/rateswith recipient + items - Mature API (v1 stable, v2 beta) — same Bearer token auth as Printify
Trade-off: ~30% more expensive per item than Printify on base cost (e.g. Bella+Canvas 3001: ~$11.50 vs ~$8.88). Gap narrows with UK shipping savings.
See: printful-integration.md for full implementation plan (~16 hours)
Phase 2: Prodigi (conditional)
Still the best option for shops that are price-sensitive and willing to handle mockups manually. Good sandbox environment for development. Worth revisiting if:
- Dynamic Mockups API integration is added (third-party mockup service)
- Prodigi adds their own mockup API
- A seller specifically needs Prodigi's product range
Phase 3: Inkthreadable (conditional)
Only worth adding if there's seller demand for:
- Eco-friendly apparel (organic cotton, water-based inks)
- Embroidery products
- Niche UK-only products not on Prodigi or Printful
The weak API makes integration harder — no catalogue sync, no shipping rate queries. Would need manual product management.
Skip: Two Fifteen
Too much overlap with Inkthreadable's coverage. Weaker API, harder to find documentation. Not worth the effort unless they offer something unique that Inkthreadable doesn't.
Skip: Gelato
Aggregator model like Printify — same fundamental limitation of routing to whichever facility has capacity, with less control over where items ship from.
Smart fulfilment (future vision)
Once multiple providers are integrated, the system could offer intelligent order routing:
- Catalogue collation — unified product view across providers, showing which providers can fulfil each product type
- Smart recommendations — suggest the best provider per product based on customer location, cost, delivery time, quality ratings
- Order routing — split a multi-item order across providers to optimise for cost, speed, or eco impact (e.g. UK items from Prodigi, US items from Printify)
This is Tier 5 thinking — the architecture supports it via the Provider behaviour, but the UX and business logic are complex. Start with manual provider selection per product, graduate to smart routing once there's data.
Architecture notes
The existing codebase already supports multi-provider through:
Providerbehaviour with callbacks for sync, orders, shippingProviderConnectionschema linking shops to providers with credentialsprovider_dataJSON field on products storing provider-specific metadata- Shipping context grouping by
print_provider_idfor combined shipping calculation Provider.for_type/1dispatch (currently Printify-only, extensible via app env)
Adding Prodigi requires:
lib/simpleshop_theme/clients/prodigi.ex— HTTP clientlib/simpleshop_theme/providers/prodigi.ex— Provider behaviour implementation- Migration: update provider_connections to support "prodigi" type
- Admin UI: provider selection during setup