E-commerce Shipping Integration: Shipments, Tracking and Returns
Shipping integration sends each order to the carrier automatically, prints the label and brings tracking events back to your store. Here are the setup options, how tracking works and how returns fit in.

E-commerce shipping integration means that an order confirmed on your website is passed automatically into the carrier's system as a shipment, a barcode and label are generated, and the carrier's tracking events (picked up, out for delivery, delivered) flow back to your store. The same structure works for returns: when a customer opens a return request, a return code is generated, and you are notified when the parcel is handed to the carrier. Set up correctly, your warehouse team stops copying and pasting, and customers stop calling to ask "where is my parcel?".
What does a shipping integration cover?
A good shipping integration does four jobs together:
- Shipment creation: When an order is confirmed, the recipient name, address, phone number, dimensional (volumetric) weight and payment type are sent to the carrier.
- Label and barcode: A barcoded label that the carrier accepts is printed in the warehouse, and the tracking number is written to the order.
- Tracking: Carrier events are reflected in the order regularly or through notifications from the carrier, and the customer receives an email or SMS.
- Returns and exchanges: A return code is generated, the return parcel is tracked, and when the product reaches the warehouse, the stock and refund process is triggered.
If you offer cash on delivery, matching the amounts the carrier collects and transfers to your account against the orders also falls within this scope.
How do you integrate shipping into your website?
There are four main routes:
- Your platform's ready-made shipping module: Most hosted e-commerce platforms offer modules for common carriers. Setup is fast, but custom rules (choosing a carrier by region, split shipments) may be limited.
- A direct connection to the carrier's API: After signing an agreement with the carrier, a custom connection is written using the API or web service credentials you receive. For custom software and for setups that need to talk to an ERP, this is the most flexible route.
- A multi-carrier integration service: Intermediary services offer many carriers through a single interface. One integration makes it easier to work with several carriers; you need to weigh the intermediary's fee and which carriers it supports.
- Marketplace shipping flow: For orders coming from a marketplace, the marketplace's own carrier agreement and label are often used. Plan a separate flow so that these orders do not get mixed up with your own website's orders in the same warehouse.
How does setup proceed, step by step?
- Carrier agreement: Put rates by dimensional weight, pickup times, cash on delivery and return terms in writing, and obtain API access credentials.
- Rule definition: Decide which order goes with which carrier (region, dimensional weight, product type, cost).
- Address and phone validation: Check the region fields and phone format on the order form. The most common reasons we see for undeliverable shipments are incomplete addresses and wrong phone numbers.
- Shipment and label: In the test environment, try creating a shipment, printing a label, cancelling a shipment and sending a split shipment.
- Tracking and notifications: Map the carrier's status names to your own order statuses, and tie customer notifications to those statuses.
- Return flow: Set up return code generation, return tracking and the receiving steps in the warehouse.
- Live monitoring: In the first weeks, watch alerts for shipments that could not be created and for parcels that show no movement for a long time.
How does shipment tracking integration work?
Tracking data reaches your site in two ways. With polling, your system asks the carrier at set intervals for the status of open shipments. With notifications, the carrier sends a message to your system whenever there is a new event. Notifications are more up to date and create less load, but not every carrier offers them.
Different carriers' status names do not match; one says "at transfer hub", another says "in transit between facilities". You therefore need to reduce all events to five or six simple statuses: preparing, handed to carrier, in transit, out for delivery, delivered, delivery failed. Show customers these simple statuses and let the internal team see the raw events.
The most valuable alert is the "stalled parcel" alert. Listing shipments that have shown no new event for a set period and contacting the carrier before the customer complains noticeably reduces your support load.
How do you build return and exchange flows that follow the law?
The rules depend on where your customers are. If you sell to consumers in Turkey, you need to know Turkey's Distance Contracts Regulation when designing the returns side, because your integration has to track its deadlines. Under the provisions applied from January 1, 2026:
- The consumer can use the right of withdrawal within 14 days of receiving the goods without giving a reason, and must send the goods back within 14 days of the withdrawal notice.
- The seller must refund all payments collected, including the delivery cost, within 14 days of the date the product is handed to the carrier named for returns in the pre-contract information. If the consumer uses a different carrier, the period starts from the date the goods reach the seller.
- If the product is sent with the carrier named by the seller, the consumer cannot be held responsible for the return cost. If the seller did not name a carrier in the pre-contract information, no return cost can be charged to the consumer. If the named carrier has no branch where the consumer is, the seller must have the product collected from the consumer without charging extra.
The effect of these rules on the integration is concrete. The moment the return parcel is handed to the carrier is the moment the 14-day refund period starts; you need to catch that event from the tracking integration and turn it into a task for the accounting team. The return carrier named in the pre-contract information and the carrier behind the return code your system generates must also be the same.
There is a time limit on the delivery side too: except for products made to the customer's specification, the seller must fulfill the order within the promised time and in any case within 30 days at the latest. Setting alerts for orders waiting to be shipped is therefore not only about customer satisfaction but also a legal matter. If you sell into other markets, map the equivalent deadlines there into the same alerts.
What are the common mistakes?
- Not defining what happens to an order when the carrier's system does not respond; the shipment silently fails to be created and the order waits.
- Relying on a single carrier with no backup plan for campaign periods.
- Running returns through email threads and tracking stock and refunds by hand.
- Mixing marketplace orders and website orders in the same label flow.
- Showing customers the carrier's raw status names.
In short: a checklist
- Is a shipment and label created automatically on every order confirmation?
- Are tracking events mapped to simple statuses and sent to the customer?
- Are there alerts for stalled parcels and for orders approaching the 30-day limit?
- Is the return code generated with the carrier named in the pre-contract information?
- Does the return parcel's handover to the carrier trigger the refund task?
If you want to design your shipping, returns and stock flow together with your website and ERP, take a look at our e-commerce development service. For marketplace orders, see our marketplace management service, or contact us to talk through your setup.
Related service
e-commerce developmentSee how we work →How did this land for you?
Be the first to react
Found it useful? Share it:
Frequently asked questions
Do I need a separate agreement with the carrier for a shipping integration?
If you build a direct API connection, yes; API credentials are usually issued with a business customer agreement. If you use a multi-carrier integration service, some intermediaries also offer their own negotiated rates, in which case the contract is with the intermediary.
Can one order be split into several parcels?
Most carriers support split shipments, but whether a separate label is created for each parcel or several pieces are opened under one shipment varies by carrier. In Turkey, when products in one order are delivered separately, the withdrawal period starts from the day the last product is received, so tracking split shipments matters.
Who is responsible for a product damaged in transit?
Under Turkey's Distance Contracts Regulation, the seller is responsible for loss and damage until the product is delivered to the consumer. In case of damage, the seller therefore needs to handle the claim with the carrier under its own contract; keeping packing records and delivery reports makes that process easier.
Should an exchange request be handled like a return?
An exchange is a return combined with a new shipment. The healthiest method is to reserve the new product in stock when generating the return code for the exchange, and to start the new shipment automatically when the return parcel is handed to the carrier or reaches the warehouse.
Sources
- Mesafeli Sözleşmeler Yönetmeliği — T.C. Cumhurbaşkanlığı Mevzuat Bilgi Sistemi
- Mesafeli Sözleşmeler Hakkında Bilgilendirme — T.C. Ticaret Bakanlığı
Related articles
- Web & Software
Low-Code Platform Selection: What to Check Before You Commit
Forms, workflow, integrations, permissions and data ownership: a practical way to compare low-code platforms before your team builds on one.
3 min read - Web & Software
Concept Website for Boutique E-Commerce Brands with Few Products
A boutique brand with a handful of products needs a site that tells each product's story with clear prices and a short path to purchase. Showcase site or full store, and what changes once you take payments.
6 min read - Web & Software
Chatbot Integration for Business: Channel, Bot Type and Scope
Chatbot integration connects a bot to your customer channels and business systems. How to choose the level, the channel (website, WhatsApp, Instagram) and the bot type, with a decision checklist.
6 min read