Specifying carrier service when creating shipment

Hi, I’m trying to determine how to specify the carrier service when creating a shipment. As I understand it, I can define rules that should set recommended shipping options on the order. I can then get these via the API including the carrier_id and params.service_id.

However, how do I apply those recommended options when creating a shipment? I can pass the carrier_id in the POST /shipment request and that works fine, but in the returned shipment object the carrier_service and carrier_service_id properties are always null.

Is this due to me using my developer account where the carrier I’m specifying in the rule (DPD) is not actually connected? If I tried this on a live account, would the recommended service be applied if I only specify the carrier? Or am I missing something? Thanks for any assistance.