En la entrega anterior del Manual del API de bit.ly que estamos publicando en DesarrolloWeb.com, ya explicamos las generalidades sobre el funcionamiento del servicio web bit.ly para acortar direcciones, por lo que convendría su lectura previa. Así que podemos pasar sin más preámbulos a presentar un listado de los comandos que podríamos invocar. Para cada uno de los comandos veremos una pequeña descripción, una URL de ejemplo para invocar ese comando y la respuesta que obtenemos del API en formato JSON, que es el formato de respuesta por defecto.
Ejemplo de consulta:
http://api.bit.ly/shorten?version=2.0.1&longUrl=http://desarrolloweb.com&login=tuusuario&apiKey=R_000000000000000
Respuesta para la anterior consulta:
{
"errorCode": 0,
"errorMessage": "",
"results": {
"http://desarrolloweb.com": {
"hash": "tTVQF",
"shortCNAMEUrl": "http://bit.ly/c1SivH",
"shortKeywordUrl": "",
"shortUrl": "http://bit.ly/c1SivH",
"userHash": "c1SivH"
}
},
"statusCode": "OK"
}
Ejemplo de invocación:
http://api.bit.ly/expand?version=2.0.1&shortUrl=http://bit.ly/c1SivH&login=tuusuario&apiKey=R_000000000000000
Resultado obtenido para esta consulta:
{
"errorCode": 0,
"errorMessage": "",
"results": {
"c1SivH": {
"longUrl": "http://desarrolloweb.com/"
}
},
"statusCode": "OK"
}
Ejemplo de invocación: (en el que esta vez enviamos un Hash)
http://api.bit.ly/info?version=2.0.1&hash=tTVQF&login=tuusuario&apiKey=R_000000000000000
La consulta devuelve el siguiente código JSON:
{
"errorCode": 0,
"errorMessage": "",
"results": {
"tTVQF": {
"calais": {},
"calaisId": "",
"calaisResolutions": {},
"contentLegth": 77862,
"contentLength": "",
"contentType": "text/html",
"exif": {},
"fileExtension": "",
"globalHash": "tTVQF",
"hash": "tTVQF",
"htmlMetaDescription": "Todo lo que pueden necesitar los programadores y diseu00f1adores web para aprender o profundizar en el desarrollo de webs...",
"htmlMetaKeywords": [ "recursos para pu00e1ginas web", "manuales de html css", "promociu00f3n de pu00e1ginas web", ... ],
"htmlTitle": "Desarrollo Web, Tu mejor ayuda para aprender a hacer webs.",
"id3": {},
"indexed": 1253659877,
"keyword": "",
"keywords": [],
"longUrl": "http://desarrolloweb.com/",
"metacarta": [],
"mirrorUrl": "",
"robotsAllowed": true,
"shortenedByUser": "bitly",
"surbl": 0,
"thumbnail": {},
"urlFetched": "http://desarrolloweb.com/",
"userHash": "",
"users": [],
"version": 1.0
}
},
"statusCode": "OK" }
Ejemplo de URL para hacer una consulta sobre datos estadísticos de una URL corta.
http://api.bit.ly/stats?version=2.0.1&shortUrl=bit.ly/dmsnKV&login=tuusuario&apiKey=R_000000000000000
{
"errorCode": 0,
"errorMessage": "",
"results": {
"clicks": 315,
"hash": "dmsnKV",
"referrers": {
"": { "direct": 174 },
"hootsuite.com": { "/dashboard": 3 },
"iconfactory.com": { "/twitterrific": 2 },
"partners.bit.ly": { "/td": 44 },
"search.twitter.com": { "/search": 2 },
"seesmic.com": { "/web/index.html": 4 },
"twitoaster.com": { "/": 2 },
"twitter.com": { "/": 63,
"/ChicadeSeda/tesorodelsaber": 1,
"/Kika381": 1,
"/tuusuario": 3,
"/elgusar": 1,
"/favorites": 1,
"/home": 2,
"/jordisalvia": 1,
"/profesor4": 7,
"/profesor4/favorites": 1
},
"www.twitscoop.com": { "/": 1 },
"www.twittergadget.com": { "/gadget.asp": 1 },
"www.yoono.com": { "": 1 }
}
}, "statusCode": "OK"
}
Consulta para ver los errores:
http://api.bit.ly/errors?version=2.0.1&login=tuusuario&apiKey=R_000000000000000
El resultado de los errores es demasiado largo para publicarlo aquí, pero podríamos verlo simplemente si accedemos a la URL anterior con nuestros datos de acceso al API.
Este artículo informativo sobre las capacidades del API de bit.ly acaba por aquí, dado que ya hemos enumerado y explicado todas las posibilidades que existen en la versión actual, en el momento de escribir este texto, que es la 2.0.1.
En el próximo artículo vamos a mostrar ya cómo utilizar el API para consumir información del mismo desde páginas PHP, un paso que seguramente querrás conocer si estás leyendo estas líneas.