如果我在请求中指定运营商帐户,为什么我会收到 "Carrier does not exist"?

Why I receive "Carrier does not exist" if I specify carrier account in request?

我正在尝试使用 java API 创建 shippo batch labels。我在 BatchShipment 级别和 Batch 级别指定了运营商 objectID。当我检查批次状态时 - 它是 Invalid,批次发货状态也是 Invalid 并且批次发货对象中有消息:“承运人帐户提供的 object_id不存在”。您知道我收到此错误的原因吗?

通过请求所有 CarrierAccounts 收到运营商对象 ID,这里是 kotlin 片段:

    Shippo.apiKey = ShippoSnippet.SHIPPO_API_KEY
    val all = CarrierAccount.all()
    print(all.data.firstOrNull{it.carrier.toLowerCase().contains("usps")}!!.objectId)
    //output is 50c0caf41f9b450ebe62f24daf2615be

以下是我如何在装运级别指定承运人帐户的片段: BatchShipment.createForShipment(shipment, "50c0caf41f9b450ebe62f24daf2615be", "usps_first").

已创建批次:

val submitted = Batch.create("50c0caf41f9b450ebe62f24daf2615be", "usps_first", LabelFileType.PDF, null, batchShipments.toTypedArray())
val shippoId = submitted.id

然后我使用此代码段再次请求批处理对象:

Batch.get(shippoId, 0, null)

但结果无效,我不确定为什么,因为我指定了承运人 objectId,如 API docs.

中所写

Shippo 支持人员确认他们目前的测试密钥存在此问题。它使用实时密钥对我有用。