Coinbase API - 转账 returns 响应 200 而不是 201

Coinbase API - Transfer returns response 200 instead of 201

我正在尝试使用 Coinbase API 在具有不同加密货币的同一用户的账户之间创建转账。我正在使用它的官方库,我知道它没有得到完全维护,但我尝试多次调试所有内容,根据官方文档,它发送到 API 服务器的请求似乎是正确的。

具体来说,它使用GuzzleHttp\Psr7向/v2/accounts/[sender-account-id]/transactions发送以下参数:

array:4 ["type" => "transfer", "amount" => "1", "to" => "[receiver-account-id]", "currency" => "USD"]

根据文档,我应该会收到一个带有 201 状态码和正文交易信息的响应。相反,我收到一个 200 响应,主体为空,并且服务器上没有记录任何交易。

如果我弄乱了请求的任何字段,我会得到一个正确的异常和相应的错误状态代码。这让我觉得我的实际要求没有问题。

我注意到其他人在大约一年前收到了 same problem,但没有收到任何回复。我希望我有更多的运气,因为我真的不知道下一步该看哪里,Coinbase 的支持 link 只是指向 Whosebug :)

2021.06.07 更新:

为了确保我没有发疯,我今天尝试通过发送相同的请求而不使用官方库并从头开始编写请求的代码来重现相同的问题,结果是相同的。

我还尝试了另一个应该 return 201 响应的端点,该端点用于向外部电子邮件/钱包汇款。这个非常有效,我收到了带有交易信息的 201 响应,它也在服务器上进行了处理。

这让我越来越觉得问题不在于我,而在于 API 端点本身,但考虑到 Coinbase 实际上有多大,这在某种程度上感觉不对,他们不可能一年修好了对吧?

好的,在进一步挖掘之后,我找到了另一个问题的答案,详细说明了我如何与 /v2/trades 端点交互,它实际上完成了我需要它做的事情。

您可以找到更多详细信息 here,请注意制作原始订单的端点是 /v2/trades 而不是此处指定的 /v2/trade。否则,他的描述是准确的,并且在今天有效。

我还应该提到,在获得此解决方案之前,我确实打开了 Coinbase 的票证,他们的回应是他们仅通过 public 文档提供支持,该文档是“你是个白痴,都写在那里了。

不用说 public API 文档没有提到 /v2/trades 端点,而是记录了 /transaction 端点,它不适用于原始文件中指定的传输问题。