Apontador API
(para programadores Python)
chester@apontador.com
@chesterbr
http://www.apontador.com.br
Palestrante
● Bacharel em Matemática Aplicada e
Computacional (IME/USP)
● Desenvolvedor profissional há 2e1 anos
● Python: ...
O que vamos ver
● Apontador
(empresa, site, plataforma)
● Apontador API
● Python e a Apontador API
● A vida, o universo e ...
Apontador
“Aquele site de mapas
que virou pago”
“Aquele site de mapas
que virou pago”
Conectar locais, pessoas e
informações ao seu redor
Conectar locais, pessoas e
informações ao seu redor
(tá, e daí?)
daí que...
Plataforma
Nossa Visão
Web Services - Clientes e Parceiros
Plataforma
Presente(i.e., passado recente)
Plataforma
Futuro
(é, você aí mesmo!)
Apontador API
APIs
Application Programming Interface
APIs no Brasil
Fonte:
APIs no Brasil
Fonte:
Possibilidades
● Criar sites/aplicativos novos
usando informações de locais
● Integrar nos já existentes
● Mashups com out...
Regras do Jogo
● Dê linkback/crédito
● Abra a aplicação o ao público
● Mantenha o “fair play”
● Vários aplicativos difernt...
O que dá pra fazer?
● Busca local
● Informações, fotos, avaliações
● Segmentação (categorias)
● Informações do usuário
● C...
Busca Local
● Busca: o que
● Busca local: o que + onde
Busca Local
● Busca: o que
● Busca local: o que + onde
Busca Local
● Busca: o que
● Busca local: o que + onde
Busca Local na Apontador API
● search/places/byaddress
● search/places/byzipcode
● search/places/bypoint
● search/places/b...
Tecnologia Agnóstica
● REST (HTTP)
● Respostas JSON, XML e KML
● OAuth para ações em nome de
usuários Apontador
Python
Idéia Original
“Vamos fazer bibliotecas para todas
as linguagens populares, facilitando a
vida do desenvolvedor”
Errr...
● Quais linguagens são “populares”?
● Qual o estilo das bibliotecas?
● Quanto vamos demorar?
● E se os usuários nã...
Solução Adotada
● Começamos com Python e PHP
● Bibliotecas livres (Apache 2.0)
● Erramos? Analise, dê feedback,
mande seus...
http://github.com/apontador
/apontador-api-libs
Github
Hello World
1) Cadastre seu usuário no
http://api.apontador.com.br
2) Entre na edição
do perfil, e lá
em aplicativos
Hello World
3) Clique em Criar Aplicativo e
informe os dados solicitados
4) O cadastro vai gerar o Consumer
Key e o Consum...
apontador-api-libs/python
>>> from apontador import ApontadorAPI
>>> api = ApontadorAPI(
consumer_key = "...",
consumer_se...
UFPR?
UFPR!
Universidade Federal
Do Paraná
E veio certo?
<street>Rua XV de Novembro</street>
<number>1299</number>
Mas veio certo mesmo?
<lat>-25.42722</lat>
<lng>-49.26154</lng>
Postos na Região
>>> import json
>>> postos = json.loads(
api.search_places_by_point(
latitude=-25.42722,
longitude=-49.26...
E o posto é bom?
>>> posto_id = postos[0]['place']['id']
>>> reviews = json.loads(
api.get_place_reviews(
posto_id,
type="...
Inserindo Informações
Não é obrigatório, mas:
● É mais fácil ter tudo num lugar
● Aumenta o engajamento
● Faz a plataforma...
Inserindo Informações
OAuth
● Solicite um token inicial
● Troque ele pela URL de auth
● Redirecione o usuário para a
URL resultante
OAuth
OAuth
● Sua URL de callback é chamada,
recebendo o token e seu secret;
guarde-os com carinho
● Para apps desktop/mobile, u...
OAuth
>>> api = ApontadorAPI(
consumer_key = "...",
consumer_secret = "...",
oauth_token = "...",
oauth_token_secret = ".....
Aprenda Mais
● Veja os exemplos (na biblioteca)
● Documentação:
http://api.apontador.com.br
● Lista de discussão:
http://g...
A vida, o universo
e tudo mais
Futuro próximo
● Apontador Mobile (checkins)
● API JavaScript
● Informações setoriais (ex.: preço
da gasolina nos postos)
Meta de Longo Prazo
e missão pessoal
Trazer toda a Plataforma Apontador
para o lado open da força
Meta de Longo Prazo
e missão pessoal
Trazer toda a Plataforma Apontador
para o lado open da força
(ou conquistar 24 territ...
Conclusões
Pensem “open” onde vocês
trabalham: o que a empresa tem
que pode ir pro mundo, com
vantagem para ambos?
A API e...
Dúvidas?
Obrigado!
chester@apontador.com
@chesterbr
http://www.apontador.com.br
Apontador API (para programadores Python)
Apontador API (para programadores Python)
Apontador API (para programadores Python)
Apontador API (para programadores Python)
Upcoming SlideShare
Loading in …5
×

Apontador API (para programadores Python)

3,896 views

Published on

Palestra apresentada no PythonBrasil[6] (Out/2010), na qual a recém-lançada API do Apontador é apresentada para os desenvolvedores com foco particular no uso com Python (através da biblioteca própria de código livre).

Published in: Technology
1 Comment
8 Likes
Statistics
Notes
No Downloads
Views
Total views
3,896
On SlideShare
0
From Embeds
0
Number of Embeds
355
Actions
Shares
0
Downloads
23
Comments
1
Likes
8
Embeds 0
No embeds

No notes for slide

Apontador API (para programadores Python)

  1. 1. Apontador API (para programadores Python) chester@apontador.com @chesterbr http://www.apontador.com.br
  2. 2. Palestrante ● Bacharel em Matemática Aplicada e Computacional (IME/USP) ● Desenvolvedor profissional há 2e1 anos ● Python: cruzalinhas ● Arquiteto de Produtos no Apontador ● Twitter: @chesterbr ● Mais informações: http://chester.me
  3. 3. O que vamos ver ● Apontador (empresa, site, plataforma) ● Apontador API ● Python e a Apontador API ● A vida, o universo e tudo mais
  4. 4. Apontador
  5. 5. “Aquele site de mapas que virou pago”
  6. 6. “Aquele site de mapas que virou pago”
  7. 7. Conectar locais, pessoas e informações ao seu redor
  8. 8. Conectar locais, pessoas e informações ao seu redor (tá, e daí?)
  9. 9. daí que...
  10. 10. Plataforma Nossa Visão
  11. 11. Web Services - Clientes e Parceiros
  12. 12. Plataforma Presente(i.e., passado recente)
  13. 13. Plataforma Futuro
  14. 14. (é, você aí mesmo!)
  15. 15. Apontador API
  16. 16. APIs Application Programming Interface
  17. 17. APIs no Brasil Fonte:
  18. 18. APIs no Brasil Fonte:
  19. 19. Possibilidades ● Criar sites/aplicativos novos usando informações de locais ● Integrar nos já existentes ● Mashups com outros serviços ● Armazenar locais e informações
  20. 20. Regras do Jogo ● Dê linkback/crédito ● Abra a aplicação o ao público ● Mantenha o “fair play” ● Vários aplicativos diferntes é ok ● Uso comercial é ok! ● Uso acadêmico é muito ok!!!!
  21. 21. O que dá pra fazer? ● Busca local ● Informações, fotos, avaliações ● Segmentação (categorias) ● Informações do usuário ● Cadastrar coisas novas
  22. 22. Busca Local ● Busca: o que ● Busca local: o que + onde
  23. 23. Busca Local ● Busca: o que ● Busca local: o que + onde
  24. 24. Busca Local ● Busca: o que ● Busca local: o que + onde
  25. 25. Busca Local na Apontador API ● search/places/byaddress ● search/places/byzipcode ● search/places/bypoint ● search/places/bybox
  26. 26. Tecnologia Agnóstica ● REST (HTTP) ● Respostas JSON, XML e KML ● OAuth para ações em nome de usuários Apontador
  27. 27. Python
  28. 28. Idéia Original “Vamos fazer bibliotecas para todas as linguagens populares, facilitando a vida do desenvolvedor”
  29. 29. Errr... ● Quais linguagens são “populares”? ● Qual o estilo das bibliotecas? ● Quanto vamos demorar? ● E se os usuários não gostarem?
  30. 30. Solução Adotada ● Começamos com Python e PHP ● Bibliotecas livres (Apache 2.0) ● Erramos? Analise, dê feedback, mande seus patches!
  31. 31. http://github.com/apontador /apontador-api-libs Github
  32. 32. Hello World 1) Cadastre seu usuário no http://api.apontador.com.br 2) Entre na edição do perfil, e lá em aplicativos
  33. 33. Hello World 3) Clique em Criar Aplicativo e informe os dados solicitados 4) O cadastro vai gerar o Consumer Key e o Consumer Secret – eles são o “usuário e senha” do app 5) Agora é só brincar de Python :-)
  34. 34. apontador-api-libs/python >>> from apontador import ApontadorAPI >>> api = ApontadorAPI( consumer_key = "...", consumer_secret = "...") >>> api.search_places_by_address( state="PR", city="Curitiba", term="Universidade Federal do Parana", limit=1)
  35. 35. UFPR?
  36. 36. UFPR! Universidade Federal Do Paraná
  37. 37. E veio certo? <street>Rua XV de Novembro</street> <number>1299</number>
  38. 38. Mas veio certo mesmo? <lat>-25.42722</lat> <lng>-49.26154</lng>
  39. 39. Postos na Região >>> import json >>> postos = json.loads( api.search_places_by_point( latitude=-25.42722, longitude=-49.26154, category_id=65, type="json"))['search']['places'] >>> postos[0]['place']['name'] u'IRMAOS BERTOLDI LTDA' >>> postos[1]['place']['name'] u'A. S. J - COMERCIO DE COMBUSTIVEIS LTDA' >>> postos[2]['place']['name'] u'POSTO MONALISA CHEVRON R MARECHAL HERMES'
  40. 40. E o posto é bom? >>> posto_id = postos[0]['place']['id'] >>> reviews = json.loads( api.get_place_reviews( posto_id, type="json"))['place']['reviews'] >>> reviews[0]['review']['content'] u'Esse posto xe9 legal por causa da localizaxe7xe3o...perto da pista de sk8 do gaxfacho...e o prexe7o xe9 bacana tbm..mas o atendimento xe9 mto zoado...os frentistas Sao Mt mal educados e sem atencao...um dia que passei lxe1 tava rolando ate uma briga entre a atendente do caixa e os frentistas...Sxf3 recomendo se vc tiver paciencia!'
  41. 41. Inserindo Informações Não é obrigatório, mas: ● É mais fácil ter tudo num lugar ● Aumenta o engajamento ● Faz a plataforma crescer
  42. 42. Inserindo Informações
  43. 43. OAuth ● Solicite um token inicial ● Troque ele pela URL de auth ● Redirecione o usuário para a URL resultante
  44. 44. OAuth
  45. 45. OAuth ● Sua URL de callback é chamada, recebendo o token e seu secret; guarde-os com carinho ● Para apps desktop/mobile, use PIN Code (vide pincode.py)
  46. 46. OAuth >>> api = ApontadorAPI( consumer_key = "...", consumer_secret = "...", oauth_token = "...", oauth_token_secret = "...") >>> api.create_new_review( place_id=posto_id, rating=4, content="Eu gostei...") >>> api.vote_place_up(place_id=posto_id) >>> api.add_photo_to_place( place_id=posto_id, image_file="/tmp/foto.jpg")
  47. 47. Aprenda Mais ● Veja os exemplos (na biblioteca) ● Documentação: http://api.apontador.com.br ● Lista de discussão: http://groups.google.com/group/ apontador-api ● Use o Apontador!
  48. 48. A vida, o universo e tudo mais
  49. 49. Futuro próximo ● Apontador Mobile (checkins) ● API JavaScript ● Informações setoriais (ex.: preço da gasolina nos postos)
  50. 50. Meta de Longo Prazo e missão pessoal Trazer toda a Plataforma Apontador para o lado open da força
  51. 51. Meta de Longo Prazo e missão pessoal Trazer toda a Plataforma Apontador para o lado open da força (ou conquistar 24 territórios à nossa escolha)
  52. 52. Conclusões Pensem “open” onde vocês trabalham: o que a empresa tem que pode ir pro mundo, com vantagem para ambos? A API está no ar, agora é com vocês escrever os aplicativos!
  53. 53. Dúvidas? Obrigado! chester@apontador.com @chesterbr http://www.apontador.com.br

×