<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1500086133623123&amp;ev=PageView&amp;noscript=1">
logo de inboundcycle

Agencia de Inbound Marketing

Blog de Inbound Marketing

Técnicas y recursos para ayudarte a generar oportunidades comerciales y branding basados en las experiencias de todo un equipo de profesionales del marketing digital.


Nuevo Tutorial: ¡Aprende a usar la API de HubSpot con Python!

por Marina Mele  |  10/04/2014

HubSpot

¿Tienes una cuenta de HubSpot y te gustaría sacar información de tus contactos de forma automática? ¿Quieres monitorizar cuantos contactos han accedido a tu página web a través de cada canal de tráfico?

¡En este post te enseñamos cómo!

Vamos a ver cómo puedes acceder a la API de HubSpot usando Python, un lenguaje de programación muy potente y bastante fácil de aprender. ¿Cómo dices? ¿Que no has programado nunca? ¡Pues ahora es un buen momento para empezar! :-)

Python es un lenguaje tan intuitivo y fácil de usar que muchos cursos de programación empiezan enseñando cómo funciona este lenguaje. Si quieres, puedes empezar en CodeAcademy, una plataforma online y gratuita donde podrás aprender un montón de cosas relacionadas con la programación, incluyendo Python ¡y en español!

python logo         HubSpot logo

Requisitos antes de empezar

Primero de todo, vamos a instalar Python 2.7 en tu ordenador. 

  • Windows. Descárgate el instalador de Python desde la web oficial y ejecútalo. Por defecto, también se te instalará IDLE, un entorno de desarrollo integrado donde podrás crear y ejecutar tus programas de Python. 
  • Linux & Mac OS. Tienes suerte, Python ya está instalado por defecto :-)

Además, para acceder a la API de HubSpot, necesitamos una clave de acceso. Para conseguirla, tienes que ir al siguiente enlace y rellenar el formulario: Consigue tu API Key. Recibirás tu clave en tu email. 

¡Muy bien! ¡Ya podemos empezar a programar!

Cómo saber cuántos contactos tienes en HubSpot

Para saber cuántos contactos tienes guardados en HubSpot, vamos a hacer una llamada a su API. Básicamente, vamos a acceder a una URL en concreto, y HubSpot nos va a responder con un diccionario con la información que le hemos pedido. 

El código es el siguiente (te lo explicamos en detalle más abajo): 

Paso a paso:

  • Primero importamos las dos librerías que necesitamos: urllib2 y json. En principio, ambas vienen instaladas con Python. 
  • Modifica el valor de la APIKEY_VALUE y pon el valor de la clave que has obtenido en el apartado anterior. No olvides poner la clave entre comillas, como en el ejemplo. 
  • La variable ENDPOINT guarda el inicio de la url para acceder a la API de HubSpot.
  • get_total_number_of_contacts es una función que no toma ningún argumento y que cuando la llamamos, nos devuelve el número de contactos en HubSpot.
    • con la variable endpoint, definimos el trozo de la URL que le indica a HubSpot la información que queremos que nos devuelva. En este caso, queremos las estadísticas de los contactos. 
    • la URL a la que queremos hacer la llamada se construye con los trozos que hemos definido, dando como resultado algo parecido a: https://api.hubapi.com/contacts/v1/contacts/statistics?hapikey=example-api-key-value-0000
    • con la librería urllib2 accedemos a la URL y leemos la respuesta que nos devuelve HubSpot.
    • la respuesta viene en formato JSON, un formato que Python no entiende. Por eso, transformamos la respuesta a un diccionario Python con la librería json. 
    • la variable statistics contiene un diccionario con información sobre los contactos. En concreto, la key "contacts" contiene el número de contactos que tenemos guardados en HubSpot, y por lo tanto, la función retorna este valor. 
  • Finalmente, la última línea es la encargada de llamar la función para que se ejecute y imprima el valor en pantalla. 

 Con este código, cuando lo ejecutes vas a ver en pantalla el número total de contactos que tienes en HubSpot :-)

Cuantos contactos hay en una Lista de HubSpot

Ahora vamos a ser un poco más precisos y vamos a obtener cuántos contactos hay en una lista de HubSpot. Estas listas las puedes crear tú como quieras, escogiendo a los contactos según la fuente de tráfico de la que proceden, la fecha de conversión o el estado en el que se encuentren (MQL, SQL, etc).  

Una vez tengas la lista de HubSpot que quieras evaluar, tienes que buscar el número que usa HubSpot para identificarla. Encontrarlo es muy fácil, sólo tienes que ir a HubSpot --> Contacts --> Lists y visualizar tu lista desde allí. Verás que la URL de la página en la que te encuentras es parecida a:

https://app.hubspot.com/contacts/000000/lists/000/

dónde los primeros números, aquí 00000, corresponden al identificador de HubSpot de tu portal o HubID, y los segundos, aquí 000, corresponden al identificador de tu lista. 

Muy bien, ahora que ya tenemos el identificador de tu lista, volvamos a nuestro código Python. 

Y paso a paso:

  • la variable LIST_ID guarda el número de identificación de tu lista
  • la función get_number_of_contacts_in_list tiene como argumento el ID de la lista y devuelve el número de contactos que hay en esa lista.
    • la variable endpoint que indica el método al que tenemos que hacer la llamada ahora es diferente, y contiene el número de identificación de la lista.
    • nos construimos la URL con los trozos que hemos definido, y nos queda algo parecido a https://api.hubapi.com/contacts/v1/lists/000?hapikey=example-api-key-value-0000
    • abrimos la url, la leemos y transformamos la respuesta a un diccionario Python. Guardamos este diccionario en la variable list_info
    • list_info contiene otro diccionario dentro de la key "metaData", y dentro de este nuevo diccionario está guardado el número de contactos bajo la key "size". Este valor es el que retornamos. 
  • Como en el ejemplo anterior, esta línea es la encargada de llamar la función con nuestra LIST_ID y mostrar el resultado en la pantalla. 

Ahora, puedes ejecutar este código y verás en pantalla cuántos contactos hay en tu lista! :-)

Además, ¡esto es solo el principio de la automatización! Ahora puedes hacer otro programa que ejecute estos scripts periódicamente, cada día por ejemplo, y hacer gráficos de evolución de tus contactos! ;-)

Si quieres más métodos para obtener información a través de la API de HubSpot, puedes consultar la documentación oficial

Y si te gusta la programación, y en especial Python, échale un vistazo a mi blog: Python, Science and Marketing

By Marina Mele

 

como crear campaña de inbound marketing integral

HubSpot

¿Y tú qué opinas? ¡Déjanos aquí tus comentarios!