|

What is Openship?

Understand Openship's user-owned shop-to-channel routing boundary.

Openship is an operator order router. It connects a shop, where an order originates, to a channel, where matched items are purchased for fulfillment. It stores routing, match, purchase-reference, and tracking state; connected systems remain authoritative for their own catalog, inventory, customer order, funds, and shipment facts.

Bike Central#BC-24592
Water BottleSKU: 52139803
Bike PumpSKU: 72384762
Supplier #1#VB-30134
Water BottleSKU: 81310291
Supplier #2#TS-72139
Bike PumpSKU: 92346793

Current compiled adapters cover Shopify and Openfront only. Other commerce, marketplace, warehouse, 3PL, email, or spreadsheet systems require separate adapter source and verification. Openship is not a customer storefront, payment processor, warehouse system, or shipping carrier.

Shops

A Shop is one user-owned order source. Its ShopPlatform selects product, order, update, and webhook handlers. The shop holds connection-specific identity and credentials.

Bike Central#BC-24592
Water BottleSKU: 52139803
Bike PumpSKU: 72384762

See Shops for the current adapter and credential limitations.

Channels

A Channel is one user-owned fulfillment destination. Its ChannelPlatform selects catalog, purchase, cancellation, webhook, and tracking handlers. Creating a Channel row does not establish a working provider connection.

Supplier #1#VB-30134
Water BottleSKU: 81310291
Supplier #2#TS-72139
Bike PumpSKU: 92346793
Warehouse #1#WH1-42352
Road BikeSKU: 32432943
TiresSKU: 93443781

See Channels for compiled adapters, custom execution, and reconciliation requirements.

A Link connects one owned shop to one owned channel and supplies the routing relationship used for order work.

Bike Central#BC-24591
Road BikeSKU: 32432943
TiresSKU: 93443781
Warehouse #1#WH1-42352
Road BikeSKU: 32432943
TiresSKU: 93443781

Matches

A Match maps one exact shop product/variant to one exact channel product/variant. Routing uses that mapping to decide which destination item can fulfill a source line. Operators can replace a match without changing the source catalog, but historical order/purchase identities should not drift when the current mapping changes.

Bike Central#BC-24592
Water BottleSKU: 52139803
Bike PumpSKU: 72384762
Supplier #1#VB-30134
Water BottleSKU: 81310291
Supplier #2#TS-72139
Bike PumpSKU: 92346793

Controlled flow

The intended path is shop order -> line match -> channel cart item -> downstream purchase -> authenticated tracking/cancellation -> source update. Custom GraphQL operations handle product/order search, matching, cart construction, purchase placement/cancellation, and webhooks. Each step needs same-user ownership, adapter allowlisting, idempotency, signed callback verification, durable error evidence, and reconciliation.

Current source has no onboarding seed. Initialize the first user at /dashboard/init, then configure synthetic platforms, one shop, one channel, a link, and matches manually. Do not connect production credentials until the exact adapter passes cross-user, credential-read, egress, duplicate-purchase, partial-failure, cancellation, tracking, and restore tests.

On this page