Orderchamp maintains many integrations for a smooth dropshipping experience, namely with Shopify, WooCommerce, Lightspeed eCom, and Shopware 6. In case you want to build your own integration with our Dropshipping platform use the guide below.
How it works
#
- Sign up as a retailer on www.orderchamp.com/ds
- Reach out to Orderchamp and ask to build your own dropshipping integration, so we can enable this flow for you
- When signing up to Dropshipping , a new option should now be available to create a custom integration (API)
- Enter the required details such as your store's name, url, and a webhook url to which we can send product, order, and fulfilment updates
- You should now receive your access token, store this safely it wont be visible anymore (you can reset it later)
- Browse the marketplace and add products to your import list
- Using the API you can fetch the products on your import list to send them to your eCom store
- Using the API you can create orders for dropshipping products, and retrieve fulfilment updates
Your first request
#
Using the access token you received during the signup you can now make API calls as follows:
Channels
#
Your eCom or POS store is called a Channel in Orderchamp. During the Dropshipping signup we ask for some channel information such as the name, url, and a webhook url for your store. You can alway update this information through the API later.
View your channel
Publications
#
Once you have created a Channel through the Dropshipping signup you are ready to pick the products you want to offer in your store.
- You visit the Dropshipping Marketplace at www.orderchamp.com/ds
- Add the products to your import list, we call these products Publications
- We send webhooks about publications to keep you up to date
- Alternatively you can periodically fetch all your publications
Example webhook (Publication Created)
Fetch a publication
Using the information in the webhook you can fetch the latest version of the publication
Fetch all your publications
You can also iterate through all the publications in your import list. Use the pageInfo to paginate.
Update status
Whenever you add a product to your import list it will initially be in a "SYNCING" state. After you have successfully created the product in your webshop you should update the status to reflect this. If the sync has failed you can also indicate that.
Webhooks
#
By default we set up a webhook for you using the url you given us during the signup. You can see and update the webhook, or create additional webhooks via the API. We send you events about content updates for which pricing and inventory level are the most important. Updating the webhooks can be done through mutations .
Orders
#
Whenever you receive an order in your webshop containing some dropshipping products you create an order via the API to notify our brands to fulfill these products. The flow is as follows:
- You receive an order in your webshop
- You extract the dropshipping products
- Create an Ingested Order via the API
- We convert the Ingested Order into a Retailer Order
- The brand is notified and will fulfill your order as soon as possible
- We send a webhook with the event
ORDER_UPDATEDwhenever anything changed, such as new shipments or (partial) cancellations - You can fetch the tracking details via the API
The Ingested Order and its products all have their own status indicating if the product was found and is available.
Order StatusCONVERTED = The entire order was created successfullyPARTIALLY_CONVERTED = Some products were not available (out of stock or not found)FAILED = Something went wrong while creating the order, (no availability, invalid shipping country, not approved)
Order Product StatusMATCHED = The product was found and is availablePRODUCT_NOT_FOUND = Could not find a product by its ID or SKUOUT_OF_STOCK = The product is no longer in stockNOT_AVAILABLE_FOR_DROPSHIPPING = The supplier has delisted this productNOT_APPROVED_BY_SUPPLIER = The supplier might have revoked your access to dropship their productsSHIPPING_UNAVAILABLE = The supplier does not ship to the country you requestedCART_ERROR = An unknown issue occurred. If you run into this please contact us
Create an IngestedOrder
When the order was successfully created ensure you store the RetailerOrderId as you'll need this later to fetch order updates and tracking information.
Test orders can be created by adding the isTest: true parameter. This will ensure the order isnt fulfilled by the brand. Test orders are marked as paid automatically and after 10 minutes marked as fulfilled with fake tracking information, to allow you to test the fulfillment flow.
Fetch order updates
Whenever you receive an ORDER_UPDATED webhook event you can fetch the most recent version of the order. A Retailer Order consists of multiple Supplier Orders which contain the shipments as sent by the brand.
Supplier Order StatusAWAITING_CONFIRMATION = Waiting for the brand to confirm the orderAWAITING_FULFILMENT = Waiting for the brand to create shipmentsAWAITING_SHIPMENT = The shipments have been created and are awaiting tracking informationAWAITING_DELIVERY = The shipments have been sent and are awaiting deliveryCOMPLETED = All products have been delivered to the retailerCANCELLED = This order has been cancelled
Manage customers
Laravel Example