Zmiana ceny change-price-commands

W poprzednim poście opisałem sposób logowania do serwisu Allegro przez OAuth2 i stworzyłem klasę za to odpowiedzialną.
Nadszedł czas na praktyczny przykład, wykorzystania zasobów Allegro.
Niestety na obecną chwilę, dostępy jest tylko jeden zasób służący do zmiany ceny w trwających aukcjach change-price-commands.

Adres zasobu

put /offers/{offerId}/change-price-commands/{commandId}

Dokumentacja

https://developer.allegroapi.io/documentation/#!/default/put_offers_offerId_change_price_commands_commandId

Implementacja funkcji

Poniżej zamieszczam przykładową funkcję do zmiany ceny.

<?php
  function commandRequest($uri, array $params = []) {
    $headers = [
      'Accept: application/vnd.allegro.public.v1+json',
      'Content-Type: application/vnd.allegro.public.v1+json',
      'Authorization: Bearer (Token Allegro)',
      'Api-Key: (Klucz API)'
    ];
    
    $curl = curl_init($uri);
 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 
    $data = json_encode($params);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);    
 
    return curl_exec($curl);
  }
?>

Wywołanie funkcji

<?php
  $itemId = 123456; // Numer aukcji
  $guId = trim(com_create_guid(), '{}'); // GUID, np. d7c0c24b-c0d1-4aef-80da-96107ae7a7fc
  
  $data = [
    'input' => [
      'buyNowPrice' => [
        'amount' => '53',
        'currency' => 'PLN'
      ]
    ]
  ];
  
  commandRequest('https://allegroapi.io/offers/' . $itemId . '/change-price-commands/' . $guId, $data);
?>

Jak widać, jest to bardzo prosta funkcja, bez obsługi wyjątków itp.
Nic nie stoi na przeszkodzie, aby ją rozbudować i zaimplementować w naszej poprzedniej klasie AllegroOAuth2Client.

Dyskusja na forum:
http://allerest.pl/forum/viewtopic.php?id=6

Comments are closed.