NAV
cURL Python Javascript

Introducción

Bienvenido a nuestra documentación de API Megatime! Puedes usar nuestra API REST para acceder a endpoints de varios servicios, los cuales interactúan en forma directa con información de nuestra base de datos.

Tenemos ejemplos para cURL, Python y JavaScript. Puedes ver el código a la derecha (área oscura), y puedes cambiar entre los distintos lenguajes de programación usando los tabs de la zona superior derecha.

DataSuite

DataSuite es la API de Megatime para consultar pauta publicitaria, avisos, filtros y datos relacionados.

Migración desde V1

El endpoint de pauta cambió: ahora se consulta un medio y una fecha por llamada (antes aceptaba lista de medios y rango de fechas) y usa el prefijo /v2/.

Antes:

GET /spots?media=1,2,3&start_date=10-03-2021&end_date=10-03-2021

Ahora:

GET /v2/spots?media=1&date=10-03-2021

Para obtener varios medios o un rango de fechas, realiza una llamada por cada combinación de medio y fecha. El registro de cargas se consulta en /v2/spots/loads (acepta lista de medios + fecha).

Obtener API Key DataSuite

import requests
import json

url = "cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())


curl --location --request POST 'cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Retorna key que permite el acceso a la API.

Llamada HTTP

POST cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociado a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Pauta

import requests

url = "datasuite.megatime.cl/v2/spots?media=1&date=10-03-2021&brands=1,2,3,4,5&companies=1,2,3,4,5&industries=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&categories=1,2,3,4,5&qualities=1,2,3,4,5&creative_agencies=1,2,3,4,5&media_agencies=1,2,3,4,5&supports=1,2,3,4,5&group=1"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/v2/spots?media=1&date=10-03-2021&brands=1,2,3,4,5&companies=1,2,3,4,5&industries=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&categories=1,2,3,4,5&qualities=1,2,3,4,5&creative_agencies=1,2,3,4,5&media_agencies=1,2,3,4,5&supports=1,2,3,4,5&group=1' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/v2/spots?media=1&date=10-03-2021&brands=1,2,3,4,5&companies=1,2,3,4,5&industries=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&categories=1,2,3,4,5&qualities=1,2,3,4,5&creative_agencies=1,2,3,4,5&media_agencies=1,2,3,4,5&supports=1,2,3,4,5&group=1",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "media_id": 1,
      "media": "TV Abierta",
      "date": "02-02-2022",
      "hour": 15,
      "minute": 31,
      "second": 35,
      "weekday": "Jueves",
      "daypart": "Tarde",
      "program_id": 83052,
      "program_name": "MEA CULPA CLASICOS",
      "schedule_id": 1001,
      "schedule_name": "Tarde",
      "ad_first_appearance": "10-01-2022",
      "support_id": 1007,
      "support": "TVN",
      "advertisement_id": 597715,
      "advertisement": "LIDER,SUPERMERCADO,MUJER,COMPRANDO,PARRILLEANDO",
      "product_id": 98833,
      "product": "LIDER,SUPERMERCADO",
      "brand_id": 14000,
      "brand": "LIDER",
      "company_id": 47484,
      "company": "WALMART CHILE",
      "sub_industry_id": 5973,
      "sub_industry": "SUPERMERCADO",
      "industry_id": 222,
      "industry": "SUPER E HIPERMERCADOS",
      "category_id": 21,
      "category": "COMERCIO DETALLISTA",
      "quality_id": 11,
      "quality": "VIDEO COLOR",
      "duration": 21,
      "ad_duration": 21,
      "value": 2867059,
      "public_value": 1879488,
      "universal_id": 0,
      "universal_program_id": 83052,
      "ad_supplier": "",
      "ad_group_location": 7,
      "ad_group_spot_location": 14,
      "ad_group_quantity": 16,
      "failure": "s/f",
      "is_sponsor": false,
      "program": "MEA CULPA CLASICOS",
      "event": "Apoyo",
      "event_id": "A",
      "press_centimeter": 0,
      "press_column": 0,
      "press_page": 0,
      "press_size": 0,
      "press_module": "",
      "press_supplement_id": 0,
      "press_supplement": "",
      "press_section_id": 0,
      "press_section": "",
      "vp_location_id": 0,
      "vp_element_id": 0,
      "commune_id": 0,
      "commune": "",
      "ooh_element": "DESCONOCIDO",
      "ooh_station": "",
      "ooh_location": "",
      "metro_location_id": 0,
      "metro_element_id": 0,
      "station_id": 0,
      "internet_banner_id": 0,
      "internet_impressions": 0,
      "internet_campaign": "",
      "campaign_id": 0,
      "internet_device": "",
      "internet_impact": "0",
      "media_agency_id": 454,
      "media_agency": "OMG",
      "creative_agency_id": 1,
      "creative_agency": "BBDO",
      "uuid": "0x6c5de827c6dc28e1e5056e8d5e7f79d9",
      "public_value_usd": 2349.36
    }
  ]
}

Retorna una lista de avisajes para una fecha y medio específico.

Llamada HTTP

GET datasuite.megatime.cl/v2/spots

Parámetros URL

Nombre Tipo Descripción Requerido
include Integer (Por defecto: 0) 0 incluir Avisos y PNTs, 1 solo Avisos, 2 solo PNTs, 3 Todos los eventos No
media Integer ID de Medio Si
date String Fecha de formato dd-mm-yyyy Si
brands Array Lista de ID de Marcas No
companies Array Lista de ID de Empresas No
industries Array Lista de ID de Rubros No
sub_industries Array Lista de ID de Sub-Rubros No
products Array Lista de ID de Productos No
categories Array Lista de ID de Categorias No
qualities Array Lista de ID de Calidades No
creative_agencies Array Lista de ID de Agencias Creativas No
media_agencies Array Lista de ID de Agencias de Medios No
supports Array Lista de ID de Soportes No
group Integer ID Grupo No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Spot

Nuevos Atributos Spot

Atributos adicionales del spot:

Nombre Tipo Descripción
program_id Integer ID del programa (TV/Cable/Radio)
program_name String Nombre del programa (TV/Cable)
schedule_id Integer ID del horario (TV/Cable)
schedule_name String Nombre del horario/franja (TV/Cable)
event_id String ID del evento (A=Aviso, U=Auspicio)
vp_location_id Integer ID ubicación vía pública
vp_element_id Integer ID elemento vía pública
commune_id Integer ID comuna (vía pública)
commune String Nombre comuna (vía pública)
metro_location_id Integer ID ubicación metro
metro_element_id Integer ID elemento metro
station_id Integer ID estación (metro)
internet_banner_id Integer ID banner (internet)
campaign_id Integer ID campaña (internet)
public_value_usd Decimal Valor público expresado en dólares. Siempre es el último campo de cada spot

Obtener Programación

import requests

url = "datasuite.megatime.cl/v2/programming?media=1&date=19-08-2026"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/v2/programming?media=1&date=19-08-2026' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/v2/programming?media=1&date=19-08-2026",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "media": "TV Abierta",
      "support_id": 1,
      "channel": "CANAL 13",
      "date": "19-08-2026",
      "start": "07:00:00",
      "start_datetime": "2026-08-19 07:00:00",
      "end": "09:30:00",
      "end_datetime": "2026-08-19 09:30:00",
      "program_id": 4521,
      "program": "BIENVENIDOS"
    },
    {
      "media": "TV Abierta",
      "support_id": 1,
      "channel": "CANAL 13",
      "date": "19-08-2026",
      "start": "25:15:00",
      "start_datetime": "2026-08-20 01:15:00",
      "end": null,
      "end_datetime": null,
      "program_id": 4677,
      "program": "TRASNOCHE"
    }
  ]
}

Retorna la grilla de programación de un día para un medio determinado. Devuelve solo programas: no incluye avisos ni PNTs.

Llamada HTTP

GET datasuite.megatime.cl/v2/programming

Parámetros URL

Nombre Tipo Descripción Requerido
media Integer ID de Medio. Valores admitidos: 1, 6 y 7 Si
date String Fecha de formato dd-mm-yyyy. No puede ser futura Si

Los medios con programación son 1 (TV Abierta), 6 (TV Paga) y 7 (Radio). Cualquier otro valor devuelve error.

Códigos de error

Código Motivo
400 Parámetros faltantes o inválidos
403 El cliente no tiene contratado el medio solicitado

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Programa

Atributos Programa

Nombre Tipo Descripción
media String Nombre del medio
support_id Integer ID del soporte: canal o emisora
channel String Nombre del soporte
date String Día en formato dd-mm-yyyy
start String Hora de inicio en notación de día publicitario (HH:MM:SS)
start_datetime String Instante real de inicio (YYYY-MM-DD HH:MM:SS)
end String Hora de término en notación de día publicitario, o null
end_datetime String Instante real de término, o null
program_id Integer ID del programa
program String Nombre del programa

Obtener Avisos con actividad

import requests

url = "datasuite.megatime.cl/advertisement?media=1,2,3,4,5,6,7,8&start_date=01-10-2021&end_date=31-10-2021&industries=1,2,3,4,5&brands=1,2,3,4,5&companies=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&group=1"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/advertisement?media=1,2,3,4,5,6,7,8&start_date=01-10-2021&end_date=31-10-2021&industries=1,2,3,4,5&brands=1,2,3,4,5&companies=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&group=1' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/advertisement?media=1,2,3,4,5,6,7,8&start_date=01-10-2021&end_date=31-10-2021&industries=1,2,3,4,5&brands=1,2,3,4,5&companies=1,2,3,4,5&sub_industries=1,2,3,4,5&products=1,2,3,4,5&group=1",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "media_id": 2,
      "media": "Prensa",
      "id": 1868567,
      "description": "ED,BAZAR ED,CYBERMONDAY,YA COMENZO,DEL 04 AL 06 DE OCTUBRE,(ED)",
      "first_appearance": "2021-10-04",
      "industry": "FERIAS Y EXPOSICIONES",
      "industry_id": 202,
      "sub_industry": "FERIA COMERCIAL",
      "sub_industry_id": 1483,
      "company": "MILANO EDITORES",
      "company_id": 2712,
      "brand": "ED",
      "brand_id": 7426,
      "product": "ED,BAZAR ED,CYBERMONDAY",
      "product_id": 321910,
      "spot_uuid": "0xebf0e4909cc81815f05c114998db7f28"
    }
  ]
}

Retorna una lista con todos los Avisos con actividad

Llamada HTTP

GET datasuite.megatime.cl/advertisement

Parámetros URL

Nombre Tipo Descripción Requerido
media Array Lista de ID de Medios Si
start_date String Fecha de formato dd-mm-yyyy Si
end_date String Fecha de formato dd-mm-yyyy Si
brands Array Lista de ID de Marcas No
companies Array Lista de ID de Empresas No
industries Array Lista de ID de Rubros No
sub_industries Array Lista de ID de Sub-Rubros No
products Array Lista de ID de Productos No
group Integer ID Grupo No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Aviso

Atributos Aviso

Nombre Tipo Descripción
ID Integer Identificador de Aviso
media String Nombre del Medio donde fue encontrado
media_id Integer ID Medio
description String Descripción Aviso
first_appearance String Fecha de primera aparición
industry String Nombre del Rubro asignado al aviso
industry_id Integer ID Rubro
sub_industry String Nombre SubRubro
sub_industry_id Integer ID SubRubro
company String Nombre de la Empresa asignada al aviso
company_id Integer ID Empresa
brand String Marca asociada al producto
brand_id Integer ID Marca
product String Nombre del Producto asignado al aviso
product_id Integer ID Producto
sub_industry_id Integer ID Sub-Rubro
sub_industry String Nombre del Sub-Rubro asignado al Rubro
spot_uuid String Identificador único del Avisaje

Obtener Medios

import requests

url = "datasuite.megatime.cl/filters/media"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'datasuite.megatime.cl/filters/media' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/media",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "TV Abierta"
    }
  ]
}

Retorna una lista con todos los Medios.

Llamada HTTP

GET datasuite.megatime.cl/filters/media

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Medio

Atributos Medio

Nombre Tipo Descripción
ID Integer ID
name String Nombre

Obtener Marcas

import requests

url = "datasuite.megatime.cl/filters/brands?start_date=02-04-2022&end_date=08-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&companies=1,2,3&categories=1,2,3"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/brands?start_date=02-04-2022&end_date=08-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&companies=1,2,3&categories=1,2,3' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/brands?start_date=02-04-2022&end_date=08-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&companies=1,2,3&categories=1,2,3",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "TARGET,SOFTWARE"
    }
  ]
}

Retorna una lista con todas las marcas

Llamada HTTP

GET datasuite.megatime.cl/filters/brands

Parámetros URL

Nombre Tipo Descripción
start_date String Fecha de formato dd-mm-yyyy
end_date String Fecha de formato dd-mm-yyyy
industries Array Lista de ID de Rubros
media Array Lista de ID de Medios
sub_industries Array Lista de ID de Sub-Rubros
companies Array Lista de ID de Empresas
categories Array Lista de ID de Categorias

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Marca

Atributos Marca

Nombre Tipo Descripción
ID Integer ID
name String Nombre

Obtener Empresas

import requests

url = "datasuite.megatime.cl/filters/companies?start_date=01-03-2022&end_date=07-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&categories=1,2,3"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/companies?start_date=01-03-2022&end_date=07-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&categories=1,2,3' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/companies?start_date=01-03-2022&end_date=07-06-2022&media=1,2,3&industries=1,2,3&sub_industries=1,2,3&categories=1,2,3",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 28911,
      "name": "SALMONES MULTIEXPORT LTDA"
    }
  ]
}

Retorna una lista con todas las Empresas

Llamada HTTP

GET datasuite.megatime.cl/filters/companies

Parámetros URL

Nombre Tipo Descripción
start_date String Fecha de formato dd-mm-yyyy
end_date String Fecha de formato dd-mm-yyyy
industries Array Lista de ID de Rubros
media Array Lista de ID de Medios
sub_industries Array Lista de ID de Sub-Rubros
categories Array Lista de ID de Categorias

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Empresa

Atributos Empresa

Nombre Tipo Descripción
ID Integer ID
name String Nombre

Obtener Rubros

import requests

url = "datasuite.megatime.cl/filters/industries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/industries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/industries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "PRODUCTOS PARA LA AGRICULTURA"
    }
  ]
}

Retorna una lista con todos los Rubros

Llamada HTTP

GET datasuite.megatime.cl/filters/industries

Parámetros URL

Nombre Tipo Descripción
start_date String Fecha de formato dd-mm-yyyy
end_date String Fecha de formato dd-mm-yyyy
media Array Lista de ID de Medios
categories Array Lista de ID de Categorias

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Rubro

Atributos Rubro

Nombre Tipo Descripción
ID Integer ID
name String Nombre

Obtener Sub-Rubros

import requests

url = "datasuite.megatime.cl/filters/subindustries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3&companies=1,2,3"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/subindustries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3&companies=1,2,3' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/subindustries?start_date=01-04-2022&end_date=07-06-2022&categories=1,2,3&media=1,2,3&companies=1,2,3",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "AVENA",
      "industry_id": 17
    }
  ]
}

Retorna una lista con todos los Sub-Rubros

Llamada HTTP

GET datasuite.megatime.cl/filters/subindustries

Parámetros URL

Nombre Tipo Descripción
start_date String Fecha de formato dd-mm-yyyy
end_date String Fecha de formato dd-mm-yyyy
media Array Lista de ID de Medios
categories Array Lista de ID de Categorias
companies Arrat Lista de ID de Empresas

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Sub-Rubro

Atributos Sub-Rubro

Nombre Tipo Descripción
ID Integer ID
name String Nombre
industry_id String ID Rubro asociado

Obtener Productos

import requests

url = "datasuite.megatime.cl/filters/products?brands=1,2,3&media=1,2,3&start_date=01-01-2021&end_date=12-07-2022&companies=1,2,3&sub_industries=1,2,3&categories=1,2,3&industries=1,2,3"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/products?brands=1,2,3&media=1,2,3&start_date=01-01-2021&end_date=12-07-2022&companies=1,2,3&sub_industries=1,2,3&categories=1,2,3&industries=1,2,3' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/products?brands=1,2,3&media=1,2,3&start_date=01-01-2021&end_date=12-07-2022&companies=1,2,3&sub_industries=1,2,3&categories=1,2,3&industries=1,2,3",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "DEYCO,CONSERVAS",
      "company_id": 70,
      "brand_id": 6748,
      "sub_industry_id": 10130
    }
  ]
}

Retorna una lista con todos los Productos

Llamada HTTP

GET datasuite.megatime.cl/filters/products

Parámetros URL

Nombre Tipo Descripción
start_date String Fecha de formato dd-mm-yyyy
end_date String Fecha de formato dd-mm-yyyy
industries Array Lista de ID de Rubros
media Array Lista de ID de Medios
sub_industries Array Lista de ID de Sub-Rubros
categories Array Lista de ID de Categorias
companies Array Lista de ID de Empresas
brands Array Lista de ID de Marcas

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Producto

Atributos Producto

Nombre Tipo Descripción
ID Integer ID
name String Nombre
company_id Integer ID Empresa asociada
brand_id Integer ID Marca asociada
sub_industry_id String ID Sub-Rubro asociado

Obtener Categorias

import requests

url = "datasuite.megatime.cl/filters/categories"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/categories' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/categories",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "AGROPECUARIO"
    }
  ]
}

Retorna una lista con todas las Categorias

Llamada HTTP

GET datasuite.megatime.cl/filters/categories

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Catergoria

Atributos Categoria

Nombre Tipo Descripción
ID Integer ID
name String Nombre

Obtener Calidades

import requests

url = "datasuite.megatime.cl/filters/qualities"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/qualities' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/qualities",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 11,
      "name": "VIDEO COLOR",
      "short": "VC",
      "media_id": 1
    }
  ]
}

Retorna una lista con todas las Calidades

Llamada HTTP

GET datasuite.megatime.cl/filters/qualities

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Calidad

Atributos Calidad

Nombre Tipo Descripción
ID Integer ID
name String Nombre
short String Abreviación
medio_id String ID Medio

Obtener Agencias Creativas

import requests

url = "datasuite.megatime.cl/filters/creativeagencies"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/creativeagencies' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/creativeagencies",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "BBDO",
      "short": "BBDO"
    }
  ]
}

Retorna una lista con todas las Agencias Creativas

Llamada HTTP

GET datasuite.megatime.cl/filters/creativeagencies

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Agencia Creativa

Atributos Agencias Creativa

Nombre Tipo Descripción
ID Integer ID
name String Nombre
short String Abreviación

Obtener Agencias de Medios

import requests

url = "datasuite.megatime.cl/filters/mediaagencies"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/mediaagencies' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/mediaagencies",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "BBDO",
      "short": "BBDO"
    }
  ]
}

Retorna una lista con todas las Agencias de Medios

Llamada HTTP

GET datasuite.megatime.cl/filters/mediaagencies

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Agencia de Medios

Atributos Agencias de Medios

Nombre Tipo Descripción
ID Integer ID
name String Nombre
short String Abreviación

Obtener Soportes

import requests

url = "datasuite.megatime.cl/filters/supports"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/supports' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/supports",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 1,
      "name": "BBDO",
      "short": "BBDO",
      "media_id": 1
    }
  ]
}

Retorna una lista con todas las Agencias de Medios

Llamada HTTP

GET datasuite.megatime.cl/filters/supports

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Soportes

Atributos Agencias de Medios

Nombre Tipo Descripción
ID Integer ID
name String Nombre
short String Abreviación
media_id String ID Medio

Obtener Grupos personalizados

import requests

url = "datasuite.megatime.cl/filters/groups"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/filters/groups' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/filters/groups",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "ID": 3,
      "name": "Bancos",
      "obs": ""
    }
  ]
}

Retorna una lista con todos los Grupos personalizados por el cliente

Llamada HTTP

GET datasuite.megatime.cl/filters/groups

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Grupo

Atributos Grupo

Nombre Tipo Descripción
ID Integer ID
name String Nombre
obs String Observación

Crear Grupo personalizado

import requests
import json

url = "datasuite.megatime.cl/filters/groups"

payload = json.dumps({
  "name": "Test nuevo grupo",
  "obs": "Observacion",
  "brands": [
    24,
    42
  ]
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
curl --location --request POST 'datasuite.megatime.cl/filters/groups' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Test New Group",
    "obs": "Observacion",
    "brands": [24,42]
}'
var request = require("request");
var options = {
  method: "POST",
  url: "datasuite.megatime.cl/filters/groups",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "Test New Group",
    obs: "Observacion",
    brands: [24, 42],
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "ID": 64,
  "message": "Grupo creado correctamente"
}

Request para crear un nuevo Grupo Personalizado, responde con el ID del nuevo grupo.

Para asignar Clasificadores y Opciones, debe dirigirse a clasificador.megatime.cl

Llamada HTTP

POST datasuite.megatime.cl/filters/groups

Párametros Body

Nombre Tipo Descripción Requerido
name String Nombre de grupo Si
obs String Observación No
brands Array Lista de IDs de marcas para asignar al nuevo grupo Si

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
ID Integer ID grupo creado
message String Mensaje de estado

Obtener Registro Cargas

import requests

url = "datasuite.megatime.cl/v2/spots/loads?date=17-02-2022T16:41:10:240&media=1,6"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'datasuite.megatime.cl/v2/spots/loads?date=17-02-2022T16:41:10:240&media=1,6' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "datasuite.megatime.cl/v2/spots/loads?date=17-02-2022T16:41:10:240&media=1,6",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "result": [
    {
      "media_id": 1,
      "date": "17-03-2022",
      "rows": 7345,
      "upload_datetime": "18-03-2022T09:08:58:387"
    },
    {
      "media_id": 6,
      "date": "22-01-2021",
      "rows": 21830,
      "upload_datetime": "17-03-2022T22:22:58:750"
    }
  ]
}

Retorna una lista de las últimas publicaciones de registros con fecha y medio

Llamada HTTP

GET datasuite.megatime.cl/v2/spots/loads

Parámetros URL

Nombre Requerido Descripción
date No Filtro de Fecha-Tiempo en formato dd-mm-yyyyThh:mi:ss:mmm. Permite mostrar sólo publicaciones de cargas mayores a la fecha ingresada
media No Lista de ID de Medios

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
result Array Lista de objetos tipo Carga

Atributos Carga

Nombre Tipo Descripción
medio_id Integer ID del medio
date String Fecha del día publicado en formato dd-mm-yyyy
rows Integer Cantidad de registros en fecha - medio
upload_datetime String Fecha de publicación de la carga en formato dd-mm-yyyyThh:mi:ss:mmm

Multimedia

Obtener API Key

iimport requests
import json

url = "cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())


curl --location --request POST 'cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Retorna key que permite el acceso a la API.

Llamada HTTP

POST cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociado a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

La API espera que las llamadas estén autenticadas con la Api key en la url con el parámetro key

?key=SECRET_API_KEY

Obtener Multimedia

Retorna multimedia de un aviso.

Llamada HTTP

import requests

url = "multimedia.megatime.cl/file/spot/0xea3e07b0ef1e6e698af73db5ce37da8d?key=SECRET_API_KEY"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response)

var request = require("request");
var options = {
  method: "GET",
  url: "multimedia.megatime.cl/file/spot/0xea3e07b0ef1e6e698af73db5ce37da8d?key=SECRET_API_KEY",
  headers: {},
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
curl --location --request GET 'multimedia.megatime.cl/file/spot/0xea3e07b0ef1e6e698af73db5ce37da8d?key=SECRET_API_KEY'

Retorno de multimedia Video, Audio o Imagen

GET multimedia.megatime.cl/file/spot/{uuid}

La variable uuid corresponde al identificador único de cada avisaje.

Parámetros URL

Nombre Requerido Valores Descripción
thumbnail No true ó false (por defecto) Retorna thumbnail de multimedia

Medios soportados

Clasificador

Obtener API Key

iimport requests
import json

url = "cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())


curl --location --request POST 'cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Retorna key que permite el acceso a la API.

Llamada HTTP

POST cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociado a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Grupos

import requests

url = "clasificador.megatime.cl/api/groups"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.json())

curl --location --request GET 'clasificador.megatime.cl/api/groups' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "clasificador.megatime.cl/api/groups",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "data": [
    {
      "ID": 3,
      "name": "Bancos",
      "obs": "Los bancos para cliente ...",
      "brands": [
        {
          "ID": 2392,
          "name": "BANCO DE CHILE"
        },
        {
          "ID": 2432,
          "name": "SANTANDER"
        },
        {
          "ID": 2608,
          "name": "BCI"
        }
      ],
      "classifiers": [
        {
          "ID": 2,
          "name": "Productos"
        },
        {
          "ID": 17,
          "name": "Seguros"
        }
      ]
    },
    {
      "ID": 8,
      "name": "Automóviles de lujo",
      "obs": "Incluye marcas de ...",
      "brands": [
        {
          "ID": 2985,
          "name": "BMW"
        },
        {
          "ID": 9130,
          "name": "FERRARI"
        },
        {
          "ID": 83348,
          "name": "MASERATI"
        }
      ],
      "classifiers": [
        {
          "ID": 18,
          "name": "Rubro"
        },
        {
          "ID": 19,
          "name": "Marcas"
        }
      ]
    }
  ]
}

Retorna todos los grupos.

Llamada HTTP

GET clasificador.megatime.cl/api/groups

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
data Array Lista de objetos de tipo Grupo

Atributos Grupo

Nombre Tipo Descripción
ID Integer Identificador del grupo
name String Nombre del grupo
obs String Observacion del grupo
brands Array Lista de objetos de tipo Marca asociados al grupo
classifiers Array Lista de objetos de tipo Clasificador asociados al grupo

Atributos Marca

Nombre Tipo Descripción
ID Integer Identificador de la marca
name String Nombre de la marca

Atributos Clasificador

Nombre Tipo Descripción
ID Integer Identificador del clasificador
name String Nombre del clasificador

Obtener Clasificadores

import requests

url = "clasificador.megatime.cl/api/classifiers"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.json())
curl --location --request GET 'clasificador.megatime.cl/api/classifiers' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "clasificador.megatime.cl/api/classifiers",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
    "ok": true,
    "data": [
        {
            "ID": 2,
            "name": "Productos",
            "obs": "Carnes, papel, etc.",
            "multipleSelection": true,
            "options": [
                {
                    "ID": 12,
                    "name": "Arroz"
                },
                {
                    "ID": 15,
                    "name": "Café"
                },
                {
                    "ID": 6,
                    "name": "Carnes"
                },
                {
                    "ID": 7,
                    "name": "Papel"
                }
            ]
        },
        {
            "ID": 4,
            "name": "Forma de pago",
            "obs": "Tarjetas, transferencias, puntos, etc.",
            "multipleSelection": true,
            "options": [
                {
                    "ID": 19,
                    "name": "Efectivo"
                },
                {
                    "ID": 11,
                    "name": "Pago App"
                }
                {
                    "ID": 9,
                    "name": "Tarjetas credito"
                }
            ]
        }
    ]
}

Retorna todos los clasificadores.

Llamada HTTP

GET clasificador.megatime.cl/api/classifiers

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
data Array Lista de objetos de tipo Clasificador

Atributos Clasificador

Nombre Tipo Descripción
ID Integer Identificador del clasificador
name String Nombre del clasificador
obs String Observación del clasificador
multipleSelection Boolean Es un clasificador que permite múltiples opciones seleccionadas
options Array Lista de objetos de tipo Opción asociadas al clasificador

Atributos Opción

Nombre Tipo Descripción
ID Integer Identificador de la opción
name String Nombre de la opción

Obtener Avisos por Grupo

import requests

url = "clasificador.megatime.cl/api/ads/group/10?start_date=13-09-2021&end_date=13-10-2021"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.json())
curl --location --request GET 'clasificador.megatime.cl/api/ads/group/10?start_date=13-09-2021&end_date=13-10-2021' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "clasificador.megatime.cl/api/ads/group/10?start_date=13-09-2021&end_date=13-10-2021",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "group": "Supermercados",
  "start_date": "13-09-2021",
  "end_date": "13-10-2021",
  "data": [
    {
      "ID": 270366,
      "description": "TOTTUS,PRECIAZOS,SON PRECIOS BAJOS TODOS LOS DIAS POR TODO",
      "media": "Radio",
      "appeared_date": "19/04/2021",
      "industry": "SUPER E HIPERMERCADOS",
      "company": "TOTTUS",
      "brand": "TOTTUS",
      "product": "TOTTUS,PRECIAZOS",
      "status": "COMPLETADO",
      "options": [
        {
          "classifier": {
            "ID": 4,
            "name": "Forma de pago"
          },
          "values": [
            {
              "ID": 58,
              "name": "Tarjeta de Tienda"
            }
          ]
        },
        {
          "classifier": {
            "ID": 21,
            "name": "Marcas Supermercados"
          },
          "values": [
            {
              "ID": 51,
              "name": "Cristal"
            },
            {
              "ID": 52,
              "name": "Colun"
            }
          ]
        },
        {
          "classifier": {
            "ID": 2,
            "name": "Productos"
          },
          "values": [
            {
              "ID": 18,
              "name": "Alcoholes"
            }
          ]
        }
      ]
    },
    {
      "ID": 585673,
      "description": "JUMBO,FELIZ 18,SOBRECOSTILLA-HUACHALOMO $5890-TJ",
      "media": "TV Abierta",
      "appeared_date": "13/09/2021",
      "industry": "SUPER E HIPERMERCADOS",
      "company": "JUMBO",
      "brand": "JUMBO",
      "product": "JUMBO,FELIZ 18",
      "status": "PENDIENTE",
      "options": [
        {
          "classifier": {
            "ID": 4,
            "name": "Forma de pago"
          },
          "values": []
        },
        {
          "classifier": {
            "ID": 21,
            "name": "Marcas Supermercados"
          },
          "values": []
        },
        {
          "classifier": {
            "ID": 2,
            "name": "Productos"
          },
          "values": []
        }
      ]
    }
  ]
}

Retorna todos los avisos con sus datos y opciones que tuvieron alguna actividad en cierto periodo en base al Grupo seleccionado.

Llamada HTTP

GET clasificador.megatime.cl/api/ads/group/{groupID}

La variable groupID corresponde al ID del Grupo clasificador el cual contiene los filtros de marcas y clasificadores.

Parámetros URL

Nombre Requerido Descripción
start_date Fecha inicial de la búsqueda en formato dd-mm-yyyy
end_date Fecha final de la búsqueda en formato dd-mm-yyyy

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
group String Nombre del grupo seleccionado
start_date Date Fecha inicial de la búsqueda en formato dd-mm-yyyy
end_date Date Fecha final de la búsqueda en formato dd-mm-yyyy
data String Lista de objetos de tipo Aviso

Atributos Aviso por Grupo

Nombre Tipo Descripción
ID Integer Identificador del aviso
description String Descripción del aviso
media String Nombre de los medios en donde aparece el aviso
appeared_date Date Fecha donde aparece el aviso por primera vez
industry String Nombre del Rubro asignado al aviso
company String Nombre de la Empresa asignada al aviso
brand String Nombre de la Marca asignada al aviso
product String Nombre del Producto asignado al aviso
status String Estado del aviso según el grupo elegido
options Array Lista de objetos de tipo Opción-Clasificador que muestra opciones asignadas al aviso según cada clasificador del grupo seleccionado

Atributos Opción-Clasificador

Nombre Tipo Descripción
classifier Objeto Objeto que representa clasificador del grupo con ID y name
values Array Listado de objetos de tipo Opción que representa las opciones asginadas al aviso

Atributos Opción

Nombre Tipo Descripción
ID Integer Identificador de la opción
name String Nombre de la opción

Estados del Aviso

Nombre Descripción
Pendiente No tiene asginada ninguna opción
Incompleto Tiene asignada algunas opciones
Completado Tiene asginada todas las opciones
No Aplica Todas sus opciones son 'No Aplica'

Radio Regional

Obtener API Key Usuario

import requests
import json

url = "https://cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())


curl --location --request POST 'https://cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "https://cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Retorna key del usuario, para tener acceso a las consultas de radios regionales.

Llamada HTTP

POST https://cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociada a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Crear Campaña

import requests
import json

url = "radioregional.megatime.cl/api/campaign"

payload = json.dumps({
  "name": "ExampleCampaña",
  "company": "Example Empresa",
  "media_agency": "Example Ag medio",
  "creative_agency": "Example Ag creativa",
  "start_date": "18-01-2022",
  "end_date": "20-01-2022"
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

curl --location --request POST 'radioregional.megatime.cl/api/campaign' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "ExampleCampaña",
  "company": "Example Empresa",
  "media_agency": "Example Ag medio",
  "creative_agency": "Example Ag creativa",
  "start_date": "18-01-2022",
  "end_date": "20-01-2022"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "radioregional.megatime.cl/api/campaign",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "ExampleCampaña",
    company: "Example Empresa",
    media_agency: "Example Ag medio",
    creative_agency: "Example Ag creativa",
    start_date: "18-01-2022",
    end_date: "20-01-2022",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "campaign_id": 3334,
  "message": "Campaña ingresada correctamente."
}

Crea una nueva campaña.

Llamada HTTP

POST https://radioregional.megatime.cl/api/campaign

Parametros Body

Nombre Tipo Descripción Requerido
name String Nombre de la campaña a crear Si
company String Nombre de la empresa Si
media_agency String Nombre de la agencia de medios Si
creative_agency String Nombre de la agencia creativa Si
start_date String Fecha de inicio en formato dd-mm-yyyy No
end_date String Fecha de termino en formato dd-mm-yyyy No
external_id Integer Identifiador opcional, para seguimiento interno del cliente No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
campaign_id Integer Identificador de la nueva campaña generada
message String Mensaje de estado

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Editar Campaña

import requests
import json

url = "radioregional.megatime.cl/api/campaign/3333"

payload = json.dumps({
    "name": "Example Name",
    "company":"Example Name",
    "media_agency":"Example Name",
    "creative_agency":"Example Name",
    "start_date": "18-01-2022",
    "end_date": "20-01-2022"
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

curl --location --request POST 'radioregional.megatime.cl/api/campaign/3333' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Example Name",
    "company":"Example Name",
    "media_agency":"Example Name",
    "creative_agency":"Example Name",
    "start_date": "18-01-2022",
    "end_date": "20-01-2022"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "radioregional.megatime.cl/api/campaign/3333",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "Example Name",
    company: "Example Name",
    media_agency: "Example Name",
    creative_agency: "Example Name",
    start_date: "18-01-2022",
    end_date: "20-01-2022",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "campaign_id": 9987,
  "message": "Cambios guardados correctamente."
}

Edita una campaña.

Llamada HTTP

POST https://radioregional.megatime.cl/api/campaign/{campaign_id}

Parametros URL

Nombre Tipo Descripción Requerido
campaign_id Integer Identificador de campaña Si

Parametros Body

Nombre Tipo Descripción Requerido
name String Nombre del plan a crear Si
company String Nombre de la empresa asociada Si
external_id Integer Identificador interno para seguimiento del cliente Si
media_agency String Nombre de la agencia de medios Si
creative_agency String Nombre de la agencia creativa Si
start_date String Fecha de inicio en formato dd-mm-yyyy Si
end_date String Fecha de termino en formato dd-mm-yyyy Si

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
campaign_id Integer Identificador de la nueva campaña generada
message String Mensaje de estado

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener resumen de Campaña

import requests

url = "radioregional.megatime.cl/api/campaign/3554"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'radioregional.megatime.cl/api/campagin/3554' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/campaign/3554",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "id": 3554,
  "external_id": 0,
  "name": "Example ",
  "company": "Example",
  "media_agency": "GROUPM (MEDIA)",
  "creative_agency": "DIRECTOS",
  "start_date": "03-01-2022",
  "end_date": "31-01-2022",
  "radios": [
    {
      "radio_id": 3453,
      "name": "VALPARAISO",
      "dates": [
        {
          "day": "20220103",
          "quantity": 3,
          "completed": 0,
          "quantity_found": 0
        },
        {
          "day": "20220104",
          "quantity": 3,
          "completed": 0,
          "quantity_found": 0
        }
      ]
    }
  ],
  "audios": [
    {
      "index": 0,
      "id": 3126,
      "name": "example_name.mp3",
      "source": "https://radioregional.megatime.cl/api/audios/3126",
      "createAt": "04-01-2022 17:50"
    },
    {
      "index": 1,
      "id": 3127,
      "name": "example_name.mp3",
      "source": "https://radioregional.megatime.cl/api/audios/3127",
      "createAt": "04-01-2022 17:50"
    }
  ],
  "ok": true
}

Retorna el resumen de una campaña, mostrando asi la verificacion para cada radio segun pauta esperada. Incluye informacion de sus audios inyectados.

Llamada HTTP

GET https://radioregional.megatime.cl/api/campaign/{campaign_ID}

Parametros URL

Nombre Tipo Descripción Requerido
campaign_id Integer Identificador de campaña Si

Atributos Respuesta

Nombre Tipo Descripción
id Integer Identificador de la campaña
external_id Integer Identificador externo creado por el usuario
name String Nombre de la campaña
company String Nombre de la empresa
media_agency String Nombre de la agencia de medios
creative_agency String Nombre de la agencia creativa
start_date String Fecha de inicio de la campaña en formato dd-mm-yyyy
end_date String Fecha de termino de la campaña en formato dd-mm-yyyy
radios Array Lista de objetos de tipo radios
audios Array Lista de objetos de tipo audios
ok Boolean Verificador de respuesta

Atributos Radios

Nombre Tipo Descripción
radio_id Integer Identificador de la radio
name String Nombre de la radio
dates Array Lista de objetos de tipo dates

Atributos Dates

Nombre Tipo Descripción
day String Fecha en la que se contabilizo los avisajes en formato YYYYMMDD
quantity Integer Cantidad de avisajes esperados en esa fecha
completed Integer Verificador de avisajes, si es "1" fue completado en su totalidad, si es "0" no fue completado
quantity_found Integer Cantidad de avisajes detectados

Atributos Audios

Nombre Tipo Descripción
index Integer Identificador del audio dentro de la campaña
id Integer Identificador del audio
name String Nombre original del audio
source String Link para acceso al audio
createAt String Fecha en la que se subió el audio en formato YYYY-MM-DD HH-MM-DD

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Campañas

import requests

url = "radioregional.megatime.cl/api/campaign/search/?start_date=12-11-2021&end_date=12-01-2022"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)


curl --location --request GET 'radioregional.megatime.cl/api/campaign/search/?start_date=12-11-2021&end_date=12-01-2022' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/campaign/search/?start_date=12-11-2021&end_date=12-01-2022",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
    "ok": true,
    "campaigns": [
        {
            "campaign_id": 4456,
            "campaign": "BANCO ESTADO CUENTA RUT MIGRACION ENERO",
            "company": "BANCO ESTADO",
            "media_agency": "GROUPM (MEDIA)",
            "creative_agency": "DIRECTOS",
            "creation_date": "2022-01-19 13:00:26",
            "start_date": "19-01-2022",
            "end_date": "31-01-2022",
            "external_id": 0,
            "audios": [
                {
                    "audio_id": 7556,
                    "audio": "example_name.mp3",
                    "campaign_id": 9668,
                }
            ]
        },
        {
            "campaign_id": 4457,
            "campaign": "BANCO CHILE DRONES",
            "company": "BANCO CHILE",
            "media_agency": "OMG",
            "creative_agency": "DIRECTOS",
            "creation_date": "2022-01-19 12:58:07",
            "start_date": "17-01-2022",
            "end_date": "22-01-2022",
            "external_id": 0,
            "audios": [
                {
                    "audio_id": 77476,
                    "audio": "example_name.mp3",
                    "campaign_id": 5567,
                }
            ]
        }
}

Retorna una lista de campañas en base a un rango de fecha.

Llamada HTTP

GET https://radioregional.megatime.cl/api/campaign/search?start_date={dd-mm-yyyy}&end_date={DD-MM- YYYY}

Parametros URL

Nombre Tipo Descripción Requerido
start_date String Fecha de inicio de la campaña en formato dd-mm-yyyy Si
end_date String Fecha de termino de la campaña en formato dd-mm-yyyy Si

Atributos Respuesta

Nombre Tipo Descripción
ok Integer Verificador de respuesta
campaigns Array Lista de objetos de tipo campaigns

Atributos Campaigns

Nombre Tipo Descripción
campaign_id Integer Identificador de la campaña
external_id Integer Identificador externo de la campaña
campaign String Nombre de la campaña
company String Nombre de la empresa
media_agency String Nombre de la agencias de medios
creative_agency String Nombre de la agencia creativa
start_date String Fecha de inicio de la campaña en formato dd-mm-yyyy
end_date String Fecha de termino de la campaña en formato dd-mm-yyyy
external_id Integer Identificador externo
audios Array Lista de objetos de tipo audios

Atributos Audios

Nombre Tipo Descripción
audio_id Integer Identificador del audio
audio String Nombre del audio
campaign_id Integer Identificador de la campaña

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Inyectar audio a una Campaña

import requests

url = "https://radioregional.megatime.cl/api/campaign/upload/audio/3333"

payload={}
files=[
  ('audio',('file_example_MP3_700KB.mp3',open('/{path_audio}/file_example_MP3_700KB.mp3','rb'),'audio/mpeg'))
]
headers = {
  'Authorization': '62cc57e4e86381c3c25433338882673'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

curl --location --request POST 'https://radioregional.megatime.cl/api/campaign/upload/audio/3333' \
--header 'Authorization: SECRET_API_KEY' \
--form 'audio=@"/{path_audio}/file_example_MP3_700KB.mp3"'
var request = require("request");
var fs = require("fs");
var options = {
  method: "POST",
  url: "https://radioregional.megatime.cl/api/campaign/upload/audio/33333",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
  formData: {
    audio: {
      value: fs.createReadStream("/{path_audio}/file_example_MP3_700KB.mp3"),
      options: {
        filename: "file_example_MP3_700KB.mp3",
        contentType: null,
      },
    },
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "campaign_id": 3333,
  "message": "Cambios guardados correctamente."
}

Subir audio a una campaña.

Llamada HTTP

POST https://radioregional.megatime.cl/api/campaign/upload/audio/{campaign_id}

Parametros URL

Nombre Tipo Descripción
campaign_id Integer Identificador de la campaña

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
campaign_id Integer Identificador de la nueva campaña generada
message String Mensaje de estado

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Inyectar Pauta a Campaña

import requests
import json

url = "radioregional.megatime.cl/api/campaign/{campaign_id}/details"

payload = json.dumps({
  "details": [
    {
      "radio_id": 6446,
      "dates": [
        {
          "day": "18-01-2022",
          "quantity": 3
        },
        {
          "day": "19-01-2022",
          "quantity": 4
        },
        {
          "day": "20-01-2022",
          "quantity": 5
        }
      ]
    },
    {
      "radio_id": 9644,
      "dates": [
        {
          "day": "18-01-2022",
          "quantity": 3
        },
        {
          "day": "19-01-2022",
          "quantity": 4
        },
        {
          "day": "20-01-2022",
          "quantity": 5
        }
      ]
    }
  ]
})
headers = {
  'Authorization': '62cc57e4e86381c3c254a2b4b6464545',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

curl --location --request POST 'radioregional.megatime.cl/api/campaign/{campaign_id}/details' \
--header 'Authorization: 62cc57e4e86381c3c254a2b4b8882673' \
--header 'Content-Type: application/json' \
--data-raw '{
    "details": [
        {
            "radio_id": 9449,
            "dates": [
                {
                    "day": "18-01-2022",
                    "quantity": 3
                },
                {
                    "day": "19-01-2022",
                    "quantity": 4
                },
                {
                    "day": "20-01-2022",
                    "quantity": 5
                }
            ]
        },
            {
            "radio_id": 9445,
            "dates": [
                {
                    "day": "18-01-2022",
                    "quantity": 3
                },
                {
                    "day": "19-01-2022",
                    "quantity": 4
                },
                {
                    "day": "20-01-2022",
                    "quantity": 5
                }
            ]
        }]
}'
var request = require("request");
var options = {
  method: "POST",
  url: "radioregional.megatime.cl/api/campaign/{campaign_id}/details",
  headers: {
    Authorization: "62cc57e4e86381c3c254a2b4b",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    details: [
      {
        radio_id: 7208,
        dates: [
          {
            day: "18-01-2022",
            quantity: 3,
          },
          {
            day: "19-01-2022",
            quantity: 4,
          },
          {
            day: "20-01-2022",
            quantity: 5,
          },
        ],
      },
      {
        radio_id: 4434,
        dates: [
          {
            day: "18-01-2022",
            quantity: 3,
          },
          {
            day: "19-01-2022",
            quantity: 4,
          },
          {
            day: "20-01-2022",
            quantity: 5,
          },
        ],
      },
    ],
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "message": "Pautas ingresadas correctamente"
}

Inyecta pauta a una campaña creada previamente.

Llamada HTTP

POST https://radioregional.megatime.cl/api/campaign/{campaign_id}/details

Parametros URL

Nombre Tipo Descripcion
campaign_id Integer Identificador de la campaña

Parametros Body

Nombre Tipo Descripción
details Array Lista de objetos de tipo details

Atributos Details

Nombre Tipo Descripción
radio_id Integer Identificador de la radio
dates Array Lista de objetos de tipo dates

Atributos Dates

Nombre Tipo Descripción
day String Fecha en la que se contabilizo los avisajes en formato YYYYMMDD
quantity Integer Cantidad de avisajes esperados en esa fecha

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Avisajes

import requests

url = "https://radioregional.megatime.cl/api/spots?start_date=30-09-2021&end_date=27-12-2021&campaign_id={campaign_id}"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'https://radioregional.megatime.cl/api/spots?start_date=30-09-2021&end_date=27-12-2021&campaign_id={campaign_id}' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "https://radioregional.megatime.cl/api/spots?start_date=30-09-2021&end_date=27-12-2021&campaign_id={campaign_id}",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "start_date": "30-11-2021",
  "end_date": "27-12-2021",
  "spots": [
    {
      "ID": 111111,
      "audio_id": 1111,
      "audio": "example.mp3",
      "date": "19-02-2022",
      "hour": 29,
      "minute": 57,
      "second": 17,
      "duration": 30,
      "radio_id": 7062,
      "radio": "MADEROANTOFAGASTA",
      "company": "HUGHESNET",
      "company_id": 73004,
      "product": "HUGHESNET,INTERNET SATELITAL",
      "advertisement": "HUGHESNET,INTERNET SATELITAL,CON HUGHESNET DONDE VEAS EL CIE",
      "product_id": 306312,
      "category": "INTERNET",
      "category_id": 29,
      "brand": "HUGHESNET",
      "brand_id": 120705,
      "industry": "PROVEEDORES",
      "industry_id": 404,
      "sub_industry": "PROVEEDOR DE ACCESO",
      "sub_industry_id": 6313,
      "campaign_id": 2118
    },
    {
      "ID": 11111,
      "audio_id": 1111,
      "audio": "example.mp3",
      "date": "19-02-2022",
      "hour": 23,
      "minute": 1,
      "second": 37,
      "duration": 24,
      "radio_id": 7160,
      "radio": "MADEROANTOFAGASTA",
      "company": "MOVISTAR",
      "company_id": 1870,
      "product": "MOVISTAR,EMPRESAS,FIBRA",
      "advertisement": "MOVISTAR,EMPRESAS,PLAN FIBRA 600 MEGAS SIMETRICO POR SOLO",
      "product_id": 320249,
      "category": "SERVICIOS AL CONSUMIDOR",
      "category_id": 29,
      "brand": "MOVISTAR",
      "brand_id": 81824,
      "industry": "TELEFONIA",
      "industry_id": 405,
      "sub_industry": "SERVICIO DE TELEFONIA MOVIL",
      "sub_industry_id": 6271,
      "campaign_id": 2238
    }
  ]
}

Obtener los avisajes de una campaña en especifico, o de todos las campañas de un cliente en un rango de tiempo especifico.

Llamada HTTP

GET https://radioregional.megatime.cl/api/spots?start_date={dd-mm-yyyy}&end_date={dd-mm-yyyy}&campaign_id={campaign_id}

Parametros URL

Nombre Tipo Descripción Requerido
start_date String Fecha de inicio en formato dd-mm-yyyy Si
end_date String Fecha de termino en formato dd-mm-yyyy Si
campaign_id Integer Identificador de la campaña No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
start_date String Fecha de inicio en formato dd-mm-yyyy
end_date String Fecha de inicio en formato dd-mm-yyyy
spots Array Lista de objetos de tipo spots

Atributos Spots

Nombre Tipo Descripción
id Integer Identificador de la campaña
audio_id Integer Identificador del audio
date String Fecha del avisaje en formato dd-mm-yyyy
hour Integer Hora del avisaje en formato 24Horas
minute Integer Minuto del avisaje
second Integer Segundo del avisaje
duration Integer Duracion del avisaje en segundos
radio_id Integer Identificador de la radio
radio String Nombre de la radio
company String Nombre de la empresa
company_id Integer Identificador de la empresa
product String Nombre del producto
advertisement String Descripcion del producto
product_id Integer Identificador del producto
category String Nombre de la categoria
category_id Integer Identificador de la categoria
brand String Nombre de la marca
brand_id Integer Identificador de la marca
industry String Nombre del rubro
industry_id Integer Identificador del rubro
sub_industry String Nombre del sub-rubro
sub_industry_id Integer Identificador del sub-rubro
campaign_id Integer Identificador de la campaña

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener URL audio testigo

import requests

url = "https://radioregional.megatime.cl/api/audios/witness/3345"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'https://radioregional.megatime.cl/api/audios/witness/3345' \
--header 'Authorization: SECRET_API_KEY'
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://radioregional.megatime.cl/api/audios/witness/3345',
  'headers': {
    'Authorization': 'SECRET_API_KEY'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
    "ok": true,
    "audio_url": "https://s3.amazonaws.com/radioregional.megatime.cl/testigos/20220314/045/20220314152447_045_277620.mp3"
}

Obtener el url de un audio testigo.

Llamada HTTP

GET https://radioregional.megatime.cl/api/audios/witness/{spot_id}

Parametros URL

Nombre Tipo Descripción
spot_id Integer Identificador del avisaje

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
audio_url String URL de audio inyectado

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener URL audio inyectado

import requests

url = "https://radioregional.megatime.cl/api/audios/file/3345"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'https://radioregional.megatime.cl/api/audios/file/3345' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "https://radioregional.megatime.cl/api/audios/file/3345",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "audio_url": "https://s3.amazonaws.com/radioregional.megatime.cl/user-audios/audio_1111.mp3"
}

Obtener un audio inyectado según su ID.

Llamada HTTP

GET https://radioregional.megatime.cl/api/audios/file/{audio_id}

Parametros URL

Nombre Tipo Descripción
audio_id Integer Identificador del audio

Atributos Respuesta

Nombre Tipo Descripción
audio_url String URL de audio inyectado

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Agen. Creativas (RR)

import requests
import json

url = "radioregional.megatime.cl/api/finder/creative_agencies"

payload = json.dumps({
  "name": "example"
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'radioregional.megatime.cl/api/finder/creative_agencies' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name":"example"
}'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/finder/creative_agencies",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "example",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "agencies": [
    {
      "id": 345,
      "name": "SUTIL NAZCA SAATCHI Y SAATCHI"
    },
    {
      "id": 879,
      "name": "XYZ JAAPOH PUBLICIDAD"
    }
  ]
}

Retorna las agencias creativas y su respectivo id. Se puede adjuntar una 'frase' para filtrar los resultados.

Llamada HTTP

GET https://radioregional.megatime.cl/api/finder/creative_agencies

Parametros Body

Nombre Tipo Descripción Requerido
name String Cadena de texto para filtrar por nombre No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
agencies Array Lista de objetos de tipo Agencies

Atributos Agencia_creativas

Nombre Tipo Descripción
ID Integer Identificador de la agencia creativa
name String Nombre de la agencia creativa

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Agen. de medios (RR)

import requests
import json

url = "radioregional.megatime.cl/api/finder/media_agencies"

payload = json.dumps({
  "name": "example"
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'radioregional.megatime.cl/api/finder/media_agencies' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "example"
}'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/finder/media_agencies",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "`example`",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "agencies": [
    {
      "id": 675,
      "name": "12 PUBLICIDAD (MEDIA)"
    },
    {
      "id": 978,
      "name": "A.P. PUBLICIDAD (MEDIA)"
    }
  ]
}

Retorna las agencias de medios y su respectivo id. Se debe adjuntar una 'frase' para filtrar los resultados.

Llamada HTTP

GET https://radioregional.megatime.cl/api/finder/media_agencies

Parametros Body

Nombre Tipo Descripción Requerido
name String Cadena de texto para filtrar por nombre No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
agencies Array Lista de objetos de tipo Agencies

Atributos Agencias de medios

Nombre Tipo Descripción
ID Integer Identificador de la agencia de medio
name String Nombre de la agencia de medio

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Empresas (RR)

import requests
import json

url = "radioregional.megatime.cl/api/finder/companies"

payload = json.dumps({
  "name": "example"
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

curl --location --request GET 'radioregional.megatime.cl/api/finder/companies' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "example"
}'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/finder/companies",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "example",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "companies": [
    {
      "id": 45672,
      "name": "AARATI,JOYAS"
    },
    {
      "id": 12387,
      "name": "ACEROLAIS,JOYAS"
    },
    {
      "id": 976453,
      "name": "ACUARIO JOYAS"
    }
  ]
}

Retorna las empresas y su respectivo id. Se debe adjuntar una 'frase' para filtrar los resultados.

Llamada HTTP

GET https://radioregional.megatime.cl/api/finder/companies

Parametros Body

Nombre Tipo Descripción Requerido
name String Cadena de texto para filtrar por nombre No

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
companies Array Lista de objetos de tipo Companies

Atributos Empresas

Nombre Tipo Descripción
ID Integer Identificador de la empresa
name String Nombre de la empresa

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Obtener Radios (RR)

import requests

url = "radioregional.megatime.cl/api/finder/radios"

payload={}
headers = {
  'Authorization': 'SECRET_API_KEY'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
curl --location --request GET 'radioregional.megatime.cl/api/finder/radios' \
--header 'Authorization: SECRET_API_KEY'
var request = require("request");
var options = {
  method: "GET",
  url: "radioregional.megatime.cl/api/finder/radios",
  headers: {
    Authorization: "SECRET_API_KEY",
  },
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "radios": [
    {
      "id": 3453,
      "nombre": "ACONCAGUA"
    },
    {
      "id": 9867,
      "nombre": "AGUA MARINA"
    }
  ]
}

Retorna las radios y su respectivo id.

Llamada HTTP

GET https://radioregional.megatime.cl/api/finder/radios

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
radios Array Lista de objetos de tipo Radio

Atributos Radio

Nombre Tipo Descripción
ID Integer Identificador de la radio
name String Nombre de la radio

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Comercializador

Obtener API Key

iimport requests
import json

url = "cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())


curl --location --request POST 'cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Retorna key que permite el acceso a la API.

Llamada HTTP

POST cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociado a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

La API espera que todas las llamadas estén autenticadas con la Api key en el Authorization header:

Authorization: SECRET_API_KEY

Inserción Spots

Insertar spots para su posterior asignación del comercializador en data Megatime

curl --location --request POST 'comercializador.megatime.cl/api/spots' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "data": [{
        "date_supplier": "2022-01-23",
        "time_supplier": "25:56:49",
        "date": "2022-01-23",
        "time": "25:56:58",
        "support_id": 6013,
        "advertisement_id": 598610,
        "is_match": true
    }, {
        "date_supplier": "2022-03-03",
        "time_supplier": "18:12:35",
        "date": "2022-03-03",
        "time": "18:12:44",
        "support_id": 6001,
        "advertisement_id": 601035,
        "is_match": true
    }]
}'
import requests
import json

url = "comercializador.megatime.cl/api/spots"

payload = json.dumps({
  "data": [
    {
      "date_supplier": "2022-01-23",
      "time_supplier": "25:56:49",
      "date": "2022-01-23",
      "time": "25:56:58",
      "support_id": 6013,
      "advertisement_id": 598610,
      "is_match": True
    },
    {
      "date_supplier": "2022-03-03",
      "time_supplier": "18:12:35",
      "date": "2022-03-03",
      "time": "18:12:44",
      "support_id": 6001,
      "advertisement_id": 601035,
      "is_match": True
    }
  ]
})
headers = {
  'Authorization': 'SECRET_API_KEY',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
var request = require("request");
var options = {
  method: "POST",
  url: "comercializador.megatime.cl/api/spots",
  headers: {
    Authorization: "SECRET_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    data: [
      {
        date_supplier: "2022-01-23",
        time_supplier: "25:56:49",
        date: "2022-01-23",
        time: "25:56:58",
        support_id: 6013,
        advertisement_id: 598610,
        is_match: true,
      },
      {
        date_supplier: "2022-03-03",
        time_supplier: "18:12:35",
        date: "2022-03-03",
        time: "18:12:44",
        support_id: 6001,
        advertisement_id: 601035,
        is_match: true,
      },
    ],
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "message": "2 spots inserted"
}

Llamada HTTP

POST https://comercializador.megatime.cl/api/spots

Parametros Body

Nombre Tipo Descripción Requerido
data Array Lista de objetos tipo Spot Si

Atributos Spot

Nombre Tipo Descripción Requerido
date_supplier String Fecha exhibición del spot por Comercializador en formato YYYY-MM-DD Si
time_supplier String Tiempo exhibición del spot por Comercializador en formato HH:MM:SS Si
date String Fecha exhibición del spot publicado por Megatime en formato YYYY-MM-DD. Debe ir con valor null en caso de no match No
time String Tiempo exhibición del spot publicado por Megatime en formato HH:MM:SS. Debe ir con valor null en caso de no match No
support_id Integer ID del soporte / canal de exhibición Si
advertisement_id Integer ID del aviso exhibido Si
is_match Boolean Indicador si spot inyectado contiene correlación con spot megatime Si

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
message String Mensaje de estado indicando cuantos spots se insertaron en caso de éxito

Rating Radio

Autenticación

import requests
import json

url = "cuenta.megatime.cl/api/auth/key"

payload = json.dumps({
  "email": "user@example.com",
  "password": "**********"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())
curl --location --request POST 'cuenta.megatime.cl/api/auth/key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "**********"
}'
var request = require("request");
var options = {
  method: "POST",
  url: "cuenta.megatime.cl/api/auth/key",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "**********",
  }),
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ejemplo de retorno en formato JSON:

{
  "ok": true,
  "key": "71e1db8n090am63ca69606c4slb8b6ta"
}

Para usar la API, primero necesitas obtener tu API Key desde DataSuite.

Llamada HTTP

POST cuenta.megatime.cl/api/auth/key

Parámetros Body

Nombre Tipo Descripción Requerido
email String Correo asociado a credencial de Megatime
password String Contraseña asociado a credencial de Megatime

Atributos Respuesta

Nombre Tipo Descripción
ok Boolean Verificador de respuesta
key String Llave de acceso a API

Crear Rating

import requests

url = "https://ratingradio.megatime.cl/ratings"
headers = {
    "Content-Type": "application/json",
    "API-Key": "71e1db8n090am63ca69606c4slb8b6ta"
}

# Ejemplo básico (un rating)
data = {
    "date_month": 202412,
    "radio_id": 101,
    "time_slot_id": 5,
    "dow_id": 2,
    "target_id": 15,
    "value": 12.5
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
# Ejemplo básico (un rating)
curl -X POST https://ratingradio.megatime.cl/ratings \
  -H "Content-Type: application/json" \
  -H "API-Key: 71e1db8n090am63ca69606c4slb8b6ta" \
  -d '{
    "date_month": 202412,
    "radio_id": 101,
    "time_slot_id": 5,
    "dow_id": 2,
    "target_id": 15,
    "value": 12.5
  }'

# Ejemplo múltiple (varios ratings)
curl -X POST https://ratingradio.megatime.cl/ratings \
  -H "Content-Type: application/json" \
  -H "API-Key: 71e1db8n090am63ca69606c4slb8b6ta" \
  -d '[
    {
      "date_month": 202412,
      "radio_id": 101,
      "time_slot_id": 5,
      "dow_id": 2,
      "target_id": 15,
      "value": 12.5
    },
    {
      "date_month": 202412,
      "radio_id": 102,
      "time_slot_id": 5,
      "dow_id": 2,
      "target_id": 15,
      "value": 8.3
    }
  ]'
const axios = require('axios');

// Ejemplo básico (un rating)
async function createRating() {
  try {
    const response = await axios.post('https://ratingradio.megatime.cl/ratings', {
      date_month: 202412,
      radio_id: 101,
      time_slot_id: 5,
      dow_id: 2,
      target_id: 15,
      value: 12.5
    }, {
      headers: {
        'Content-Type': 'application/json',
        'API-Key': '71e1db8n090am63ca69606c4slb8b6ta'
      }
    });

    console.log('Rating creado:', response.data);
  } catch (error) {
    console.error('Error:', error.response.data);
  }
}

// Ejemplo múltiple (varios ratings)
async function createMultipleRatings() {
  const ratings = [
    {
      date_month: 202412,
      radio_id: 101,
      time_slot_id: 5,
      dow_id: 2,
      target_id: 15,
      value: 12.5
    },
    {
      date_month: 202412,
      radio_id: 102,
      time_slot_id: 5,
      dow_id: 2,
      target_id: 15,
      value: 8.3
    }
  ];

  try {
    const response = await axios.post('https://ratingradio.megatime.cl/ratings', ratings, {
      headers: {
        'Content-Type': 'application/json',
        'API-Key': '71e1db8n090am63ca69606c4slb8b6ta'
      }
    });

    console.log('Ratings creados:', response.data);
  } catch (error) {
    console.error('Error:', error.response.data);
  }
}

Respuesta exitosa:

{
  "ok": true,
  "message": "1 rating(s) created successfully"
}

Respuestas de error:

{
  "ok": false,
  "message": "Invalid API key"
}
{
  "ok": false,
  "message": "All fields are required: date_month, radio_id, time_slot_id, dow_id, target_id, value"
}
{
  "ok": false,
  "message": "FechaMes must be in YYYYMM format (e.g., 202412)"
}

Crea uno o múltiples ratings de radio.

Llamada HTTP

POST https://ratingradio.megatime.cl/ratings

Campos requeridos

Campo Tipo Descripción Ejemplo
date_month number Fecha en formato YYYYMM 202412
radio_id number ID de la radio 101
time_slot_id number ID del bloque horario 5
dow_id number ID del día (1=Lunes, 7=Domingo) 2
target_id number ID del target demográfico 15
value number Valor del rating 12.5

Health Check

import requests

response = requests.get('https://ratingradio.megatime.cl/health')
print(response.json())
curl https://ratingradio.megatime.cl/health
const response = await fetch('https://ratingradio.megatime.cl/health');
const data = await response.json();
console.log(data);

Respuesta:

{
  "ok": true,
  "message": "Service is healthy",
  "timestamp": "2024-01-15T10:30:00.000Z"
}

Verificar estado del servicio. No requiere autenticación.

Llamada HTTP

GET https://ratingradio.megatime.cl/health

Errores

Nuestras API REST utilizan los siguientes códigos de error:

Código Nombre Descripción
400 Bad Request Tu consulta es inválida.
401 Unauthorized Tu API key es inválida.
403 Forbidden La data consultada se encuentra oculta sólo para administradores.
404 Not Found La data especificada a consultar no se encuentra.
429 Too Many Requests Estás haciendo muchas consultas seguidas.
500 Internal Server Error Tuvimos un problema con nuestros servidores. Por favor intenta más tarde.
503 Service Unavailable Nos encontramos temporalmente fuera de servicio. Por favor intenta más tarde.