PHP code example of dsc / mercado-livre

1. Go to this page and download the library: Download dsc/mercado-livre 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/ */

    

dsc / mercado-livre example snippets



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Authorization\AuthorizationService;

$meli = new Meli('APP-ID', 'SECRET-ID');
$service = new AuthorizationService($meli);

if(isset($_GET['code'])) {
   $service->authorize($_GET['code'], 'https://your-domain.com/login.php');
   header('Location: https://your-domain.com');
}

echo '<br><br><a href="' . $service->getOAuthUrl('https://your-domain/login.php') . '">Login using MercadoLibre oAuth 2.0</a>';

echo '<br><br><a href="' . $service->getOAuthUrl('https://your-domain/login.php', 'your-state-value') . '">Login using MercadoLibre oAuth 2.0</a>';


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado
use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Authorization\AuthorizationService;

// seu script background

$meli = new Meli('APP-ID', 'SECRET-ID');
$service = new AuthorizationService($meli);

$token = $service->getAccessToken();

// seu script background



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Announcement\Item;
use Dsc\MercadoLivre\Announcement\Picture;
use Dsc\MercadoLivre\Announcement;

// E NECESSARIO ESTAR AUTENTICADO...

$meli = new Meli('APP-ID', 'SECRET-ID');

$item = new Item();
$item->setTitle('Test item - no offer')
     ->setCategoryId('MLB46585')
     ->setPrice(100)
     ->setCurrencyId('BRL')
     ->setAvailableQuantity(10)
     ->setBuyingMode('buy_it_now')
     ->setListingTypeId('gold_especial')
     ->setCondition('new')
     ->setDescription('Test item - no offer')
     ->setWarranty('12 months');

// Imagem do Produto        
$picture = new Picture();
$picture->setSource('http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg');
$item->addPicture($picture); // collection de imagens

$announcement = new Announcement($meli);
$response = $announcement->create($item);

// Link do produto publicado
echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Requests\Category\CategoryService;
use Dsc\MercadoLivre\Environments\Site;
use Dsc\MercadoLivre\Announcement\Item;
use Dsc\MercadoLivre\Announcement\Picture;
use Dsc\MercadoLivre\Announcement;
use Dsc\MercadoLivre\Requests\Category\AttributeCombination;
use Dsc\MercadoLivre\Requests\Product\Variation;

// E NECESSARIO ESTAR AUTENTICADO...

$meli = new Meli('APP-ID', 'SECRET-ID');

$item = new Item();
$item->setTitle('Test item - no offer')
     ->setCategoryId('MLB46585')
     ->setCurrencyId('BRL')
     ->setAvailableQuantity(10)
     ->setBuyingMode('buy_it_now')
     ->setListingTypeId('gold_especial')
     ->setCondition('new')
     ->setDescription('Test item - no offer')
     ->setWarranty('12 months');

// Imagem do Produto        
$picture = new Picture();
$picture->setSource('http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg');
$item->addPicture($picture); // collection de imagens

// Consulta os atributos de uma determinada categoria
$service = new CategoryService();
$attributes = $service->findCategoryAttributes('MLB46585');

$attributeCombination = new AttributeCombination();
// E necessario selecionar os atributos da Categoria e setar no AttributeCombination

// Primeira variacao
$variation = new Variation();
$variation->setPrice(120);
$variation->setAvailableQuantity(10);
$variation->addAttributeCombination($attributeCombination);
$variation->setPictureIds([
    'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg'
]);

$item->addVariation($variation);

// Criando um Anuncio...
$announcement = new Announcement($meli);
$response = $announcement->create($item);

// Link do produto publicado
echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Requests\Category\CategoryService;
use Dsc\MercadoLivre\Environments\Site;
use Dsc\MercadoLivre\Announcement\Item;
use Dsc\MercadoLivre\Announcement\Picture;
use Dsc\MercadoLivre\Announcement;
use Dsc\MercadoLivre\Requests\Category\AttributeCombination;
use Dsc\MercadoLivre\Requests\Product\Variation;

// E NECESSARIO ESTAR AUTENTICADO...

$meli = new Meli('APP-ID', 'SECRET-ID');

$item = new Item();
$item->setTitle('Test item - no offer')
     ->setCategoryId('MLB46585')
     ->setCurrencyId('BRL')
     ->setAvailableQuantity(10)
     ->setBuyingMode('buy_it_now')
     ->setListingTypeId('gold_especial')
     ->setCondition('new')
     ->setDescription('Test item - no offer')
     ->setWarranty('12 months');

// Imagem do Produto
$picture = new Picture();
$picture->setSource('http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg');
$item->addPicture($picture); // collection de imagens

// Consulta os atributos de uma determinada categoria
$service = new CategoryService();
$attributes = $service->findCategoryAttributes('MLB46585');

$item->setAttributes($attributes);

// Criando um Anuncio...
$announcement = new Announcement($meli);
$response = $announcement->create($item);

// Link do produto publicado
echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Announcement;

$meli = new Meli('APP-ID', 'SECRET-ID');

$data = [
    'title' => 'New title',
    'available_quantity' => 10,
    'price' => 100
];

$announcement = new Announcement($meli);
$response = $announcement->update('ITEM-CODE', $data);

// Link do produto
echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Announcement;

$meli = new Meli('APP-ID', 'SECRET-ID');

$description = '<p>New description item</p>';

$announcement = new Announcement($meli);
$response = $announcement->changeDescription('ITEM-CODE', $description);

echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Announcement;
use Dsc\MercadoLivre\Announcement\Status;

$meli = new Meli('APP-ID', 'SECRET-ID');

$announcement = new Announcement($meli);
$response = $announcement->changeStatus('ITEM-CODE', Status::PAUSED); // pausa o anúncio

echo $response->getPermalink();


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Announcement;

$meli = new Meli('APP-ID', 'SECRET-ID');

$announcement = new Announcement($meli);
$announcement->delete('ITEM-CODE');


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Requests\Category\CategoryService;
use Dsc\MercadoLivre\Environments\Site;

$service = new CategoryService();

// Consulta uma categoria específica
$category = $service->findCategory('MLA5725');

// Consulta a lista de categorias de uma determinada região (Site ID)
$categories = $service->findCategories(Site::BRASIL);

// Consulta a lista de categorias a partir do título de um produto
$categories = $service->findCategoryPredictor(Site::BRASIL, 'titulo-do-seu-produto');

// Consulta os atributos de uma determinada categoria
$attributes = $service->findCategoryAttributes('MLA5725');



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Requests\Currency\CurrencyService;

$service = new CurrencyService();

// Consulta uma moeda específica
$currency = $service->findCurrency('ARS');

// Consulta a lista de moedas e seus atributos
$currencies = $service->findCurrencies();



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\User\UserService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new UserService($meli);

// Consulta dados do usuário
$information = $service->getInformationAuthenticatedUser();



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Order\OrderService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new OrderService($meli);

// Consulta um pedido
$order = $service->findOrder('ORDER-ID');



// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Order\OrderService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new OrderService($meli);
// Consulta de pedidos de um vendedor
$orders = $service->findOrdersBySeller('SELLER-ID');
// Ou Consulta de pedidos de um comprador
$orders = $service->findOrdersByBuyer('BUYER-ID');

// Nesses métodos você tem a opção de passar alguns parâmetros adicionais
// para paginação ou ordenação
$limit = 50;
$offset = 0;
$sort = 'date_desc';
$orders = $service->findOrdersBySeller('SELLER-ID', $limit, $offset, $sort);


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Payment\PaymentService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new PaymentService($meli);

// Consulta um pagamento
$payment = $service->findPayment('PAYMENT-ID');

// Consulta um pagamento de vendedor
$payment = $service->findPaymentOfSeller('PAYMENT-ID');


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Shipment\ShipmentService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new ShipmentService($meli);

// Consulta um envio
$shipment = $service->findShipment('SHIPMENT-ID');


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Message\MessageService;
use Dsc\MercadoLivre\Resources\Message\From;
use Dsc\MercadoLivre\Resources\Message\Message;
use Dsc\MercadoLivre\Resources\Message\To;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new MessageService($meli);

// identifica o vendedor
$from = new From();
$from->setUserId('SELLER-ID');

// identifica o cliente
$to = new To();
$to->setUserId('USER-ID');

$message = new Message();
$message->setFrom($from);
$message->setTo($to);
$message->setText("Text message");

// Enviando a mensagem
$messageResponse = $service->send($message, 'ORDER-ID', 'SELLER-ID');


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Resources\Feedback\FeedbackPost;
use Dsc\MercadoLivre\Resources\Feedback\Rating;
use Dsc\MercadoLivre\Resources\Order\OrderService;

$meli = new Meli('APP-ID', 'SECRET-ID');

$service = new OrderService($meli);

// Criando o feedback a ser postado
$feedback = new FeedbackPost();
$feedback->setFulfilled(true);
$feedback->setMessage('Test');
$feedback->setRating(Rating::POSITIVE);

// Publicando o feedback
$feedbackResponse = $service->publishFeedback($feedback, 'ORDER-ID');


// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use Dsc\MercadoLivre\Meli;
use Dsc\MercadoLivre\Environments\Site;
use Dsc\MercadoLivre\Environments\Production;

// Acessando os recursos da Argentina
$meli = new Meli(
            'APP-ID', 
            'SECRET-ID',
            new Production(Site::ARGENTINA)
        );

composer
php composer.phar test