1. Go to this page and download the library: Download tepuilabs/mini-meli 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/ */
tepuilabs / mini-meli example snippets
use Tepuilabs\MeliServices\MeliConfig;
use Tepuilabs\MeliServices\MeliServices;
use Tepuilabs\MeliServices\MeliScopes;
onfig = MeliConfig::forAuthorization(
clientId: 'tu_client_id',
clientSecret: 'tu_client_secret',
redirectUri: 'http://localhost:9000',
codeVerifier: $pkce['code_verifier'],
codeChallenge: $pkce['code_challenge'],
state: $state,
scopes: MeliScopes::getOfflineAccess() // Incluye refresh tokens
);
$meli = new MeliServices($config);
// Generar URL de autorización
$authUrl = $meli->getAuthorizationUrl('MLA'); // Argentina
echo "Ve a: {$authUrl}";
// En tu callback
$code = $_GET['code'] ?? '';
$state = $_GET['state'] ?? '';
// Verificar state para seguridad
if ($state !== $savedState) {
throw new Exception("State no coincide");
}
$config = new MeliConfig(
clientId: 'tu_client_id',
clientSecret: 'tu_client_secret',
code: $code,
redirectUri: 'http://localhost:9000',
codeVerifier: $savedCodeVerifier // De la sesión
);
$meli = new MeliServices($config);
$response = $meli->generateAccessToken();
// Guardar tokens
$accessToken = $response->getAccessToken();
$refreshToken = $response->getRefreshToken();
$userId = $response->getUserId();
// Renovar token cuando expire
$response = $meli->refreshAccessToken($refreshToken);
// Actualizar tokens
$newAccessToken = $response->getAccessToken();
$newRefreshToken = $response->getRefreshToken(); // Siempre nuevo
// Crear instancia para API calls
$config = MeliConfig::forAuthorization(
clientId: 'tu_client_id',
clientSecret: 'tu_client_secret',
redirectUri: 'http://localhost:9000'
);
$meli = new MeliServices($config);
// Hacer llamadas
$userProfile = $meli->get('/users/me', $accessToken);
$userItems = $meli->get("/users/{$userId}/items/search", $accessToken);
$categories = $meli->get('/sites/MLA/categories', $accessToken);
// Obtener detalles de la aplicación
$appDetails = $meli->getApplicationDetails($accessToken, $appId);
// Obtener aplicaciones autorizadas por el usuario
$userApps = $meli->getUserApplications($accessToken, $userId);
// Obtener usuarios que dieron permisos a tu app
$appGrants = $meli->getApplicationGrants($accessToken, $appId);
// Revocar autorización de un usuario
$result = $meli->revokeUserAuthorization($accessToken, $userId, $appId);