PromptPrint
Marketplace Bridge · v1.0

One inbox for every marketplace order.

Sync Shopee, Lazada and WooCommerce orders straight into your Odoo ERP — in near real-time, deduplicated, signature-verified, with full audit logs. Built and operated by PromptPrint for print & manufacturing businesses in Thailand.

< 60s
Webhook → Odoo
3
Platforms
99.9%
Order capture
Sync overview
live
Orders synced today 1,284
Active channels 7
Pending queue 3
Failed (24h) 0
Illustrative preview — actual figures inside the console.
How it works

Four stages, one continuous pipeline.

Every marketplace order flows through the same signed, idempotent path — from platform push to a posted sale order in your ERP.

1

Marketplace push

Shopee / Lazada / Woo hits our webhook endpoint the moment an order is placed or updated.

2

Verify & normalize

HMAC signature checked, payload hydrated with order detail, mapped to a common shape across every platform.

3

Deduplicate & queue

The order is checked against the sync history — a retry never creates a duplicate. Failures land in a dead-letter queue with automatic retry.

4

Post to Odoo

A signed API call creates the sale order, matches the customer, and hands it to your production flow — with the raw payload archived for audit.

Safety net: a scheduled poller sweeps the last 20 minutes on every active channel every 15 minutes. If a webhook is ever missed — network hiccup, marketplace outage, endpoint restart — the poll catches it. Nothing depends on a single delivery.
Capabilities

Everything a marketplace integration should do.

Six things we consider table stakes for a production-grade marketplace bridge — all built in, no add-ons.

Real-time webhooks

Each marketplace's official push notification arrives within seconds of the order event. Verified, queued, and processed asynchronously.

Safety-net polling

A scheduled fallback poll fetches any order that missed the webhook. Overlapping windows guarantee capture even during marketplace outages.

HMAC signature checks

Every push is signature-verified against the channel's partner key before we touch it — forged payloads never reach your ERP.

Automatic token refresh

OAuth access tokens rotate on schedule (Shopee: 4h, Lazada: 30 days). We refresh in the background before expiry — merchants never re-authorize.

Idempotent by design

Duplicate deliveries and retries are collapsed by marketplace order id. One order in the marketplace equals exactly one sale order in Odoo.

Full audit trail

Every OAuth event, poll, push, retry and Odoo call is logged with timestamp, channel, and outcome. Nothing happens off the record.

The bigger picture

Marketplace Bridge is one piece of the PromptPrint platform.

PromptPrint is a full ERP purpose-built for print & manufacturing businesses in Thailand — from a walk-in customer's first enquiry all the way to the tax-compliant receipt.

Marketplace Bridge plugs the online-storefront gap: your Shopee & Lazada shops become just another channel feeding the same production pipeline.

Learn more about PromptPrint
Quoting & estimation

Print job estimating

A Rust-backed layout engine works out sheet layouts, waste, prepress, press and finishing costs down to the piece — for offset, digital, inkjet, packaging and vinyl.

MRP

Production planning

Multi-stage bills of material, per-workcenter routing, work-order scheduling and shop-floor traveler prints — tuned for offset / digital / packaging.

Thai accounting

VAT · WHT · e-Tax

Undue-VAT vendor bills, withholding-tax certificates (ภ.ง.ด.), per-branch numbering, ใบกำกับภาษี & ใบกำกับภาษีอย่างย่อ — all Revenue-Department shaped.

Sales flow

Quote → invoice → receipt

ใบเสนอราคา, ใบส่งของ, ใบแจ้งหนี้, ใบวางบิล, ใบเสร็จรับเงิน — every document a Thai print shop actually issues, on-brand and print-ready.

Dashboards

Ops & finance analytics

Live KPI tiles, revenue waterfalls, trial balance, AR ageing, press utilisation — the numbers your GM checks every morning.

HR & payroll

Attendance & payslip

LINE-based clock-in, leave with per-type advance-notice rules, Thai SSO / WHT payroll and printable payslips — the whole employee cycle.

Supported platforms

Connect once, keep them in sync.

Shopee
OAuth 2.0 + HMAC-SHA256 signing, order push v2, sandbox & live.
v2 API Push code 3 Multi-shop
Lazada
Open Platform v1, seller auth + order fetch, TH marketplace.
Open Platform TH region 30-day tokens
WooCommerce
REST v3 with consumer key/secret + signed webhook delivery.
REST v3 Self-hosted HMAC-SHA256

Need a platform we don't list? Tell us what you use — the adapter interface is extensible.

Security & trust

Signed, scoped, logged — end to end.

Marketplace credentials are the keys to your revenue and your customers' data. We treat them accordingly — with the controls a marketplace's own security team would want to see.

HTTPS everywhere
TLS terminated at Cloudflare edge with a public Let's Encrypt certificate. No plain-HTTP endpoints exposed.
Per-channel HMAC verification
Every webhook body is validated against the channel's partner key. Failing signatures never reach your ERP or our processing queue.
Isolated credential store
Marketplace secrets live in the bridge's own database. The ERP holds no marketplace credentials — compromising Odoo does not compromise your shops.
Auditable operations
Every OAuth exchange, token refresh, order poll and push retry is timestamped, channel-scoped and browsable via the admin Sync Logs.
Frequently asked

Straight answers.

How long does onboarding a new shop take? +

Once you have your marketplace developer credentials, wiring a new channel is roughly 15 minutes: create the channel row, paste the partner_id and key, click Connect, walk through the marketplace's OAuth consent page. Orders start flowing on the next webhook.

What happens if a marketplace goes down or a webhook is missed? +

The 15-minute polling loop sweeps a 20-minute lookback window on every active channel, so any order missed by the webhook is picked up on the next tick — no manual replay needed. If Odoo itself is unreachable, orders queue in the bridge's dead-letter table and retry automatically until they land.

Where is my data stored? +

All data — channel credentials, tokens, order sync history, logs — is stored in the bridge's Postgres instance running on infrastructure operated by PromptPrint in-country. Marketplace order content is passed through to your Odoo ERP and archived alongside the sync record for audit purposes.

Do I need to re-authorize my shop every few days? +

No. Shopee access tokens expire after 4 hours and Lazada after 30 days — we refresh both in the background before they lapse, using the refresh token issued at OAuth time. You reauthorize only if a shop revokes access from the marketplace side.

Can I integrate a marketplace you don't list? +

The bridge is built around a small adapter interface — fetch_orders, refresh_token, verify_webhook_signature, normalize_order. Adding a new platform is typically a week's work if the API has clean OAuth and a decent order endpoint. Contact us with what you need.

Is this only for PromptPrint's Odoo customers? +

Marketplace Bridge is designed to feed a PromptPrint-shaped Odoo, but the outbound Odoo call is a plain authenticated JSON endpoint — any Odoo instance that exposes a compatible inbound handler can receive orders. If you run Odoo but not with us, get in touch to discuss.

Ready to connect your shop?

Send us a note and we'll set up a sandbox channel for you within one business day. Live approval typically follows once your marketplace's ISV review clears.