image


indigitall API


Contenido

  1. Lista de endpoints de la API
  2. Mensajes
  3. Envío de mensajes
  4. Estadísticas
  5. Áreas
  6. Dispositivos
  7. Configuración remota del SDK
  8. Appush crear y envío múltiple

Lista de endpoints de la API

Todos los end-points están en la misma URL y siempre hay que asociar como parámetros el app_token (identifica aplicación y entorno) y access_token (para seguridad).

Para peticiones GET:
url:
api/external/{action}?app_token={id}&access_token={token}

Para peticiones POST:
url: api/external/{action}
content-type: application/json
body:

{
    app_token: {id},
    access_token: {token}
}

Todas las llamadas se realizarán bajo HTTPS.

El parámetro “action” podrá ser:

{action} Descripción
api_push_message_create​ crea un mensaje
api_push_message_list​ devuelve una lista de los mensajes creados entre las fechas indicadas
api_push_message_remove​ elimina un mensaje que todavía no ha sido enviado
api_push_send_device​ envía un mensaje a un dispositivo
api_push_send​ envía un mensaje a múltiples dispositivos
api_push_get_status​ devuelve un resumen de estadísticas del envío
api_tag_tree​ devuelve el listado de grupos de dispositivos
api_temporal_tag_create crea un grupo de dispositivos con una duración determinada
api_temporal_tag_update asocia los dispositivos a un grupo
api_temporal_tag_commit prepara un grupo para poder hacer un envío segmentado
api_update_application_conf configura el tiempo de actualización de la ubicación de los dispositivos

Mensajes

Endpoint para manejar las notificaciones.

Listar mensaje

Método: GET Endpoint: api/external/api_push_message_list

Parámetros:

Nombre tipo descripción opcional
date_from string yyyy-mm-dd no
date_to string yyyy-mm-dd no

Ejemplo de petición: api/external/api_push_message_list?date_from=2016-12-01&date_to=2017-02-01

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Lista de mensajes",
  "data": [{
    "id": 8565,
    "title": "title",
    "description": "body",
    "titleIos": "title & body for iOS9-",
    "type": 9,
    "createdAt": {
      "date": "2017-01-09 22:46:47",
      "timezone_type": 3,
      "timezone": "Europe/Berlin"
    }
  }]
}

Crear mensaje

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

WebPush

Nombre tipo descripción opcional
type = 8 number Solo se permite tipo “con imagen” para webPush no
buttonIcon = 4 number Solo se permite acción “abrir web” para webPush no
os = 9 number Para enviar solo a navegadores no
titleSafari string Título para Safari no
descriptionSafari string Cuerpo para Safari no
titleChrome string Título para Chrome y Firefox no
descriptionChrome string Cuerpo para Chrome y Firefox no
descCampaign string Descripción de la campaña para asociar al mensaje si
uri url Web que se abrirá al pinchar en la notificación no
wallpaper_thumb url Url de la imagen no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si
requireInteraction number Si es un 1, la notificación no desaparecerá hasta que el usuario no interaccione con ella (Solo WebPush) si

Ejemplo:

{
  "type": 8,
  "buttonIcon": 4,
  "os": 9,
  "titleSafari": "title",
  "descriptionSafari": "description",
  "titleChrome": "title",
  "descriptionChrome": "description",
  "descCampaign": "description campaign",
  "uri": "https://indigitall.net",
  "wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png"
}

AppPush con foto, acción “abrir app”

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush no
buttonIcon = 6 number Acción “abrir app” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Parámetros personalizados que recibe la aplicación si
wallpaper_thumb url Url de la imagen no
gifAnimated url Url del gif animado si
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo:

{
  "type": 8,
  "buttonIcon": 6,
  "os": 10,
  "title": "title",
  "description": "description",
  "titleIos": "title",
  "button": "button",
  "text": "Indigitall",
  "wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png"
}

Parámetros (appPush con foto, acción “abrir web”):

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush no
buttonIcon = 4 number Acción “abrir web” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Web que se abrirá al pinchar en la notificación no
wallpaper_thumb url Url de la imagen no
gifAnimated url Url del gif animado si
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo:

{
  "type": 8,
  "buttonIcon": 4,
  "os": 10,
  "title": "title",
  "description": "description",
  "titleIos": "titleiOS",
  "uri": "https://indigitall.net",
  "button": "button",
  "text": "text",
  "wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png"
}

Parámetros (appPush con foto, acción “llamar”):

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush no
buttonIcon = 1 number Acción “abrir web” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Número de teléfono para la llamada no
wallpaper_thumb url Url de la imagen no
gifAnimated url Url del gif animado si
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo:

{
  "type": 8,
  "buttonIcon": 1,
  "os": 10,
  "title": "title",
  "description": "description",
  "titleIos": "titleIos",
  "uri": "phone_number",
  "button": "button",
  "text": "Indigitall",
  "wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png"
}

Parámetros (appPush con foto, acción “compartir en redes sociales”):

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush no
buttonIcon = 7 number Acción “compartir en redes sociales” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Url que se va a compartir no
wallpaper_thumb url Url de la imagen no
gifAnimated url Url del gif animado si
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo:

{
  "type": 8,
  "buttonIcon": 7,
  "os": 10,
  "title": "title",
  "description": "description",
  "titleIos": "titleIos",
  "uri": "https://indigitall.net",
  "button": "button",
  "text": "text",
  "wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png"
}

Parámetros (appPush sin foto, acción “abrir app”):

Nombre tipo descripción opcional
type = 9 number Acción “abrir app” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Parámetros personalizados que recibe la aplicación si
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo:

{
  "type": 9,
  "os": 10,
  "title": "title",
  "description": "description",
  "titleIos": "titleIos"
}

Parámetros (appPush sin foto, acción “abrir web”):

Nombre tipo descripción opcional
type = 4 number Acción “abrir web” para appPush no
os = 10 number Para enviar solo a aplicación móvil no
title string Título del mensaje para iOS10+ y Android no
description string Cuerpo del mensaje para iOS10+ y Android no
titleIos string Cuerpo del mensaje para iOS9 y anteriores no
uri string Web que se abrirá al pinchar en la notificación no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si

Ejemplo: api/external/api_push_message_create

{
  "type": 4,
  "os": 10,
  "title": "Prueba",
  "description": "Esto es una prueba",
  "titleIos": "Prueba",
  "uri": "https://indigitall.net"
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Entidad Message creada",
  "data": {
    "message_id": 8567
  }
}

Eliminar mensaje

Solo se pueden eliminar aquellos mensajes que no hayan sido enviados aún, incluyendo los que tengan programación de envío a futuro.

Método: POST
Endpoint: api/external/api_push_message_remove
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
message_id number 1234 no

Ejemplo: api/external/api_push_message_remove

{
  "message_id": 2
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Mensaje eliminado correctamente"
}

Envío de Mensajes

A un dispositivo

Este método es el recomendado para hacer pruebas de envío, porque disminuye el riesgo de que un mensaje llegue a todos los usuarios si el desarrollador comete algún error (p.e. al establecer el app_token para entorno de desarrollo).

Por otro lado, no se debe usar para envío a grupos de usuarios, ya que habría que hacer muchas llamadas a este end-point (una por cada usuario).

Un mensaje que se envíe mediante este end-point, puede ser reenviado multiples veces con repetidas llamadas. No hace falta crear un mensaje nuevo cada vez que se quiera hacer un envío.

Método: POST
Endpoint: api/external/api_push_send_device
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
message_id number ID del mensaje no
device_id string ID del dispositivo. La SDK de los dispositivos móviles y navegadores genera este ID al inicializarse por primera vez. Recoger estos IDs y asociarlos al usuario, es competencia de la aplicación del desarrollador. no

Ejemplo: api/external/api_push_send_device

{
  "message_id": 2,
  "device_id": "ANDROID-MOTOROLA-07A86B23-D310-4E16-A53D-133C145CD642"
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Push enviado"
}

A un dispositivo (creación y envío)

Este método es el recomendado para hacer envíos personalizados a a dispositivos.

Por cada llamada a este end-point se creará un mensaje nuevo y se enviará al dispositivo indicado.

Método: POST
Endpoint: api/push/message/create_and_send
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
type = 8 number Solo se permite tipo “con imagen” para webPush no
buttonIcon = 4 number Solo se permite acción “abrir web” para webPush no
os = 9 number Para enviar solo a navegadores no
titleSafari string Título para Safari no
descriptionSafari string Cuerpo para Safari no
titleChrome string Título para Chrome y Firefox no
descriptionChrome string Cuerpo para Chrome y Firefox no
uri url Web que se abrirá al pinchar en la notificación no
wallpaper_thumb url Url de la imagen no
scheduled_at date Fecha de programación de envío en formato YYYY-MM-DD HH:mm:ss si
postal_code_from string Inicio del rango de códigos postales si
postal_code_to string Fin del rango de códigos postales si
postal_code string Lista de códigos postales separados por comas si
country string Lista de países separados por comas si
areas string Lista de áreas separadas por comas si
tags string custom_id de los grupos de interés por los que se quiere filtrar separados por comas si
no_tags string custom_id de los grupos de interés a excluir por los que se quiere filtrar separados por comas si
ttl number Número de horas trás las que se dejará de re-intentar enviar una notificación a un usuario sin conexión si
ctid string custom_id de la categoría del mensaje si
device_id string Id del dispositivo no

Ejemplo: api/push/message/create_and_send

{
  "app_token" : "APP_TOKEN",
  "access_token" : "ACCESS_TOKEN",
  "type" : 8,
  "title" : "Prueba MF appPush",
  "description" : "Prueba MF appPush",
  "titleIos" : "Prueba MF appPush",
  "wallpaper_thumb" : "https://smart2me.s3.amazonaws.com/thumb_148398401913223134105873cc8185fc6_indigitall-logo-1.jpg",
  "buttonIcon" : 6,
  "os" : 10,
  "text" : "Ver",
  "button" : "Abrir",
  "device_id" : "ANDROID-MOTOROLA-4666AEB2-0A4C-4971-9DC1-4EE9F5D44DB7"
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Push enviado"
  "data": {
    "message_id": 249702,
    "device_id": "ANDROID-MOTOROLA-4666AEB2-0A4C-4971-9DC1-4EE9F5D44DB7"
  }
}

A múltiples dispositivos (creación y envío)

Este método es el recomendado para hacer envíos personalizados de gran tamaño a dispositivos.

Por cada llamada a este end-point se crearán los mensajes nuevos correspondientes y se enviarán al los dispositivos indicados respectivamente.

Método: POST
Endpoint: api/push/message/create_and_send_multiple
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
messages Array Array de mensajes, se pueden usar todos los parámetros disponibles para la creación de mensajes no

Ejemplo: api/push/message/create_and_send_multiple

{
    "app_token": "APP_TOKEN",
    "access_token": "ACCESS_TOKEN",
    "messages": [
        {
            "title": "1¿Mensaje de prueba con ñ & opinión?",
            "titleIos": "¿Mensaje de prueba con ñ & opinión?",
            "description": "¿Mensaje de prueba con ñ & opinión?",
            "type": "9",
            "os": "10",
            "text": "Ver",
            "button": "Abrir",
            "device_id": "ANDROID-MOTOROLA-FEBF5F89-47A8-43FB-AD2A-5C8A3F1285D6"
        },
        {
            "title": "2¿Mensaje de prueba con ñ & opinión?",
            "titleIos": "¿Mensaje de prueba con ñ & opinión?",
            "description": "¿Mensaje de prueba con ñ & opinión?",
            "type": "9",
            "os": "10",
            "text": "Ver",
            "button": "Abrir",
            "device_id": "ANDROID-MOTOROLA-FEBF5F89-47A8-43FB-AD2A"
        }
    ]
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Envío múltiple finalizado",
    "data": {
        "messages": [
            {
                "message_id": 10537,
                "device_id": "ANDROID-MOTOROLA-FEBF5F89-47A8-43FB-AD2A-5C8A3F1285D6",
                "status_code": 200,
                "status_txt": "Push enviado"
            },
            {
                "message_id": null,
                "device_id": "ANDROID-MOTOROLA-FEBF5F89-47A8-43FB-AD2A",
                "status_code": 404,
                "status_txt": "Error, dispositivo no encontrado para esta app"
            }
        ]
    }
}

A múltiples dispositivos

Enviar a todos los dispositivos

Un mensaje que se envíe mediante los end-point de esta sección, no puede ser reenviado multiples veces con repetidas llamadas. Es necesario crear un mensaje nuevo cada vez que se quiera hacer un envío. Un mensaje que se envíe de forma masiva, queda automáticamente bloqueado para disminuir el riesgo de spam en caso de que el desarrollador cometa un error.

Método: POST
Endpoint: api/external/api_push_send
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
message_id number ID del mensaje no

Ejemplo: api/external/api_push_send

{
  "message_id": 2
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Push enviado"
}

Enviar a un grupo de dispositivos

Para realizar un envío segmentado seleccionando un subconjunto de dispositivos, hay que seguir los siguientes pasos:

  • Crear un grupo de dispositivos
  • Añadir dispositivos al grupo
  • Crear mensaje estableciendo como filtro el grupo de dispositivos creado
  • Enviar mensaje

Crear un grupo de dispositivos

Método: POST
Endpoint: api/external/api_temporal_tag_create
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
custom_id string ID del grupo no
name string Nombre descriptivo del grupo. Por defecto será la fecha de creación con formato yyyymmdd si
expiration_date string Fecha de caducidad del grupo. Debe ser una fecha posterior a la actual con formato yyyymmdd. Por defecto, 7 días después de la fecha de creación si

Ejemplo: api/external/api_temporal_tag_create

{
  "custom_id": 1234
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Entidad Tag creada",
  "data": {
    "Id": 1082,
    "custom_id": "1234"
  }
}

Añadir dispositivos al grupo

Este end-point está diseñado para cargar grandes cantidades de dispositivos en poco tiempo. Para lograr la mayor velocidad, aconsejamos realizar 20 llamadas en paralelo con 1000 dispositivos cada una.

Método: POST
Endpoint: api/external/api_temporal_tag_update
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
custom_id string ID del grupo no
operation string “A” para añadir los dispositivos al grupo y “R” para eliminarlos. Por defecto “A” si
devices Array Lista de deviceId que se quieren añadir/quitar. Máximo 1000, mínimo 1. no

Ejemplo: api/external/api_temporal_tag_update

{
  "custom_id": 1234,
  "devices": [
    "deviceId1",
    "deviceId2",
    "deviceId3"
  ]
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Dispositivos agregados correctamente",
  "data": {
    "Id": 1082,
    "custom_id": "1234"
  }
}

Commit

Cuando se haya terminado el volcado de dispositivos, es necesario hacer commit antes de poder enviar mensajes.

Método: POST
Endpoint: api/external/api_temporal_tag_commit
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
custom_id string ID del grupo no

Ejemplo: api/external/api_temporal_tag_commit

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "El grupo de dispositivos está preparado para el envío",
  "data": {
    "Id": 1082,
    "custom_id": "1234"
  }
}

Envío

Para enviar al grupo de dispositivos recien creado basta con crear un mensaje añadiendole el custom_id como parámetro tags.


Limpiar

Se puede limpiar un temporal tag para dejarlo vacío. Esta acción equivale a eliminar los dispositivos uno por uno hasta que no quede ninguno.

Método: POST
Endpoint: api/external/api_tag_clear
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
custom_id string ID del grupo no

Ejemplo: api/external/api_tag_clear

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Tag limpiado correctamente"
}


Estadísticas

Endpoint para obtener estadísticas.

Un mensaje

Una vez enviado un mensaje, se puede usar este end-point para obtener información del estado del envío.

Método: GET
Endpoint: api/external/api_push_get_status
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
message_id number ID del mensaje no

Ejemplo: api/external/api_push_get_status?message_id=1234

Ejemplo de respuesta:

{
  status_code: 200
  status_txt: "Estado del push"
  data: [
    { sent: "15" },
    { clicked: "3" }
  ]
}

Período de tiempo

Descarga información de los dispositivos que han interactuado con los distintos mensajes en un rango de fechas.

Método: GET
Endpoint: api/external/periodStatistics
Content-type: application/json

Parámetros:

Nombre tipo descripción opcional
from Date Formato dd-mm-aaaa no
to Date Formato dd-mm-aaaa no

Ejemplo: api/external/periodStatistics?from=12-05-2017&to=12-06-2017

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Success",
  "data": [
    {
      "device_id": "ANDROID-MOTOROLA-A2604A03-886E-4235-931E-F08A08524717",
      "message_id": "9937",
      "title": "Título",
      "description": "Cuerpo prueba Daniel",
      "platform": "0",
      "sent_at": null,
      "clicked_at": "2017-05-12 09:32:33",
      "button_clicked": "0"
    },
    {
      "device_id": "ANDROID-MOTOROLA-A2604A03-886E-4235-931E-F08A08524717",
      "message_id": "9959",
      "title": "Prueba MF appPush",
      "description": "Prueba MF appPush",
      "platform": "0",
      "sent_at": null,
      "clicked_at": "2017-05-16 16:07:28",
      "button_clicked": "0"
  }]
}

Áreas

Endpoint para manejar las áreas.

Crear área

Método: POST
Endpoint: api/external/api_area_create

Parámetros:

Nombre tipo descripción opcional
name string Nombre del área. no
latitude float Latitud del centro del área. no
longitude float Longitud del centro del área. no
radius number El radio del área en metros. no

Ejemplo de petición: api/external/api_area_create

{
  "name": "Madrid",
  "latitude": 40.459230,
  "longitude": -3.691189,
  "radius": 30
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Entidad Area creada",
  "data": {
    "area": "123"
  }
}

Modificar área

Método: POST
Endpoint: api/external/api_area_update

Parámetros:

Nombre tipo descripción opcional
area_id number ID del área a modificar. no
name string Nombre del área. no
latitude float Latitud del centro del área. no
longitude float Longitud del centro del área. no
radius number El radio del área en metros. no

Ejemplo de petición: api/external/api_area_update

{
  "area_id": 123,
  "name": "Madrid",
  "latitude": 40.459230,
  "longitude": -3.691189,
  "radius": 60
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Entidad Area actualizada",
  "data": {
    "area": "123"
  }
}

Eliminar área

Método: POST
Endpoint: api/external/api_area_delete

Parámetros:

Nombre tipo descripción opcional
area_id number ID del área a eliminar. no

Ejemplo de petición: api/external/api_area_delete

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Area delete",
  "data": {
    "area": "123"
  }
}

Dispositivos

Dispositivos dados de baja

Obtiene una lista de los dispositivos dados de baja en la aplicación entre dos fechas.

Método: GET
Endpoint: api/removed_devices

Parámetros:

Nombre tipo descripción opcional
date_from Date Fecha desde la que empezar a contar no
date_to Date Fecha hasta la que contar, si se omite, se usará la fecha actual si

Ejemplo de petición: api/removed_devices?app_token=XXXXXX&access_token=XXXXXXX&date_from=20170306

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Lista de dispositivos eliminados",
  "data": [
    "1131a5f5c3bc9c849b2f225297943465",
    "129c6632c041824e1199511f2619d339",
    "33b593131de3b430309d461af27d112b",
    "3743792445a31262cd17121491682462",
  ]
}

Configuración remota del SDK

Este end-point permite cambiar algunos comportamientos del SDK de forma instantánea, sin necesidad de volver a publicar en los markets.

Actualmente solo se puede cambiar la frecuencia de tracking, pero en próximas versiones se añadirán más parámetros de configuración.

Frecuencia de tracking de los dispositivos

Método: POST
Endpoint: api/external/api_update_application_conf

Parámetros:

Nombre tipo descripción opcional
time_update number Número de minutos para actualizar la posición de los dispositivos, el mínimo permitido es de 5 minutos y el máximo de 99 minutos. Por defecto 20 minutos. no

Ejemplo de petición: api/external/api_update_application_conf

{
  "time_update": 30
}

Ejemplo de respuesta:

{
  "status_code": 200,
  "status_txt": "Entidad Application actualizada",
  "data": {
    "application": "my_app",
    "time_update": "20"
  }
}

Appush crear y envío múltiple

Este end-point permite la creación y el envío multiple de notificaciones.

Appush con imagen, acción interactiva

End-point para notificaciones con imagen y opciones seleccionables.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush No
buttonIcon = 11 number Acción “interactiva” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
wallpaper_thumb string Url de la imagen No
iosCategory = 1 number Parámetro necesario en las apppush interactivas No
text string Texto botón 1 (Sí) asociado a la url1 No
button string Texto botón 2 (No) asociado a la url2 No
url1 string Web que se abrirá al pinchar en el botón 1 No
url2 string Web que se abrirá al pinchar en el botón 2 No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 8,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png",
"buttonIcon": 11,
"url1": "https://indigitall.net",
"url2": "https://indigitall.net",
"os": 10,
"text": "Sí",
"button": "No",
"iosCategory": 1
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507665
    }
}

Appush sin imagen, acción interactiva

End-point para notificaciones sin imagen y opciones seleccionables.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 11 number Tipo “interactivo sin imagen” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
iosCategory = 1 number Parámetro necesario en las apppush interactivas No
text string Texto botón 1 (Sí) asociado a la url1 No
button string Texto botón 2 (No) asociado a la url2 No
url1 string Web que se abrirá al pinchar en el botón 1 No
url2 string Web que se abrirá al pinchar en el botón 2 No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 11,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"url1": "https://indigitall.net",
"url2": "https://indigitall.net",
"os": 10,
"text": "Sí",
"button": "No",
"iosCategory": 1
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507666
    }
}

Appush con imagen, acción abrir aplicación

End-point para notificaciones con imagen y enlace a una aplicación.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush No
buttonIcon = 6 number Acción “abrir app” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
wallpaper_thumb string Url de la imagen No
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) No
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) No
uri string Parámetros personalizados que recibe la aplicación No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 8,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png",
"buttonIcon": 6,
"os": 10,
"text": "Texto de Prueba MF appPush",
"button": "Abrir",
"uri": "https://indigitall.net"
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507668
    }
}

Appush sin imagen, acción abrir aplicación

End-point para notificaciones sin imagen y enlace a una aplicación.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 9 number Tipo “sin imagen” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
uri string Parámetros personalizados que recibe la aplicación No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 9,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"os": 10,
"uri": "https://indigitall.net"
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507670
    }
}

Appush con imagen, acción abrir web

End-point para notificaciones con imagen y enlace a una web.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 8 number Tipo “con imagen” para appPush No
buttonIcon = 4 number Acción “abrir app” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
wallpaper_thumb string Url de la imagen No
text string Título de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) No
button string Texto del botón de la barra inferior (para SDK Indigitall inferior a v2.2.0 Android y v2.0.0 iOS) No
uri string Parámetros personalizados que recibe la aplicación No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 8,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"wallpaper_thumb": "https://pruebas.indigitall.net/bundles/smart2mebackend/images/logo/azul_l.png",
"buttonIcon": 4,
"os": 10,
"text": "Texto de Prueba MF appPush",
"button": "Abrir",
"uri": "https://indigitall.net"
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507671
    }
}

Appush sin imagen, acción abrir web

End-point para notificaciones sin imagen y enlace a una web.

Método: POST
Endpoint: api/external/api_push_message_create

Parámetros:

Nombre tipo descripción opcional
type = 4 number Tipo “sin imagen” para appPush No
os = 10 number Para enviar solo a aplicación móvil No
title string Título del mensaje para iOS10+ y Android No
description string Cuerpo del mensaje para iOS10+ y Android No
titleIos string Cuerpo del mensaje para iOS9 y anteriores No
uri string Parámetros personalizados que recibe la aplicación No

Ejemplo de petición: api/external/api_push_message_create

{
"app_token": "APP_TOKEN",
"access_token": "ACCESS_TOKEN",
"type": 4,
"title": "Titulo Prueba MF appPush",
"description": "Cuerpo Prueba MF appPush",
"titleIos": "Cuerpo Prueba MF appPush",
"os": 10,
"uri": "https://indigitall.net"
}

Ejemplo de respuesta:

{
    "status_code": 200,
    "status_txt": "Entidad Message creada",
    "data": {
        "message_id": 1507672
    }
}