Coinbase API - Transfer 返回响应 200 而不是 201

时间:2021-06-06 07:42:45

标签: php coinbase-api

我正在尝试使用 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 的支持链接只是指向 stackoverflow :)

2021.06.07 更新:

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

>

我还尝试了另一个应该返回 201 响应的端点,该端点用于向外部电子邮件/钱包汇款。这个功能非常棒,我收到了包含交易信息的 201 响应,并且也在服务器上进行了处理。

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

1 个答案:

答案 0 :(得分:0)

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

您可以找到更多详细信息 here,但请注意,生成原始订单的端点是 /v2/trades 而不是那里指定的 /v2/trade。否则,他的描述是准确的,并且适用于今天。

我还应该提到,在获得此解决方案之前,我确实向 Coinbase 开了一张票,他们的回应是,他们只是通过他们的公共文档提供支持,这是“你是个白痴,一切都写在那里”的缩写。

不用说,公共 API 文档没有提到 /v2/trades 端点,而是记录了 /transaction 端点,该端点不适用于原始问题中指定的转移。