Flype Order API
  1. Flype Order API
  • Flype Order API
    • Introduction
    • Shipments
      • Rates
      • Create Bulk Orders
      • All Shipments
      • Shipments Count
      • Shipment Details
      • Shipment Last Status
      • Cancel Shipment
      • Get Shipping Label
    • Webhook
      • Webhook: Shipment status updates (Flype → Your Server)
    • Locations
      • Upsert Pickup Location
      • Get Saved Pickup Locations
      • Fetch Pickup Location Details
    • Schemas
      • ApiStatus
      • ErrorResponse
      • ShipmentsCountResponse
      • AllShipmentsRequest
      • ShipmentSummary
      • AllShipmentsResponse
      • BulkOrderRequest
      • BulkOrderResponse
      • SchedulePickupRequest
      • SchedulePickupResponse
      • City
      • GetCitiesResponse
      • ShipmentDetailsResponse
      • ShipmentLastStatusResponse
      • CancelShipmentResponse
      • LabelResponse
      • Country
      • CountriesResponse
      • ShipmentStatusWebhook
      • PlaceBulkItem
      • SuccessMessageResponse
      • PlaceBulkAddress
      • BooleanDataResponse
      • PlaceBulkPickupLocation
      • ShipmentAddress
      • PlaceBulkShipment
      • ShipmentRecipient
      • PlaceBulkAcceptedOrder
      • ShipmentRetailerAddress
      • PlaceBulkDeniedOrder
      • ShipmentRetailer
      • BulkOrderResponseData
      • ShipmentDriver
      • ShipmentStatusHistoryEntry
      • DeliverySettings
      • DropOffDetails
      • AllShipmentsItem
      • CitiesResponse
      • AirwayBillResponse
      • WebhookShipmentStatusUpdate
      • WebhookAckResponse
      • PlaceBulkDeliveryAddress
      • PlaceBulkRequest
  1. Flype Order API

Introduction

Flype Order API - Integration Overview#

The Flype Order API allows partners to check delivery rates and availability, create shipments, manage pickup locations, retrieve shipment details, download shipping labels, and receive shipment status updates through webhooks.
This API is designed for merchants, retailers, marketplaces, aggregators, and 3PL partners that want to create and manage Flype delivery orders through a system integration.

Recommended integration flow#

1.
Register pickup locations
Use the Locations API to create or update pickup locations such as stores, warehouses, fulfillment centers, or 3PL facilities.
2.
Store the externalLocationId
Save the externalLocationId for each pickup location and reuse it when requesting rates or creating shipments.
3.
Check rates and service availability
Use the Rates endpoint before order creation to confirm available service options, pickup timing, delivery timing, and delivery availability.
4.
Create shipments
Use Create Bulk Orders to create one or more shipments. For production integrations, Flype recommends identifying the pickup origin using externalLocationId.
5.
Track shipments
Use Shipment Details for full shipment information, or Shipment Last Status for the latest status only.
6.
Receive webhook updates
Provide Flype with a webhook URL so shipment status updates can be sent to your system automatically.

Main API sections#

Rates
Checks available Flype delivery service options before order creation. The endpoint evaluates pickup origin, destination address, package details, service coverage, cutoff time, and operating rules.
Create Bulk Orders
Creates one or more shipments in a single request. Each order is processed individually, so the response may include both accepted and denied orders.
All Shipments
Returns a paginated list of shipments filtered by status, creation date, and pagination parameters.
Shipments Count
Returns summary counts of shipments grouped by operational status. Useful for dashboards, reporting, and operational monitoring.
Shipment Details
Returns full shipment information, including recipient details, pickup/merchant information, delivery settings, driver information when available, and tracking history.
Shipment Last Status
Returns only the most recent status for a shipment. Use this when full shipment details are not needed.
Cancel Shipment
Cancels a shipment before it has been picked up or entered the active delivery flow.
Get Shipping Label
Retrieves the generated shipping label for a shipment.
Webhook
Describes the shipment status update notifications that Flype sends to the partner’s webhook endpoint.
Locations
Allows partners to create, update, list, and retrieve saved pickup locations.

Merchant and pickup location identification#

For store, aggregator, and 3PL integrations, the merchant and pickup location may be different concepts.
externalLocationId identifies the physical pickup origin, such as a store, warehouse, fulfillment center, or 3PL facility.
merchantName identifies the customer-facing merchant or brand associated with the shipment.
Multiple merchants may share the same pickup location. For this reason, merchantName may be required together with externalLocationId or pickupLocation so Flype can associate the shipment with the correct merchant or brand.

Pickup location options#

Flype supports multiple ways to identify a pickup location:
1.
externalLocationId - recommended for production
Use a saved pickup location identifier shared between your system and Flype. This is the preferred method for stores, warehouses, aggregators, and 3PLs.
2.
postalCode only - limited fallback
Use only when Flype has pre-configured a single pickup location for the provided postal code.
3.
full pickupLocation object - fallback
Provide the full pickup address when a saved pickup location is not available.

Rates behavior#

The Rates endpoint should be used before shipment creation to check whether Flype service is available for the requested pickup origin, destination, and package details.
Rates does not create a shipment.
Rates does not reserve capacity.
If service is available, the response returns one or more available service options.
If service is unavailable, the response should explain why no service option is available.
Availability may depend on pickup location, destination coverage, cutoff time, package details, operating days, and routing capacity.

Order creation behavior#

When creating shipments through Create Bulk Orders, each order is validated and processed separately.
If an order is valid, it is returned in acceptedOrders.
If an order cannot be created, it is returned in deniedOrders with the reason for rejection.
Use a unique shipperRef for every order.
Use the returned trackingNumber as the primary Flype shipment reference.

Pickup location management#

Pickup locations can be created and updated through the Locations API.
A pickup location can represent a store, warehouse, fulfillment center, or 3PL facility where Flype collects shipments.
For production integrations, create or confirm pickup locations before sending orders. Then use externalLocationId in Rates and Create Bulk Orders.

Labels#

Shipping labels can be retrieved after shipment creation using the Get Shipping Label endpoint.
If a label is returned during shipment creation, partners may use that label directly. If the label needs to be downloaded again, use the shipment trackingNumber to retrieve it.

Dates and timestamps#

Exact timestamps are returned in UTC ISO 8601 format.
Local delivery dates, when returned, use YYYY-MM-DD format.
Delivery availability may depend on cutoff times, pickup schedules, operating days, destination coverage, and routing capacity.

Authentication#

Protected endpoints require a bearer token in the Authorization header.
Authorization: Bearer <token>

Webhook integration#

Flype can send shipment status updates to a webhook endpoint provided by the partner.
The webhook is not an endpoint that the partner calls. Instead, the partner provides Flype with a webhook URL, and Flype sends status update events to that URL when shipment statuses change.

Important notes#

Creating a pickup location does not automatically create a shipment.
Checking rates does not reserve capacity or create a shipment.
Shipment creation may return accepted and denied orders in the same response.
trackingNumber is the main Flype shipment reference after an order is created.
shipperRef is the partner-provided order or shipment reference.
externalLocationId identifies the pickup origin and may be shared by multiple merchants.
merchantName may be customer-facing and may be used in tracking or text message updates.

Best practices#

Create or confirm pickup locations before creating shipments.
Use externalLocationId whenever possible for reliable pickup matching.
Use a unique shipperRef for every order.
Provide accurate recipient phone numbers so delivery messages and coordination can work correctly.
Provide latitude and longitude when available to improve address accuracy and routing.
Use Rates before Create Bulk Orders to confirm service availability and expected timing.
Use webhooks for automatic shipment status updates instead of repeatedly polling shipment endpoints.
Next
Rates
Built with