Sala 2 01 api conceitos gerais - danilo santos
-
Upload
fsolari -
Category
Technology
-
view
240 -
download
4
description
Transcript of Sala 2 01 api conceitos gerais - danilo santos
Danilo Santos
API – CONCEITOS GERAIS
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
- Título- Categoria- Preço- Quantidade- Nível de exposição- Imagens- Descrição
POST /items - Cadastrar um anúncio
Developer Conference
POST /items - Cadastrar um anúncio
{ "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>",
JSON enviado:
Developer Conference
POST /items - Cadastrar um anúncio
APPPOST
Developer Conference
POST /items - Cadastrar um anúncio
APPPOST
APP201 Created
Developer Conference
POST /items - Cadastrar um anúncio
{ "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",
JSON de retorno:
Developer Conference
https://api.mercadolibre.com/items/MLB568033554
PUT /items/:id - Modificar um anúncio
Developer Conference
PUT /items/:id - Modificar um anúncio
{
"title": "Apple Iphone 5s 32gb Promoção",
"price": 1900,
}
JSON enviado:
Developer Conference
APPPUT
PUT /items/:id - Modificar um anúncio
Developer Conference
APPPUT
APP200 Ok
PUT /items/:id - Modificar um anúncio
Developer Conference
{ "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",
JSON de retorno:
PUT /items/:id - Modificar um anúncio
Developer Conference
Campos que podem ser modificados:
PUT /items/:id - Modificar um anúncio
- Título
- Quantidade disponível
- Preço
- Video
- Imagens
- Descrição
- Modo de Envio
Developer Conference
Campos que NÃO podem ser modificados após uma venda do produto:
PUT /items/:id - Modificar um anúncio
- Título
- Condição (novo/usado)
- Método de Envio
- Video
- Garantia
Developer Conference
Active Paused Closed
PUT /items - Status do anúncio
JSON:
{ "status": "active"}
Developer Conference
Active Paused Closed
Relist
POST /items/:id/relist - Republicar um anúncio
https://api.mercadolibre.com/items/MLB568033554/relist
Developer Conference
APPPOST
POST /items/:id/relist - Republicar um anúncio
Developer Conference
APPPOST
POST /items/:id/relist - Republicar um anúncio
{
"listing_type_id": "silver",
"quantity": 99,
"price": 1900
}
Developer Conference
APPPOST
APP201 Created
{ "id": "MLB123456789", "site_id": "MLB", "title": "Apple Iphone 5s 16gb 4g Desbloqueado Original Promoção", "price": 1900, "listing_type_id": "silver",
POST /items/:id/relist - Republicar um anúncio
Developer Conference
Perguntas
https://api.mercadolibre.com/questions
Developer Conference
POST /questions - Notificação
APPPOST
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"}
APPPOST
Developer Conference
POST /questions - Notificação
APPPOST
APP200 Ok
{ "user_id": "12345678", "resource": "/questions/123456789", "topic": "questions", "received": "2014-02-04T19:00:04+00:00", "sent": "2014-02-04T19:00:45+00:00"}
Developer Conference
https://api.mercadolibre.com/questions/123456789
GET /questions - Consultar uma pergunta
Developer Conference
GET /questions - Consultar uma pergunta
{
"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
}
}
JSON de retorno:
Developer Conference
POST /answer - Responder uma pergunta
https://api.mercadolibre.com/answer
Developer Conference
POST /answer - Responder uma pergunta
{
"question_id": "123456789",
"text": "Oferecemos garantia de 01 ano"
}
JSON enviado:
Developer Conference
APPPOST
POST /answer - Responder uma pergunta
Developer Conference
APPPOST
APP201 Created
POST /questions - Responder uma pergunta
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
APPPOST
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"}
APPPOST
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"}
APPPOST
APP200 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": "[email protected]", "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
{
"fulfilled": "true",
"rating": "positive",
"message": "Recomendo a todos do Mercadolivre!"
}
JSON enviado:
Developer Conference
APPPOST
POST /orders/:id/feedback - Qualificar o usuário
Developer Conference
APPPOST
APP201 Created
POST /orders/:id/feedback - Qualificar o usuário
Developer Conference
Buscas
Por Keyword:
https://api.mercadolibre.com/sites/MLB/search?q=PlayStation4
Método: GET
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
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
Método: GET
Developer Conference
Perguntas?
Developer Conference
OBRIGADO!