2016-04-11 3 views
2

Ziemlich spezifische Problem, aber ich werde es so gut wie möglich zu legen.500 Fehler beim Versuch, neue Bestellung in TradeGecko API

Ich kann leicht eine POST-Anfrage an die TradeGecko API (detailliert hier: http://developer.tradegecko.com/) und erhalten Variante Preise im Gegenzug, dieser Teil der Interaktion funktioniert reibungslos.

Ich versuche jedoch, eine neue Bestellung zu erstellen, und ich fühle mich, als würde ich etwas verpassen!

Hier ist, was ich habe:

<?php 
$authorizeUrl = 'https://api.tradegecko.com/oauth/authorize'; 
$accessTokenUrl = 'https://api.tradegecko.com/oauth/token'; 
$clientId = <MY_CLIENT_ID>; 
$clientSecret = <MY_CLIENT_SECRET>; 
$redirectUrl = <REDIRECT_URI>; 

// https://github.com/adoy/PHP-OAuth2 

require("Client.php"); 
require("GrantType/IGrantType.php"); 
require("GrantType/AuthorizationCode.php"); 
$client = new OAuth2\Client($clientId, $clientSecret, OAuth2\Client::AUTH_TYPE_AUTHORIZATION_BASIC); 
$client->setCurlOption(CURLOPT_USERAGENT,$userAgent); 
$client->setAccessToken(<MY_ACCESS_TOKEN>); 
$client->setAccessTokenType(OAuth2\Client::ACCESS_TOKEN_BEARER); 
$params = 
array('order' => 
    array( 
     'company_id' => '12345', 
     'shipping_address_id' => 1, 
     'billing_address_id' => 1, 
     'status' => 'active', 
     'issued_at' => '10-04-2016', 
     'order_line_items' => array(
      array('variant_id' => 123456, 
       'quantity' => 2), 
      array('variant_id' => 123457, 
       'quantity' => 2) 
      ) 
    ) 
); 

$response = $client->fetch('https://api.tradegecko.com/orders', false, $params); 
print_r($response); 
?> 

Ich hoffe, dass in diesem Code gibt es etwas, dass jemand anderes beschmutzen könnte, ich habe jetzt für den besseren Teil von 6 Stunden auf sie gestarrt, und ich kann nicht herausfinden, warum das nicht durchkommt.

Antwort

-1

Nicht sicher, ob ich missverstanden habe, aber da Sie versuchen, eine neue Bestellung in TradeGecko zu erstellen, sollten Sie statt put nicht holen.

$response = $client->put('https://api.tradegecko.com/orders', false, $params);