Third party carrier service in draft order

Topic summary

A developer successfully integrated a third-party carrier service that works for web orders but initially didn’t appear in draft order shipping options.

Technical Details:

  • Shopify was sending shipping rate requests to the callback URL correctly
  • The callback was returning properly formatted responses with service name, price, and description
  • Despite correct API communication, the shipping option wasn’t visible in the draft order menu

Resolution Found:
Working with Shopify support, the issue was identified: the "phone_required": true parameter in the shipping rate response prevented the option from displaying. The carrier service now appears in draft orders regardless of whether the customer has provided a phone number.

Status: Resolved. The shipping service now functions correctly for both web orders and draft orders after removing the phone requirement constraint.

Summarized with AI on November 17. AI used: claude-sonnet-4-5-20250929.

Hi everyone,

I’ve added a third party carrier service to my development store. It works fine with my web orders. Nevertheless when I try to add shipping to a draft order I do not see my shipping among the options. I’ve verified that Shopify do send shipping rate request to my callback url:

{
    "rate":
    {
        "origin":
        {
            "country": "US",
            "postal_code": "11205",
            "province": "NY",
            "city": "Brooklyn",
            "name": null,
            "address1": "139 Emerson Pl",
            "address2": null,
            "address3": null,
            "latitude": 40.6931936,
            "longitude": -73.961744,
            "phone": "",
            "fax": null,
            "email": null,
            "address_type": null,
            "company_name": "flot-prod"
        },
        "destination":
        {
            "country": "US",
            "postal_code": "11206-1111",
            "province": "NY",
            "city": "Brooklyn",
            "name": "T R",
            "address1": "129 Moore Street",
            "address2": "",
            "address3": null,
            "latitude": null,
            "longitude": null,
            "phone": "",
            "fax": null,
            "email": null,
            "address_type": null,
            "company_name": ""
        },
        "items":
        [
            {
                "name": "IN STOCK! Coffee beans",
                "sku": "",
                "quantity": 1,
                "grams": 454,
                "price": 2000,
                "vendor": "flot-prod",
                "requires_shipping": true,
                "taxable": true,
                "fulfillment_service": "manual",
                "properties":
                {},
                "product_id": 7736204624003,
                "variant_id": 42789333106819
            }
        ],
        "currency": "USD",
        "locale": "en"
    }
}

And the callback url do send a correct response:

{
    "rates": [
        {
            "service_name": "Flot Delivery",
            "service_code": "default",
            "currency": "USD",
            "description": "Same-day delivery for orders by 11pm, Mon-Fri, next working day otherwise",
            "phone_required": true,
            "total_price": 800
        }
    ],
    "date": "2023-07-24",
}

Still the option does not appear in draft order menu:

How come?

As the dropshipping landscape evolves in 2023, adapting to the changing needs and preferences of customers is vital for success. Short shipping delivery has emerged as a game-changer, offering numerous benefits, including improved customer experience, reduced cart abandonment, and an enhanced brand reputation. To achieve these advantages seamlessly, dropshippers can turn to Spocket as the ultimate solution. By leveraging Spocket’s network of suppliers, businesses can ensure fast and efficient order fulfillment, thereby paving the way for dropshipping triumph in the competitive market of 2023.

Try spocket for 14 days trial

After careful investigation with Shopify support team (love you guys!) we found that the reason was in

"phone_required": true

It does not matter whether the customer has a phone number or not the rate with phone required will not be displayed. That’s how it works now.

1 Like