API reference / Shipment & tracking

List available shipping options

GET/open/v1/shipping/optionsScope: orders:read

Service Endpoint Seller token not required

EnvironmentBase URL + Path
Productionhttps://open.mallplus.ph/open/v1/shipping/options
Sandboxhttps://sandbox.open.mallplus.ph/open/v1/shipping/options
Common Signing and Seller Headers
HeaderTypeRequiredRulesDescription
X-MallPlus-Partner-IdstringYesIssued client ID for the calling app.Identifies the partner app whose secret signs the request.
X-MallPlus-TimestampintegerYesUnix timestamp in seconds; default acceptance window is 90 seconds.Prevents replay outside the allowed signing window.
X-MallPlus-Signature-VersionstringYesUse 3 for HMAC v3.Selects the request signing algorithm.
X-MallPlus-NoncestringYes32-64 lowercase hexadecimal characters, unique per request.Replay-protection nonce included in the v3 signing base string.
X-MallPlus-SignaturestringYesHMAC-SHA256 over timestamp, client ID, method, path, canonical query, body hash, and nonce.Cryptographic proof that the request was signed with the app secret.
X-MallPlus-Access-TokenstringConditionalRequired when the operation says seller token required.Seller OAuth access token returned by the authorization flow.
X-MallPlus-Seller-IdstringConditionalRequired when X-MallPlus-Access-Token is required.Seller ID bound to the seller OAuth token.

Parameters

NameInTypeRequiredRulesDescription
origin_regionquerystringNo-Origin region using PSGC-aligned Philippine geography.
origin_provincequerystringNo-Origin province using PSGC-aligned Philippine geography.
origin_cityquerystringNo-Origin city or municipality using PSGC-aligned Philippine geography.
destination_regionquerystringNo-Destination region using PSGC-aligned Philippine geography.
destination_provincequerystringNo-Destination province using PSGC-aligned Philippine geography.
destination_cityquerystringNo-Destination city or municipality using PSGC-aligned Philippine geography.
actual_weightquerynumberNoGreater than: 0Package actual weight in grams.
lengthquerynumberNoGreater than: 0Package length in centimetres.
widthquerynumberNoGreater than: 0Package width in centimetres.
heightquerynumberNoGreater than: 0Package height in centimetres.
insurance_enabledquerybooleanNo-Whether to include shipping insurance in the quote.
order_amountquerynumberNoMinimum: 0Order amount used for the quote. Send an integer-valued amount in PHP centavos.

Request Body

This operation has no JSON request body.

Response Parameters

FieldTypeRulesDescription
successboolean-Whether the request completed successfully.
dataarray<ShippingOption>-Active platform logistics options with package-level quote status.
data[]ShippingOptionNo additional propertiesA shipping option. priceAmount is PHP centavos when quoted and null when unavailable.
data[].idstring-Unique identifier for this resource.
data[].namestring-Partner-visible name.
data[].providerstring-Logistics provider identifier.
data[].priceAmountintegerNullableInteger amount in PHP centavos.
data[].currencystring-ISO currency code for monetary amounts.
data[].estimatedDaysstring-Estimated delivery time range.
data[].rateStatusenumAllowed: quoted, unavailableQuote availability status.
data[].rateUnavailableReasonstring-Machine-readable reason when rateStatus=unavailable.
data[].descriptionstring-Human-readable description.

Error Codes

HTTP StatusSchemaDescription
400ErrorResponseValidation error, or a missing/malformed required signing header (BAD_REQUEST)
401ErrorResponseUnauthorized — invalid credentials, invalid signature, or expired timestamp (TIMESTAMP_EXPIRED)
403ErrorResponseForbidden — insufficient scope
429ErrorResponseThe partner or endpoint rate limit has been exceeded
502ErrorResponseThe upstream commerce service rejected the request or returned an invalid response
503ErrorResponseA required platform or upstream dependency is temporarily unavailable
504ErrorResponseThe upstream commerce service did not respond before the platform timeout

Machine-readable codes are returned in error.code: ACCOUNT_LOCKED, APPROVE_FAILED, APP_LIMIT_REACHED, APP_NOT_FOUND, AUTHORIZATION_CODE_EXPIRED, AUTHORIZATION_REVOKED, AUTH_CODE_EXPIRED, AUTH_CODE_USED, BAD_REQUEST, CANCELLATION_ALREADY_PROCESSED, CANCELLATION_DEADLINE_EXCEEDED, CANCEL_FAILED, CANNOT_DELETE_ACCOUNT_WITH_APPS, CONCURRENT_MODIFICATION, CONFLICT, CREATE_FAILED, DISPUTE_FAILED, DUPLICATE, EMAIL_ALREADY_EXISTS, EMAIL_NOT_VERIFIED, FILE_TOO_LARGE, FORBIDDEN, HMAC_VERSION_DEPRECATED, IDEMPOTENCY_KEY_IN_PROGRESS, IDEMPOTENCY_KEY_REQUIRED, IDEMPOTENCY_KEY_REUSED, INTERNAL_ERROR, INVALID_AUTHORIZATION_CODE, INVALID_CREDENTIALS, INVALID_DEVELOPER_TYPE, INVALID_FILE_CONTENT, INVALID_FILE_TYPE, INVALID_JSON, INVALID_NONCE, INVALID_PATH, INVALID_PICKUP_DATE, INVALID_REFRESH_TOKEN, INVALID_REQUEST, INVALID_SIGNATURE, INVALID_STATE, INVALID_TRANSITION, INVALID_VERIFICATION_TOKEN, MAINTENANCE, MEMBER_PERMISSION_DENIED, MISSING_NONCE, NONCE_REUSED, NOT_FOUND, NOT_IMPLEMENTED, ORDER_NOT_CANCELLABLE, PAYLOAD_TOO_LARGE, PICKUP_DATES_UNAVAILABLE, PRODUCT_HAS_ACTIVE_ORDERS, PRODUCT_UNDER_REVIEW, PROFILE_ALREADY_SUBMITTED, PROFILE_TYPE_MISMATCH, PROXY_ERROR, RATE_LIMITED, REDIRECT_URL_MISMATCH, REFRESH_TOKEN_EXPIRED, REFRESH_TOKEN_REUSED, REJECT_FAILED, RETURN_ALREADY_PROCESSED, RETURN_DEADLINE_EXCEEDED, RE_AUTHORIZATION_REQUIRED, SANDBOX_LIMIT_REACHED, SELLER_TOKEN_REQUIRED, SERVICE_UNAVAILABLE, SESSION_EXPIRED, SHIPMENT_ALREADY_ARRANGED, SHIPMENT_NOT_ARRANGED, SHIPPING_LABEL_UNAVAILABLE, SHIP_FAILED, SIGNATURE_REPLAYED, SSRF_CHECK_FAILED, TEST_SHOP_LIMIT_REACHED, TIMESTAMP_EXPIRED, TOKEN_REVOKED, TOO_MANY_REQUESTS, UNAUTHORIZED, UPLOAD_ERROR, UPLOAD_NOT_CONFIGURED, UPSTREAM_ERROR, UPSTREAM_TIMEOUT, VALIDATION_ERROR, VERIFICATION_LINK_USED, VERIFICATION_TOKEN_EXPIRED, WEBHOOK_SUBSCRIPTION_EXISTS

Request Example

curl -X GET "https://open.mallplus.ph/open/v1/shipping/options" \
  -H "X-MallPlus-Partner-Id: mp_partner_123" \
  -H "X-MallPlus-Timestamp: 1786924800" \
  -H "X-MallPlus-Signature-Version: 3" \
  -H "X-MallPlus-Nonce: 4f8b9a0c4d5e6f708192a3b4c5d6e7f8" \
  -H "X-MallPlus-Signature: <hex_hmac_sha256>"

Response Example

{
  "success": true,
  "data": [
    {
      "id": "ship_standard",
      "name": "Standard Delivery",
      "provider": "Standard Courier",
      "priceAmount": 1,
      "currency": "PHP",
      "estimatedDays": "3-5 business days",
      "rateStatus": "quoted",
      "rateUnavailableReason": "example_rateUnavailableReason",
      "description": "example_description"
    }
  ]
}