Sala 2 01 api conceitos gerais - danilo santos

Post on 06-Jul-2015

240 views 4 download

Tags:

description

3º Developers Conference MercadoLibre Brasil

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

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": "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

{

"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!