PHP 8.0 and later
To install the bindings via Composer, add the following to composer.json
:
{
"require": {
"climba-commerce/mercadolibre-php-sdk": "^v3.1"
}
}
Then run composer install
Download the files
Run composer install
Include autoload.php
in your code:
require_once('/path-to-integration-folder/vendor/autoload.php');
To run the unit tests:
composer install
./vendor/bin/phpunit
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$config = new Meli\Configuration();
$servers = $config->getHostSettings();
// Auth URLs Options by country
// 1: "https://auth.mercadolibre.com.ar"
// 2: "https://auth.mercadolivre.com.br"
// 3: "https://auth.mercadolibre.com.co"
// 4: "https://auth.mercadolibre.com.mx"
// 5: "https://auth.mercadolibre.com.uy"
// 6: "https://auth.mercadolibre.cl"
// 7: "https://auth.mercadolibre.com.cr"
// 8: "https://auth.mercadolibre.com.ec"
// 9: "https://auth.mercadolibre.com.ve"
// 10: "https://auth.mercadolibre.com.pa"
// 11: "https://auth.mercadolibre.com.pe"
// 12: "https://auth.mercadolibre.com.do"
// 13: "https://auth.mercadolibre.com.bo"
// 14: "https://auth.mercadolibre.com.py"
// Use the correct auth URL
$config->setHost($servers[1]["url"]);
// Or Print all URLs
print_r($servers);
// Or Print or Put the following URL in your browser window to obtain authorization:
//
// http://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=$APP_ID&redirect_uri=$YOUR_URL
?>
This will give you the url to redirect the user. You need to specify a callback url which will be the one that the user will redirected after a successfull authrization process.
Once the user is redirected to your callback url, you'll receive in the query string, a parameter named code. You'll need this for the second part of the process
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$apiInstance = new Meli\Api\OAuth20Api(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client()
);
$grant_type = 'authorization_code';
$client_id = 'client_id_example'; // Your client_id
$client_secret = 'client_secret_example'; // Your client_secret
$redirect_uri = 'redirect_uri_example'; // Your redirect_uri
$code = 'code_example'; // The parameter CODE
$refresh_token = 'refresh_token_example'; // Your refresh_token
try {
$result = $apiInstance->getToken($grant_type, $client_id, $client_secret, $redirect_uri, $code, $refresh_token);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling OAuth20Api->getToken: ', $e->getMessage(), PHP_EOL;
}
?>
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$apiInstance = new Meli\Api\RestClientApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client()
);
$resource = 'resource_example'; // string | for example: items
$access_token = 'access_token_example'; // string |
$options = ['headers' => ['access_token' => $access_token]]; // array |
$body = new \stdClass; // object |
try {
$apiInstance->resourcePost($resource, $options, $body);
} catch (Exception $e) {
echo 'Exception when calling RestClientApi->resourcePost: ', $e->getMessage(), PHP_EOL;
}
?>