API – CONCEITOS GERAIS 
Danilo Santos 
Engenheiro de Software do MercadoLivre
Developer Conference 
Agenda 
- API 
- RESTful 
- JSON 
- Categorias 
- Anúncios 
- Perguntas 
- Pedidos 
- Qualificações 
- Buscas
Developer Conference 
O que é uma API? 
A - Application 
P - Programming 
I - Interface
Developer Conference 
RESTful 
GET 
POST 
PUT 
DELETE
Developer Conference 
RESTful - HTTPS
Developer Conference 
JSON
Developer Conference 
JSON 
"A mesma praça… o mesmo banco..."
Developer Conference 
JSON 
{ 
"title": "Apple Iphone 5s 16gb 4g Original Promoção", 
"category_id": "MLB123612", 
"price": 2000, 
"currency_id": "BRL", 
"initial_quantity": 50, 
"buying_mode": "buy_it_now", 
"listing_type_id": "gold_premium", 
"condition": "new", 
"pictures": { "source": "http://static.hsw.com.br/gif/how-buildings-58.jpg"}, 
"video_id": null, 
"descriptions": "item: <strong> Iphone 5s Imperdível!!! </strong>" 
}
Developer Conference 
Agenda 
- API 
- RESTful 
- JSON 
- Categorias 
- Anúncios 
- Perguntas 
- Pedidos 
- Qualificações 
- Buscas
Developer Conference 
Categorias
Developer Conference 
Categorias
Developer Conference 
Categorias
Developer Conference 
Categorias
Developer Conference 
Categorias
Developer Conference 
Categorias
Developer Conference 
Categorias 
https://api.mercadolibre.com/sites/MLB
Developer Conference 
Anúncios 
https://api.mercadolibre.com/items
Developer Conference 
POST /items - Cadastrar um anúncio 
- Título 
- Categoria 
- Preço 
- Quantidade 
- Nível de exposição 
- Imagens 
- Descrição
Developer Conference 
POST /items - Cadastrar um anúncio 
JSON enviado: 
{ 
"title": "Apple Iphone 5s 16gb 4g Original Promoção", 
"category_id": "MLB123612", 
"price": 2000, 
"currency_id": "BRL", 
"initial_quantity": 50, 
"listing_type_id": "silver", 
"condition": "new", 
"pictures": { "source": "http://static.hsw.com.br/gif/how-to-draw-buildings-58.jpg"}, 
"video_id": null, 
"descriptions": "item: <strong> Iphone 5s Imperdível!!! </strong>",
Developer Conference 
POST /items - Cadastrar um anúncio 
APP 
POST
Developer Conference 
POST /items - Cadastrar um anúncio 
APP 
POST 
APP 
201 Created
Developer Conference 
POST /items - Cadastrar um anúncio 
JSON de retorno: 
{ 
"id": "MLB568033554", 
"site_id": "MLB", 
"title": "Apple Iphone 5s 16gb 4g Desbloqueado Original Promoção", 
"price": 2179, 
"currency_id": "BRL", 
"listing_type_id": "silver", 
"condition": "new", 
"permalink": "http://produto.mercadolivre.com.br/MLB-568033554-iphone-5s-original-_JM",
Developer Conference 
PUT /items/:id - Modificar um anúncio 
https://api.mercadolibre.com/items/MLB568033554
Developer Conference 
PUT /items/:id - Modificar um anúncio 
JSON enviado: 
{ 
"title": "Apple Iphone 5s 32gb Promoção", 
"price": 1900, 
}
Developer Conference 
PUT /items/:id - Modificar um anúncio 
APP 
PUT
Developer Conference 
PUT /items/:id - Modificar um anúncio 
APP 
PUT 
APP 
200 Ok
Developer Conference 
PUT /items/:id - Modificar um anúncio 
JSON de retorno: 
{ 
"id": "MLB568033554", 
"site_id": "MLB", 
"title": "Apple Iphone 5s 32gb Promoção", 
"price": 1900, 
"currency_id": "BRL", 
"listing_type_id": "silver", 
"condition": "new", 
"permalink": "http://produto.mercadolivre.com.br/MLB-568033554-iphone-5s-original-_JM",
Developer Conference 
PUT /items/:id - Modificar um anúncio 
Campos que podem ser modificados: 
- Título 
- Quantidade disponível 
- Preço 
- Video 
- Imagens 
- Descrição 
- Modo de Envio
Developer Conference 
PUT /items/:id - Modificar um anúncio 
Campos que NÃO podem ser modificados 
após uma venda do produto: 
- Título 
- Condição (novo/usado) 
- Método de Envio 
- Video 
- Garantia
Developer Conference 
PUT /items - Status do anúncio 
JSON: 
{ 
"status": "active" 
} 
Active Paused Closed
Developer Conference 
POST /items/:id/relist - Republicar um anúncio 
https://api.mercadolibre.com/items/MLB568033554/relist 
Relist 
Active Paused Closed
Developer Conference 
POST /items/:id/relist - Republicar um anúncio 
APP 
POST
Developer Conference 
POST /items/:id/relist - Republicar um anúncio 
APP 
POST 
{ 
"listing_type_id": "silver", 
"quantity": 99, 
"price": 1900 
}
Developer Conference 
POST /items/:id/relist - Republicar um anúncio 
APP 
POST 
APP 
{ 
"id": "MLB123456789", 
"site_id": "MLB", 
"title": "Apple Iphone 5s 16gb 4g Desbloqueado Original Promoção", 
"price": 1900, 
"listing_type_id": "silver", 
201 Created
Developer Conference 
Perguntas 
https://api.mercadolibre.com/questions
Developer Conference 
POST /questions - Notificação 
APP 
POST
Developer Conference 
POST /questions - Notificação 
{ 
"user_id": "12345678", 
"resource": "/questions/123456789", 
"topic": "questions", 
"received": "2014-02-04T19:00:04+00:00", 
"sent": "2014-02-04T19:00:45+00:00" 
} 
APP 
POST
Developer Conference 
POST /questions - Notificação 
APP 
POST 
APP 
{ 
"user_id": "12345678", 
"resource": "/questions/123456789", 
"topic": "questions", 
"received": "2014-02-04T19:00:04+00:00", 
"sent": "2014-02-04T19:00:45+00:00" 
} 
200 Ok
Developer Conference 
GET /questions - Consultar uma pergunta 
https://api.mercadolibre.com/questions/123456789
Developer Conference 
GET /questions - Consultar uma pergunta 
JSON de retorno: 
{ 
"id": 123456789, 
"answer": null, 
"date_created": "2014-02-04T19:00:04-00:00", 
"item_id": "MLB568033554", 
"seller_id": 123456789, 
"status": "UNANSWERED", 
"text": "Quanto tempo de garantia do produto?", 
"from": { 
"id": 9876543, 
"answered_questions": 0 
} 
}
Developer Conference 
POST /answer - Responder uma pergunta 
https://api.mercadolibre.com/answer
Developer Conference 
POST /answer - Responder uma pergunta 
JSON enviado: 
{ 
"question_id": "123456789", 
"text": "Oferecemos garantia de 01 ano" 
}
Developer Conference 
POST /answer - Responder uma pergunta 
APP 
POST
Developer Conference 
POST /questions - Responder uma pergunta 
APP 
POST 
APP 
201 Created
Developer Conference 
DELETE /questions - Excluir uma pergunta 
https://api.mercadolibre.com/questions/123456789 
Método: DELETE
Developer Conference 
Pedidos 
https://api.mercadolibre.com/orders
Developer Conference 
POST /orders - Consultar um pedido 
APP 
POST
Developer Conference 
POST /orders - Consultar um pedido 
{ 
"user_id": "12345678", 
"resource": "/orders/123456789", 
"topic": "orders", 
"received": "2014-02-04T19:00:04+00:00", 
"sent": "2014-02-04T19:00:45+00:00" 
} 
APP 
POST
Developer Conference 
POST /orders - Consultar um pedido 
{ 
"user_id": "12345678", 
"resource": "/orders/123456789", 
"topic": "orders", 
"received": "2014-02-04T19:00:04+00:00", 
"sent": "2014-02-04T19:00:45+00:00" 
} 
APP 
POST 
APP 
200 Ok
Developer Conference 
GET /orders - Consultar um pedido 
{ 
"id": 12345678, 
"status": "paid", 
"status_detail": null, 
"date_created": "2013-05-27T10:01:50.000-04:00", 
"date_closed": "2013-05-27T10:04:07.000-04:00", 
"order_items": - [ 
- { 
"item": - { 
"id": "MLB56XXXXX54", 
"title": "Apple Iphone 5s 32gb Promoção", 
"variation_id": null, 
"variation_attributes": [ ], 
}, 
"quantity": 1, 
"unit_price": 1950, 
"currency_id": "BRL",
Developer Conference 
GET /orders - Consultar um pedido 
"buyer": - { 
"id": "60XXXXXX43", 
"nickname": "CXXXXXXXXXX23", 
"email": "teste@email.com", 
"phone": - { 
"area_code": "11", 
"number": "20XXXXXX28", 
"extension": null, 
}, 
"first_name": "Usuario", 
"last_name": "Sobrenome", 
"billing_info": - { 
"doc_type": "CPF", 
"doc_number": "29XXXXXXXXXXXX8", 
}, 
}
Developer Conference 
GET /orders - Consultar um pedido 
"payments": - [ 
- { 
"id": "59XXXXXX37", 
"transaction_amount": 1950, 
"coupon_amount": null, 
"currency_id": "BRL", 
"status": "approved", 
"date_created": "2013-05-27T10:03:46.000-04:00", 
"date_last_modified": "2013-05-27T10:03:46.000-04:00", 
}, 
],
Developer Conference 
GET /orders - Consultar um pedido 
"shipping": - { 
"shipping_mode": "custom", 
"shipment_type": "shipping", 
"status": "shipped", 
"currency_id": "BRL", 
"receiver_address": - { 
"state": - { 
"id": "BR-SP", 
"name": "São Paulo", 
}, 
"street_name": null, 
"city": - { 
"id": "BR-SP-44", 
"name": "São Paulo", 
}, 
"country": - { 
"id": "BR", 
"name": "Brasil",
Developer Conference 
Qualificações 
https://api.mercadolibre.com/orders/1234567/feedback?version=3.0 
New API Tutorial: http://developers.mercadolibre.com/feedback/
Developer Conference 
POST /orders/:id/feedback - Qualificar o usuário 
JSON enviado: 
{ 
"fulfilled": "true", 
"rating": "positive", 
"message": "Recomendo a todos do Mercadolivre!" 
}
Developer Conference 
POST /orders/:id/feedback - Qualificar o usuário 
APP 
POST
Developer Conference 
POST /orders/:id/feedback - Qualificar o usuário 
APP 
POST 
APP 
201 Created
Developer Conference 
Buscas 
Método: GET 
Por Keyword: 
https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4 
Por Category ID: 
https://api.mercadolibre.com/sites/MLB/search?category=MLB39328 
Por Nickname: 
https://api.mercadolibre.com/sites/MLB/search?nickname=$NICKNAME 
Por Seller ID: 
https://api.mercadolibre.com/sites/MLB/search?seller_id=123456789
Developer Conference 
Buscas 
Método: GET 
Por Combinações: 
https://api.mercadolibre.com/sites/MLB/search?category_id=MLB118907 
&seller_id=30437647&q=PlayStation4 
Ordenação: 
https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4&sort=price_asc 
Paginação: 
https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4&offset=100&limit=10
Developer Conference 
Perguntas?
Developer Conference 
OBRIGADO!

Sala 2 01 api conceitos gerais - danilo santos

  • 1.
    API – CONCEITOSGERAIS Danilo Santos Engenheiro de Software do MercadoLivre
  • 2.
    Developer Conference Agenda - API - RESTful - JSON - Categorias - Anúncios - Perguntas - Pedidos - Qualificações - Buscas
  • 3.
    Developer Conference Oque é uma API? A - Application P - Programming I - Interface
  • 4.
    Developer Conference RESTful GET POST PUT DELETE
  • 5.
  • 6.
  • 7.
    Developer Conference JSON "A mesma praça… o mesmo banco..."
  • 8.
    Developer Conference JSON { "title": "Apple Iphone 5s 16gb 4g Original Promoção", "category_id": "MLB123612", "price": 2000, "currency_id": "BRL", "initial_quantity": 50, "buying_mode": "buy_it_now", "listing_type_id": "gold_premium", "condition": "new", "pictures": { "source": "http://static.hsw.com.br/gif/how-buildings-58.jpg"}, "video_id": null, "descriptions": "item: <strong> Iphone 5s Imperdível!!! </strong>" }
  • 9.
    Developer Conference Agenda - API - RESTful - JSON - Categorias - Anúncios - Perguntas - Pedidos - Qualificações - Buscas
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Developer Conference Categorias https://api.mercadolibre.com/sites/MLB
  • 17.
    Developer Conference Anúncios https://api.mercadolibre.com/items
  • 18.
    Developer Conference POST/items - Cadastrar um anúncio - Título - Categoria - Preço - Quantidade - Nível de exposição - Imagens - Descrição
  • 19.
    Developer Conference POST/items - Cadastrar um anúncio JSON enviado: { "title": "Apple Iphone 5s 16gb 4g Original Promoção", "category_id": "MLB123612", "price": 2000, "currency_id": "BRL", "initial_quantity": 50, "listing_type_id": "silver", "condition": "new", "pictures": { "source": "http://static.hsw.com.br/gif/how-to-draw-buildings-58.jpg"}, "video_id": null, "descriptions": "item: <strong> Iphone 5s Imperdível!!! </strong>",
  • 20.
    Developer Conference POST/items - Cadastrar um anúncio APP POST
  • 21.
    Developer Conference POST/items - Cadastrar um anúncio APP POST APP 201 Created
  • 22.
    Developer Conference POST/items - Cadastrar um anúncio JSON de retorno: { "id": "MLB568033554", "site_id": "MLB", "title": "Apple Iphone 5s 16gb 4g Desbloqueado Original Promoção", "price": 2179, "currency_id": "BRL", "listing_type_id": "silver", "condition": "new", "permalink": "http://produto.mercadolivre.com.br/MLB-568033554-iphone-5s-original-_JM",
  • 23.
    Developer Conference PUT/items/:id - Modificar um anúncio https://api.mercadolibre.com/items/MLB568033554
  • 24.
    Developer Conference PUT/items/:id - Modificar um anúncio JSON enviado: { "title": "Apple Iphone 5s 32gb Promoção", "price": 1900, }
  • 25.
    Developer Conference PUT/items/:id - Modificar um anúncio APP PUT
  • 26.
    Developer Conference PUT/items/:id - Modificar um anúncio APP PUT APP 200 Ok
  • 27.
    Developer Conference PUT/items/:id - Modificar um anúncio JSON de retorno: { "id": "MLB568033554", "site_id": "MLB", "title": "Apple Iphone 5s 32gb Promoção", "price": 1900, "currency_id": "BRL", "listing_type_id": "silver", "condition": "new", "permalink": "http://produto.mercadolivre.com.br/MLB-568033554-iphone-5s-original-_JM",
  • 28.
    Developer Conference PUT/items/:id - Modificar um anúncio Campos que podem ser modificados: - Título - Quantidade disponível - Preço - Video - Imagens - Descrição - Modo de Envio
  • 29.
    Developer Conference PUT/items/:id - Modificar um anúncio Campos que NÃO podem ser modificados após uma venda do produto: - Título - Condição (novo/usado) - Método de Envio - Video - Garantia
  • 30.
    Developer Conference PUT/items - Status do anúncio JSON: { "status": "active" } Active Paused Closed
  • 31.
    Developer Conference POST/items/:id/relist - Republicar um anúncio https://api.mercadolibre.com/items/MLB568033554/relist Relist Active Paused Closed
  • 32.
    Developer Conference POST/items/:id/relist - Republicar um anúncio APP POST
  • 33.
    Developer Conference POST/items/:id/relist - Republicar um anúncio APP POST { "listing_type_id": "silver", "quantity": 99, "price": 1900 }
  • 34.
    Developer Conference POST/items/:id/relist - Republicar um anúncio APP POST APP { "id": "MLB123456789", "site_id": "MLB", "title": "Apple Iphone 5s 16gb 4g Desbloqueado Original Promoção", "price": 1900, "listing_type_id": "silver", 201 Created
  • 35.
    Developer Conference Perguntas https://api.mercadolibre.com/questions
  • 36.
    Developer Conference POST/questions - Notificação APP POST
  • 37.
    Developer Conference POST/questions - Notificação { "user_id": "12345678", "resource": "/questions/123456789", "topic": "questions", "received": "2014-02-04T19:00:04+00:00", "sent": "2014-02-04T19:00:45+00:00" } APP POST
  • 38.
    Developer Conference POST/questions - Notificação APP POST APP { "user_id": "12345678", "resource": "/questions/123456789", "topic": "questions", "received": "2014-02-04T19:00:04+00:00", "sent": "2014-02-04T19:00:45+00:00" } 200 Ok
  • 39.
    Developer Conference GET/questions - Consultar uma pergunta https://api.mercadolibre.com/questions/123456789
  • 40.
    Developer Conference GET/questions - Consultar uma pergunta JSON de retorno: { "id": 123456789, "answer": null, "date_created": "2014-02-04T19:00:04-00:00", "item_id": "MLB568033554", "seller_id": 123456789, "status": "UNANSWERED", "text": "Quanto tempo de garantia do produto?", "from": { "id": 9876543, "answered_questions": 0 } }
  • 41.
    Developer Conference POST/answer - Responder uma pergunta https://api.mercadolibre.com/answer
  • 42.
    Developer Conference POST/answer - Responder uma pergunta JSON enviado: { "question_id": "123456789", "text": "Oferecemos garantia de 01 ano" }
  • 43.
    Developer Conference POST/answer - Responder uma pergunta APP POST
  • 44.
    Developer Conference POST/questions - Responder uma pergunta APP POST APP 201 Created
  • 45.
    Developer Conference DELETE/questions - Excluir uma pergunta https://api.mercadolibre.com/questions/123456789 Método: DELETE
  • 46.
    Developer Conference Pedidos https://api.mercadolibre.com/orders
  • 47.
    Developer Conference POST/orders - Consultar um pedido APP POST
  • 48.
    Developer Conference POST/orders - Consultar um pedido { "user_id": "12345678", "resource": "/orders/123456789", "topic": "orders", "received": "2014-02-04T19:00:04+00:00", "sent": "2014-02-04T19:00:45+00:00" } APP POST
  • 49.
    Developer Conference POST/orders - Consultar um pedido { "user_id": "12345678", "resource": "/orders/123456789", "topic": "orders", "received": "2014-02-04T19:00:04+00:00", "sent": "2014-02-04T19:00:45+00:00" } APP POST APP 200 Ok
  • 50.
    Developer Conference GET/orders - Consultar um pedido { "id": 12345678, "status": "paid", "status_detail": null, "date_created": "2013-05-27T10:01:50.000-04:00", "date_closed": "2013-05-27T10:04:07.000-04:00", "order_items": - [ - { "item": - { "id": "MLB56XXXXX54", "title": "Apple Iphone 5s 32gb Promoção", "variation_id": null, "variation_attributes": [ ], }, "quantity": 1, "unit_price": 1950, "currency_id": "BRL",
  • 51.
    Developer Conference GET/orders - Consultar um pedido "buyer": - { "id": "60XXXXXX43", "nickname": "CXXXXXXXXXX23", "email": "teste@email.com", "phone": - { "area_code": "11", "number": "20XXXXXX28", "extension": null, }, "first_name": "Usuario", "last_name": "Sobrenome", "billing_info": - { "doc_type": "CPF", "doc_number": "29XXXXXXXXXXXX8", }, }
  • 52.
    Developer Conference GET/orders - Consultar um pedido "payments": - [ - { "id": "59XXXXXX37", "transaction_amount": 1950, "coupon_amount": null, "currency_id": "BRL", "status": "approved", "date_created": "2013-05-27T10:03:46.000-04:00", "date_last_modified": "2013-05-27T10:03:46.000-04:00", }, ],
  • 53.
    Developer Conference GET/orders - Consultar um pedido "shipping": - { "shipping_mode": "custom", "shipment_type": "shipping", "status": "shipped", "currency_id": "BRL", "receiver_address": - { "state": - { "id": "BR-SP", "name": "São Paulo", }, "street_name": null, "city": - { "id": "BR-SP-44", "name": "São Paulo", }, "country": - { "id": "BR", "name": "Brasil",
  • 54.
    Developer Conference Qualificações https://api.mercadolibre.com/orders/1234567/feedback?version=3.0 New API Tutorial: http://developers.mercadolibre.com/feedback/
  • 55.
    Developer Conference POST/orders/:id/feedback - Qualificar o usuário JSON enviado: { "fulfilled": "true", "rating": "positive", "message": "Recomendo a todos do Mercadolivre!" }
  • 56.
    Developer Conference POST/orders/:id/feedback - Qualificar o usuário APP POST
  • 57.
    Developer Conference POST/orders/:id/feedback - Qualificar o usuário APP POST APP 201 Created
  • 58.
    Developer Conference Buscas Método: GET Por Keyword: https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4 Por Category ID: https://api.mercadolibre.com/sites/MLB/search?category=MLB39328 Por Nickname: https://api.mercadolibre.com/sites/MLB/search?nickname=$NICKNAME Por Seller ID: https://api.mercadolibre.com/sites/MLB/search?seller_id=123456789
  • 59.
    Developer Conference Buscas Método: GET Por Combinações: https://api.mercadolibre.com/sites/MLB/search?category_id=MLB118907 &seller_id=30437647&q=PlayStation4 Ordenação: https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4&sort=price_asc Paginação: https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4&offset=100&limit=10
  • 60.
  • 61.