LendingClub.com API 500 Ошибка при покупке заметок на вторичном рынке

Я смог сделать запросы API с другими конечными точками просто прекрасными, но конечная точка для создания покупок не работает вообще. Кажется, что это ошибка сервера на их конце, но я подумал, что я попрошу здесь, на случай, если я сделаю неосторожную ошибку.

Я написал несколько версий моей функции, но это одно:

function getLCInfo($endpoint, $getData = false) { $api_url = "https://api.lendingclub.com/api/investor/"; $verison = "v1"; $account_id = "12345678"; $ContentType = "application/json"; $url = "$api_url$verison/accounts/$account_id/$endpoint/"; if($getData) { $url .= "?" . urldecode(http_build_query($getData)); echo $url; } $key = "aaaaaaaaaaaaaaaa99999999"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: ' . $key, 'Content-type: ' . $ContentType , 'Accept: ' . $ContentType, 'X-LC-Application-Key: ' . $account_id)); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); $output = curl_exec( $ch ); curl_close( $ch ); return json_decode($output); } 

Это их документация :

Этот субресурс предоставляет сводку счета инвестора.

Операция: GET

URL: https://api.lendingclub.com/api/investor/v1/accounts/[investor id] / trades /

Параметры URL: Идентификатор инвестора. Это можно получить из раздела «Сводка учетной записи» на веб-сайте Lending Club, когда пользователь вошел в систему.

Параметры запроса: Нет.

Поддерживаемые форматы: запрос JSON для заметок на покупку

Заголовки запроса / ответа: NAME TYPE NULLABLE DESCRIPTION Aid String No Идентификатор инвестора, от имени которого партнер запрашивает покупку одной или нескольких нот для заметок Array No Массив из одной или нескольких нот loanId String No Числовой идентификатор кредита, примечание, запрошенное для заказа на покупкуИд Строка Нет Числовой идентификатор заказа для примечания noteId Строка Нет Числовой идентификатор примечания bidPrice String Нет Положительное числовое значение в долларах ($) и центах, представляющих цену покупки, желаемую для примечания Образец запроса: JSON –

 { "aid":70654,"notes": [ {"loanId":3349795,"orderId":19979983,"noteId":5730626,"bidPrice":9.79}, {"loanId":707414,"orderId":1369944,"noteId":4154191,"bidPrice":23.84}, {"loanId":1076461,"orderId":2133757,"noteId":7827843,"bidPrice":34.45} 

]}

Пример ответа-

 { buyNoteConfirmations: [ 3 ] : { loanId: 3349795 noteId: 5730626 bidPrice: 9.79 outstandingAccruedInterest: null outstandingPrincipal: null yieldToMaturity: null executionStatus: [ 1 ] : " 

NOTE_DOES_NOT_EXIST "} 1: {loanId: 707414 noteId: 4154191 bidPrice: 23.84 выдающийсяAccruedInterest: null выдающийсяPrincipal: null yieldToMaturity: null executeStatus: [1]:" NOTE_NOT_AVAILABLE "} 2: {loanId: 1076461 noteId: 7827843 bidPrice: 34.45 exceptAccruedInterest: null reservePrincipal : null yieldToMaturity: null executeStatus: [1] 0: "SUCCESS_PENDING_SETTLEMENT"}}

Это то, что происходит, когда я тестирую данные Postman POSTing:

 POST /api/investor/v1/accounts/87308218/trades/ HTTP/1.1 Host: api.lendingclub.com Authorization: aaaaaaaaaaa111111 Content-Type: application/json Cache-Control: no-cache Postman-Token: 68d283a6-08f0-6789-3542-3a1baa554ce7 { "aid":70654,"notes": [ {"loanId":3349795,"orderId":19979983,"noteId":5730626,"bidPrice":9.79}, {"loanId":707414,"orderId":1369944,"noteId":4154191,"bidPrice":23.84}, {"loanId":1076461,"orderId":2133757,"noteId":7827843,"bidPrice":34.45} ] } 

и я пытался использовать GET, как говорится в их документации.

 GET /api/investor/v1/accounts/87308218/trades/?aid=12345678&notes[0][loanId]=17213188&notes[0][orderId]=25300948&notes[0][noteId]=48382917&notes[0][bidPrice]=6.77&notes[1][loanId]=17213188&notes[1][orderId]=25300943&notes[1][noteId]=48382538&notes[1][bidPrice]=6.77 HTTP/1.1 Host: api.lendingclub.com Authorization: aaaaaaaaaaa111111 Cache-Control: no-cache Postman-Token: b34cb60b-91ea-c82e-349f-d395b01b1dc0 

Заранее спасибо!

Я понял! Оказывается, у LendingClub была некорректная информация о своей документации (супер разочаровывает!).

Мое решение состояло в том, чтобы изменить операцию на POST вместо GET, а конечная точка была неправильной.

У них есть URL: https://api.lendingclub.com/api/investor/v1/accounts/%5Binvestor id] / trades /, он должен быть URL: https://api.lendingclub.com/api/investor/v1 / accounts / / trades / buy (что на самом деле имеет больше смысла, так как конечная точка продажи API заканчивается / продается / продается.

Я надеюсь, что какой-нибудь разработчик в LendingClub читает это и редактирует документацию API, я уверен, что я не одинок с этим!