我正在调用Shipment / ConfirmShipment端点,它在.NET和Postman中都返回成功,但是实际上使用Postman可以确认交付,而在.NET中却没有得到确认。
在邮递员中,我正在使用包含JSON作为货件号的正文进行POST:
{"entity":{"ShipmentNbr":{"value":"022025"}}}
在.NET中,我正在将HttpClient.PostAsync()设置为与上述相同的URL和相同的JSON。他们都以202接受响应返回成功。但是,正如我提到的,邮递员呼叫确认了装运(确认= 1,状态= F),但是在.NET中,POST实际上并未确认装运。关于可能会阻止它的任何想法?
API v17.200.001
答案 0 :(得分:0)
“ 202接受”状态可能有点令人困惑,但这并不意味着该操作已成功完成。
这仅表示执行请求有效且已被系统接受。
如果要监视操作本身的状态,则需要使用202 Accepted响应的标头(Location标头)中给出的地址
因此在下面的示例中,您可以看到我的动作已被接受,并且当我请求操作状态时,我会收到204 No Content,这是成功响应。
在这里,我已请求执行“确认装运”操作,并且该操作已被接受,并且可以看到可以在其中获取操作状态的网址
您可以在此处找到有关通过REST API执行动作的更多信息。
我建议看一下响应部分。
以下是有关202和204 http响应的更多信息: