Em 2009 foi criada a primeira versão da SAPO Developer Network, um desdobrável com alguns dos serviços do SAPO.
Recentemente repetimos o esforço e lançamos uma nova versão:
Para além da reorganização da rede foi também realizado um trabalho na área dos desdobráveis; a versão deste ano abre mais facilmente bastando apenas puxar duas pontas do folheto.
A SAPO Developer Network v2.0 foi distribuída no Codebits 2010, mas a versão em pdf já se encontra online aqui.
Recentemente criámos a SAPO Developer Network, um desdobrável (890mm x 585mm) com alguns dos serviços do SAPO para melhor os dar a conhecer ao público do Codebits.
Para quem não esteve no Codebits, a versão em pdf já se encontra online (3M).
Segue-se agora um trabalho de análise para decidir quais os serviços a incluir (faltam muitos) e quais os que poderão ter que ser removidos por uma questão de espaço. A próxima versão deverá surgir num futuro próximo.
Existem já bindings para o PunyURL em Perl e em PHP.
Em Perl, a distribuição WWW::Shorten::PunyURL permite criar links comprimidos de uma forma simples e rápida:
use WWW::Shorten::PunyURL;
my $punyurl = WWW::Shorten::PunyURL->new( url => $long_url );
my $short_url = $punyurl->shorten;
É também possível, a partir de um url comprimido, aceder à sua versão original:
my $punyurl = WWW::Shorten::PunyURL->new( url => $short_url );
my $long_url = $punyurl->long;
my $long_url = $punyurl->long;
Em PHP, a classe PunyURL oferece-nos o comportamento homónimo:
<?php
require_once("punyurl.class.php");
$shorten=PunyURL::short("http://sapo.pt");
$original=PunyURL::long("http://b.qz.sl.pt");
echo 'Puny URL: '.$shorten['puny']."<br>";
echo 'ASCii URL: '.$shorten['ascii']."<br>";
echo 'Preview URL: '.$shorten['preview']."<br><br>";
echo 'Original URL: '.$original['url'];
?>O SAPO lançou ontem a nova versão do SAPO Mapas.
Esta nova versão, para além de ter um completo redesign, possui ainda novas funcionalidades como visitas virtuais, fotografias panorâmicas de 360º, relevo e curvas de nível.
Os pontos de interesse também foram melhorados, quer em qualidade quer em quantidade. É agora possível ver, sobre o mapa, informação como o trânsito (em tempo real), as condições climatéricas, farmácias, centros comerciais, cinemas, jardins, monumentos, praças de táxi, bombas de gasolina, etc.
A nova plataforma vem também com uma nova API, com documentação em português e inglês.
Eis uma forma simples e rápida de incluir um mapa numa página:
<div id='mapDiv'></div>
<script type="text/javascript" src="http://js.sapo.pt/Snippets/Maps.js?lat=40.30&lon=-9.09&zoom=5&height=400&width=980&divid=mapDiv">
</script>
Mais exemplos na documentação do serviço e mais informação sobre a plataforma no blog do SAPO Mapas.
O SAPO Saber possui um interface Open Search em http://services.sapo.pt/Metadata/Service/K
Acedendo, por exemplo, a http://services.sapo.pt/Knowledge/OpenSe
[
"tempo",
[
"Tempo",
"Tempo-espaço",
"Tempo-luz",
"Tempo-quente",
"Tempo (Marvel Comics)",
"Tempo (clarificação)",
"Tempo (clima)",
...
]
]
Podemos também requisitar mais informação sobre uma página específica.
A título de exemplo, http://services.sapo.pt/Knowledge/Query?p
<api>
<query>
<pages>
<page pageid="1058864" ns="0" title="Tempo (clarificação)" touched="2008-08-22T09:01:45Z" lastrevid="8103500"/>
</pages>
</query>
</api>
Para aceder ao conteúdo de uma página, basta-nos aceder a algo como http://services.sapo.pt/Knowledge/Query?a
{
"query": {
"normalized": [{
"from": "espaço-tempo",
"to": "Espaço-tempo"
}],
"pages": {
"10803": {
"pageid": 10803,
"ns": 0,
"title": "Espaço-tempo",
"revisions": {
"7583830": {
"revid": 7583830,
"pageid": 10803,
"oldid": 7583742,
"user": "Admin",
"timestamp": "2008-08-20T16:35:20Z",
"comment": "Actualização a partir de pt.wikipedia.org",
"*": "Em [[física]], '''espaço-tempo''' é o [[sistema de coordenadas]] utilizado como base para o estudo da [[relatividade especial]] e [[relatividade geral]].\nO [[tempo]] e o [[espaço]] [[dimensão_(matemática)|tridimensional]] são concebidos, em conjunto, como uma ..."
}
}
}
}
}
}
A descrição completa do serviço encontra-se disponível em http://services.sapo.pt/Metadata/Service/K
Update: este serviço deixou de estar disponível.
Em http://services.sapo.pt/Metadata/Service/T
Acedendo a http://services.sapo.pt/Traffic/GeoRSS podemos subscrever uma feed RSS com informação relevante e actual sobre o estado do trânsito em várias zonas do país:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:iptrss="http://www.infoportugal.pt/iptrss"> <channel> <title>Informações de Trânsito</title> <link>http://www.infoportugal.pt</link> <description>Trânsito</description> <item> <title>A3 (Águas Santas - Circunvalação)</title> <category>2</category> <link>http://www.infoportugal.pt</link> <guid isPermaLink="false">10212-2</guid> <pubDate>Tue, 02 Jun 2009 09:36:00 +0100</pubDate> <description>Trânsito lento na A3 no sentido Valença - Porto entre o nó de Águas Santas e o nó da Circunvalação.</description> <iptrss:location localidade="Pedrouços" concelho="Maia" distrito="Porto"> </iptrss:location> <iptrss:endDate>Tue, 02 Jun 2009 10:36:00 +0100</iptrss:endDate> <iptrss:segmentId>213060004822</iptrss:segmentId> <georss:point>41.19173813 -8.59277439</georss:point> </item> ... </channel> </rss>
Um exemplo de utilização deste serviço é a Web App para iPhone Trânsito, que entre outras funcionalidades disponibiliza esta mesma informação:
A descrição do serviço encontra-se em http://services.sapo.pt/Metadata/Service/T
Update: este serviço deixou de estar disponível.
Update: este serviço deixou de estar disponível.
Uma área forte no SAPO é a área de GIS.
Em http://services.sapo.pt/Metadata/Service/G
Podemos, por exemplo, começar por aceder a uma lista de distritos ordenados por id, em http://services.sapo.pt/GIS/GetDistricts
<GetDistrictsSortedByIdResponse> <GetDistrictsSortedByIdResult> <District> <DistrictId>01</DistrictId> <DistrictName>Aveiro</DistrictName> <Latitude>40.64392</Latitude> <Longitude>-8.6422205</Longitude> <Municipalities/> </District> <District> <DistrictId>02</DistrictId> <DistrictName>Beja</DistrictName> <Latitude>38.0149956</Latitude> <Longitude>-7.86307573</Longitude> <Municipalities/> </District> ... </GetDistrictsSortedByIdResult> </GetDistrictsSortedByIdResponse>
Tendo o id do distrito desejado, podemos então aceder a mais informação sobre o mesmo, em http://services.sapo.pt/GIS/GetMunicipal
Podemos agora aceder, entre outra informação, a uma lista de POIs (Point Of Interest) do distrito em questão: http://services.sapo.pt/GIS/GetPOIByDist
Como exemplo de uma funcionalidade diferente, a recolha de informação através de um código postal: http://services.sapo.pt/GIS/GetLocationB
<GetLocationByZipCodeResponse> <GetLocationByZipCodeResult> <CountryId>PT</CountryId> <CountryName>Portugal</CountryName> <DistrictId>11</DistrictId> <DistrictName>Lisboa</DistrictName> <MunicipalityId>1106</MunicipalityId> <MunicipalityName>Lisboa</MunicipalityName> <ParishId>110644</ParishId> <ParishName>São Jorge de Arroios</ParishName> <Latitude>38.73112</Latitude> <Longitude>-9.137293</Longitude> <Metadata/> </GetLocationByZipCodeResult> </GetLocationByZipCodeResponse>
O serviço é bastante completo e possui imensa informação.
A descrição completa do serviço encontra-se disponível em http://services.sapo.pt/Metadata/Service/G
Update: este serviço deixou de estar disponível.
A plataforma de Vídeos do SAPO disponibiliza um Web Service em http://services.sapo.pt/Metadata/Service/V
Este serviço suporta operações como criação de novos utilizadores (CreateUser), gestão de vídeos, realizando operações como a adição (AddVideo) ou remoção (DeleteVideo) de conteúdo, navegação, etc.
Existem ainda operações relacionadas com categorias, playlists e outras funcionalidades.
A descrição completa do serviço encontra-se em http://services.sapo.pt/Metadata/Service/V
O serviço de blogs do SAPO encontra-se disponível em http://blogs.sapo.pt/.
A plataforma possui já mais de 250,000 blogs e alguns milhões de posts.
Como não podia deixar de ser, na plataforma de serviços do SAPO disponibilizamos um interface em Open Search para uma mais eficaz interacção com estes blogs.
Entre as várias operações que podemos realizar encontram-se, por exemplo:
É também possível fazer gestão de posts e comentários através deste interface.
A descrição completa do serviço encontra-se em http://services.sapo.pt/Metadata/Service/B
Para uma mais simples integração com os vários Web Services do SAPO, um dos serviços que disponibilizamos é o CodeGeneration.
Acedendo à página de um serviço SAPO com um contrato WSDL, encontramos à direita da página uma caixa com links para a geração de código em várias linguagens.
Tal permite acelerar uma integração com qualquer um destes serviços.
As linguagens suportadas são, actualmente, C#, Visual Basic, Java, PHP, Perl, Python, Ruby e JavaScript.
A título de exemplo, eis a geração de código PHP para o Web Service Holiday.
O serviço encontra-se disponível em http://services.sapo.pt/Metadata/Service/C