PHP code example of edos-engineering / reverb-marketplace

1. Go to this page and download the library: Download edos-engineering/reverb-marketplace library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

edos-engineering / reverb-marketplace example snippets


use Edos\ReverbMarketplace\Environment;
use Edos\ReverbMarketplace\Facades\ReverbMarketplace;

$live = ReverbMarketplace::usingEnvironment(Environment::Production)->usingToken($productionToken);

use Edos\ReverbMarketplace\Enums\ListingCondition;
use Edos\ReverbMarketplace\Support\Money;

$listings = ReverbMarketplace::listings();

$payload = [
    'make' => 'Fender',
    'model' => 'Stratocaster',
    'title' => '1964 Fender Stratocaster, Sunburst',
    'description' => 'All original.',
    'categories' => [['uuid' => $categoryUuid]],   // ReverbMarketplace::catalog()->flatCategories()
    'condition' => ListingCondition::Excellent->toPayload(),
    'price' => Money::fromCents(2_450_000),
    'sku' => 'TF-1042',
    'photos' => ['https://example.com/strat-1.jpg'],
    'shipping_profile_id' => $profileId,           // ReverbMarketplace::shop()->shippingProfiles()
    'has_inventory' => true,
    'inventory' => 1,
    'offers_enabled' => true,
    'publish' => true,
];

$existing = $listings->findBySku('TF-1042');       // any state, drafts 

use Edos\ReverbMarketplace\Enums\OrderStatus;

$orders = ReverbMarketplace::orders()->allSelling(['updated_start_date' => $lastPolledAt]);

foreach ($orders as $order) {
    $status = OrderStatus::tryFrom($order['status']);

    if ($status?->isSold()) {
        // paid, shipped, picked_up or received: the money has cleared
    } elseif ($status?->isReversed()) {
        // refunded or cancelled
    }
}

ReverbMarketplace::orders()->ship($orderNumber, 'UPS', '1Z999AA10123456784');

ReverbMarketplace::get('/priceguide', ['query' => 'jazzmaster']);
ReverbMarketplace::follow($order['_links']['packing_slip']['href']);

use Edos\ReverbMarketplace\Webhooks\WebhookReceived;

Event::listen(function (WebhookReceived $event) {
    // The payload is unsigned. Use it to learn which order changed, then
    // read the truth back before acting on any amount or status.
    $order = ReverbMarketplace::orders()->find($event->orderNumber());
});

use Edos\ReverbMarketplace\ReverbClient;

$reverb = ReverbClient::make($token, 'production');
$reverb->listings()->mine(['state' => 'all']);

Http::preventStrayRequests();
Http::fake(['sandbox.reverb.com/api/my/listings*' => Http::response(['listings' => []])]);
bash
php artisan reverb-marketplace:check
bash
php artisan vendor:publish --tag=reverb-marketplace-config