Skip to content

Package to simplify the communication between the Mercado livre API and ours application.

License

Notifications You must be signed in to change notification settings

NetoBraghetto/Hokoml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hokoml

Package to simplify the integration between the Mercado livre API and your app.


Table of Contents

Installation

composer require braghetto/hokoml

Configs

<?php
$config = [
    /**
    * Get app_id, secret_key and redirect_uri in te ML application manager (http://applications.mercadolibre.com/)
    */
    'app_id' => 'YOUR_APP_ID',

    'secret_key' => 'YOUR_SECRET_KEY',

    'redirect_uri' => 'YOUR_REDIRECT_URI',

    'production' => false,

    /**
    * The ML code for your country
    *
    * MLA => Argentina
    * MBO => Bolivia
    * MLB => Brazil
    * MLC => Chile
    * MCO => Colombia
    * MCR => Costa Rica
    * MCU => Cuba
    * MRD => Dominican Republic
    * MEC => Ecuador
    * MGT => Guatemala
    * MHN => Honduras
    * MLM => Mexico
    * MNI => Nicaragua
    * MPA => Panama
    * MPY => Paraguay
    * MPE => Peru
    * MPT => Portugal
    * MSV => Salvador
    * MLU => Uruguay
    * MLV => Venezuela
    */
    'country' => 'YOUR_COUNTRY_CODE'
]

Usage

Authentication

Get auth url

Retrive the auth to authorize your app.

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config);
$url = $hokoml->getAuthUrl();

Authorize

Once you have the code retrive the access token, user id, expiration and a refresh token.

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config);
$response = $hokoml->authorize($_GET['code']);
// Persist the data for future usage...

Refresh access token

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config);
// $refresh_token saved from your previous authorization
$response = $hokoml->refreshAccessToken($refresh_token);

Product

Create

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config, $_SESSION['access_token'], $_SESSION['user_id']);
$response = $hokoml->product()->create([
    'title' => 'TESTE RAY BAN',
    'category_id' => 'MLB1227',
    'price' => 900000,
    'currency_id' => 'BRL',
    'available_quantity' => 1,
    'buying_mode' => 'buy_it_now',
    'listing_type_id' => 'free',
    'automatic_relist' => false,
    'condition' => 'new',
    'description' => 'Item:, <strong> Ray-Ban WAYFARER Gloss Black RB2140 901 </strong> Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box',
    'warranty' => '12 month by Ray Ban',
    'pictures' => [
        ['source' => 'https://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg'],
        ['source' => 'https://upload.wikimedia.org/wikipedia/commons/a/ab/Teashades.gif']
    ]
]);

Find product

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config, $_SESSION['access_token'], $_SESSION['user_id']);
$response = $hokoml->product()->find($product_id);

Update

Not all information can be update, so the packge will filter those info. Details here

<?php
// [...]
$response = $hokoml->product()->update($product_id, [
    'title' => 'Milibin',
    'price' => 800000,
    'warranty' => 'New warranty', // Won't be updated
    // [...]
]);

Pause

<?php
// [...]
$response = $hokoml->product()->pause($product_id);

Unpause

<?php
// [...]
$response = $hokoml->product()->unpause($product_id);

Finalize

<?php
// [...]
$response = $hokoml->product()->finalize($product_id);

Relist

<?php
// [...]
$response = $hokoml->product()->relist($product_id, $price);
// $response = $hokoml->product()->relist($product_id, $price, $quantity = 1, $listing_type = 'free');

Delete

<?php
// [...]
$response = $hokoml->product()->delete($product_id);

Category

List

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config, $_SESSION['access_token'], $_SESSION['user_id']);
// List all root categories
$response = $hokoml->category()->list();

// List children categories for a given id.
$response = $hokoml->category()->list($parent_category_id);

Predict

Predict a category for a given title.

<?php
// [...]
$response = $hokoml->category()->predict('Rayban Gloss Black');

Questions

Ask

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config, $_SESSION['access_token'], $_SESSION['user_id']);
$response = $hokoml->question()->ask($question_id, 'The questions.');

Find question

<?php
// [...]
$response = $hokoml->question()->find($question_id);

Answer

<?php
// [...]
$response = $hokoml->question()->answer($question_id, 'The answer.');

Questions from product

List all questions from a product.

<?php
// [...]
$response = $hokoml->question()->fromProduct($product_id);

// with filters
$response = $hokoml->question()->fromProduct($product_id, [
	'status' => 'unanswered',
	[...]
]);

// with filters and sorting
$response = $hokoml->question()->fromProduct($product_id, ['status' => 'unanswered'], 'date_desc');

Unanswered from product

List all unanswered questions from a product.

<?php
// [...]
$response = $hokoml->question()->unansweredFromProduct($product_id);

Block user

<?php
// [...]
$response = $hokoml->question()->blockUser($user_id);

Unblock user

<?php
// [...]
$response = $hokoml->question()->unblockUser($user_id);

Blocked users

List blocked users.

<?php
// [...]
$response = $hokoml->question()->blockedUsers();

Received questions

<?php
// [...]
$response = $hokoml->question()->received();

//With filters
$response = $hokoml->question()->received([
	'status' => 'unanswered'
]);

//With filters and sorting
$response = $hokoml->question()->received(['status' => 'unanswered'], 'date_desc');

User

Me

<?php
use Braghetto\Hokoml\Hokoml;

$hokoml = new Hokoml($config, $_SESSION['access_token'], $_SESSION['user_id']);
$response = $hokoml->user()->me();

Find user

<?php
[...]
$response = $hokoml->user()->find($user_id);

Addresses

Retrive the authenticated user addresses.

<?php
[...]
$response = $hokoml->user()->addresses();

Accepted payment methods

Retrive payment methods accepted by the authenticated user.

<?php
[...]
$response = $hokoml->user()->acceptedPaymentMethods();

License

This project is licensed under the MIT License - see the license.md file for details

About

Package to simplify the communication between the Mercado livre API and ours application.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages