API de eventos #
(se utiliza para enviar eventos de «Primera apertura de la aplicación» y «Apertura de la aplicación»)
Autenticación:
Autenticamos cada solicitud enviada al servidor de Tenjin utilizando la clave del SDK de Tenjin.
- como parámetro «api_key» en la URL de la solicitud, o
- utilizando el nombre de usuario y dejando el campo de la contraseña en blanco en autenticación de acceso básica
URL POST o GET:
https://track.tenjin.com/v0/event
Una respuesta de {“code”:200} indica que la solicitud se ha realizado correctamente.
Parámetros:
*: obligatorio
| Parámetro | Tipo | Descripción | Ejemplo |
api_key* | Cadena | Clave SDK de Tenjin generada para cada aplicación. La encontrarás en la página de la aplicación. Si, en cambio, utilizas la autenticación básica, este parámetro no es necesario. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin ha generado un identificador específico para la instalación de la aplicación.Disponible mediante llamadas de retorno S2S o el SDK (SDK Android,SDK de iOS,SDK de Unity) | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Cadena | El identificador publicitario sin procesar del dispositivo. En el caso de los usuarios que hayan optado por no participar, puede estar vacío o contener solo ceros. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*obligatorio para iOS) | Cadena | El identificador del proveedor | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Cadena | ID de paquete de la aplicación. | com.tenjin.wordfinder |
platform* | Cadena | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Cadena | 1 para «sí», 0 para «no». | 1 |
os_version* | Cadena | Para Android: String os_version = String.valueOf(Build.VERSION.SDK_INT) Para iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version | Número flotante, decimal | La versión de tu aplicación Para Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Para iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Cadena | server | server |
country | Cadena | La norma ISO sobre códigos de país de configuración regional (véase, por ejemplo, la documentación de Apple). | US |
ip_address | Cadena | La dirección IP del usuario. Se utiliza para determinar el país. Si falta este parámetro, utilizaremos la dirección IP del encabezado HTTP. | 71.165.85.114 |
ad_user_data | Booleano | Parámetro «Signal» de consentimiento del usuario de Google: «consent» indica la transmisión a terceros de datos a nivel de usuario con fines publicitarios; «1» significa que se ha otorgado el consentimiento; «0», que se ha denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
ad_personalization | Booleano | Parámetro «Google User Consent Signal»: «consent» para anuncios personalizados1; «0» para consentimiento denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
referrer | Cadena | Recaudado para las instalaciones de Android registradas | campaign_id%3D |
os_version_release (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Para iOS: [[UIDevice currentDevice] systemVersion] | 8.0.1 |
build_id (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String build = String.valueOf(Build.ID) Para iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String locale = Locale.getDefault().toString() Para iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String dispositivo = Build.MODEL; Para iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
odm_info | Cadena | Esta es la cadena necesaria para ejecutar la atribución probabilística a través de Google Ads para iOS. Primero tendrás que obtenerla del SDK de ODM. | AB7Dr_EJBWQ_lT_l1V0z5xqDB9MnLGbINV5r2w1jhVTITlm0IK7QE16Bf2sIjI_twjeMoQl3SedWsZiPtijTZ2DkUYI_H9RI6lkStqbwmBVsnu_QH4hfkuJeMwhFEzBEJCz3a8cdD2U1MRd1jwn2b_hbaHsbVO3NlE0xsExo5HtcuWmsaMdddKn9vFRPtyPQvSLjSl4AlsdyAaYg9Hw-FyYfm9eAbqrxy3NXkZtjJeXRThMG6MTNJA |
customer_user_id | Cadena | ID de usuario personalizado para el evento | jdabGcerT32_d |
API de compras #
(se utilizará para enviar eventos de compra)
Autenticación:
Autenticamos cada solicitud enviada al servidor de Tenjin utilizando la clave del SDK de Tenjin.
- como parámetro «api_key» en la URL de la solicitud, o
- utilizando el nombre de usuario y dejando el campo de la contraseña en blanco en autenticación de acceso básica
URL POST o GET:
https://track.tenjin.com/v0/purchase
Parámetros:
*: obligatorio
| Parámetro | Tipo | Descripción | Ejemplo |
api_key* | Cadena | Clave SDK de Tenjin generada para cada aplicación. La encontrarás en la página de la aplicación. Si, en cambio, utilizas la autenticación básica, este parámetro no es necesario. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin ha generado un identificador específico para la instalación de la aplicación. Disponible a través de las devoluciones de llamada S2S o el SDK.SDK Android,SDK de iOS,SDK de Unity | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Cadena | El identificador publicitario sin procesar del dispositivo. En el caso de los usuarios que hayan optado por no participar, puede estar vacío o contener solo ceros. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*obligatorio para iOS) | Cadena | El identificador del proveedor | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Cadena | ID de paquete de la aplicación. | com.tenjin.wordfinder |
platform* | Cadena | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Cadena | 1 para «sí», 0 para «no». | 1 |
os_version* | Cadena | Para Android: String.valueOf(Build.VERSION.SDK_INT) Para iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (*obligatorio para el seguimiento de Google Ads) | Número flotante, decimal | La versión de tu aplicación Para Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Para iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Cadena | server | server |
ip_address | Cadena | La dirección IP del usuario. Se utiliza para identificar el país a efectos de los parámetros de consentimiento de los usuarios de Google DMA. Si falta este parámetro, utilizaremos la dirección IP del encabezado HTTP. | 71.165.85.114 |
ad_user_data | Booleano | Parámetro «Signal» de consentimiento del usuario de Google: «consent» indica la transmisión a terceros de datos a nivel de usuario con fines publicitarios; «1» significa que se ha otorgado el consentimiento; «0», que se ha denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
ad_personalization | Booleano | Parámetro «Google User Consent Signal»: «consent» para anuncios personalizados1; «0» para consentimiento denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
postcut | Cadena | 1 por enviar las compras tras el recorte de la plataforma | 1 |
product_id* | Cadena | Nombre único del producto adquirido. | tienda_de_monedas |
price* | Número flotante, decimal | El precio unitario del artículo adquirido en la unidad monetaria estándar (por ejemplo, el USD se expresa en dólares). | 0.99 |
quantity* | Número entero | El número de unidades compradas. | 1 |
country | Cadena | La norma ISO sobre códigos de país de configuración regional (véase, por ejemplo, la documentación de Apple). | US |
currency* | Cadena | Los códigos de moneda ISO utilizados por Apple y Google (véase, por ejemplo, la documentación de Apple). | USD |
os_version_release (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Para iOS: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String build = String.valueOf(Build.ID) Para iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String locale = Locale.getDefault().toString() Para iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*obligatorio para el seguimiento de Google Ads) | Cadena | Para Android: String dispositivo = Build.MODEL; Para iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
customer_user_id | Cadena | ID de usuario personalizado para el evento | jdabGcerT32_d |
tracking_status(Imprescindible para ejecutar campañas de Meta AEM en iOS) | Cadena | número entero correspondiente al dispositivo iOS Estado de ATT. 0 => no se ha determinado, 1 => restringido, 2 => denegado, 3 => autorizado2 | 2 |
Si no dispones de un recibo o una firma válidos, no añadas los parámetros a la URL de la solicitud. Aún así, podemos mostrar la compra sin recibo ni firma a través de S2S en el panel de control..
API de eventos personalizados #
(se utilizará para enviar todos los eventos personalizados)
Autenticación:
Autenticamos cada solicitud enviada al servidor de Tenjin utilizando la clave del SDK de Tenjin.
- como parámetro «api_key» en la URL de la solicitud, o
- utilizando el nombre de usuario y dejando el campo de la contraseña en blanco en autenticación de acceso básica
URL POST o GET:
https://track.tenjin.com/v0/event
Parámetros:
*: obligatorio
| Parámetro | Tipo | Descripción | Ejemplo |
api_key* | Cadena | Clave SDK de Tenjin generada para cada aplicación. La encontrarás en la página de la aplicación. Si, en cambio, utilizas la autenticación básica, este parámetro no es necesario. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin ha generado un identificador específico para la instalación de aplicaciones. Está disponible a través de las devoluciones de llamada S2S o el SDK.SDK Android,SDK de iOS,SDK de Unity | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Cadena | El identificador publicitario sin procesar del dispositivo. En el caso de los usuarios que hayan optado por no participar, puede estar vacío o contener solo ceros. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*obligatorio para iOS) | Cadena | El identificador del proveedor | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Cadena | ID de paquete de la aplicación. | com.tenjin.wordfinder |
platform* | Cadena | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Cadena | 1 para «sí», 0 para «no». | 1 |
os_version* | Cadena | Para Android: String.valueOf(Build.VERSION.SDK_INT) Para iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (* obligatorio para Google Ads) | Número flotante, decimal | La versión de tu aplicación Para Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Para iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Cadena | server | server |
ip_address | Cadena | La dirección IP del usuario. Se utiliza para determinar el país. Si falta este parámetro, utilizaremos la dirección IP del encabezado HTTP. | 71.165.85.114 |
ad_user_data | Booleano | Parámetro «Signal» de consentimiento del usuario de Google: «consent» indica la transmisión a terceros de datos a nivel de usuario con fines publicitarios; «1» significa que se ha otorgado el consentimiento; «0», que se ha denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
ad_personalization | Booleano | Parámetro «Google User Consent Signal»: «consent» para anuncios personalizados1; «0» para consentimiento denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. | 1 |
event* | Cadena | Este es el nombre del evento: nombre del evento (por ejemplo, “tutorial_complete”, “registration_complete” o “level_1_complete”) | event_complete |
value | Cero, número entero | Valor vinculado al nombre del evento (arriba). Se puede utilizar para calcular valores relacionados con el nombre de un evento. (Por ejemplo, si se quiere calcular la cantidad de moneda virtual correspondiente a un evento concreto). | 10 |
os_version_release (*obligatorio para Google Ads) | Cadena | Para Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Para iOS: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*obligatorio para Google Ads) | Cadena | Para Android: String build = String.valueOf(Build.ID) Para iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*obligatorio para Google Ads) | Cadena | Para Android: String locale = Locale.getDefault().toString() Para iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*obligatorio para Google Ads) | Cadena | Para Android: String dispositivo = Build.MODEL; Para iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
customer_user_id | Cadena | ID de usuario personalizado para el evento | jdabGcerT32_d |
tracking_status(Imprescindible para ejecutar campañas de Meta AEM en iOS) | Cadena | número entero correspondiente al dispositivo iOS Estado de ATT. 0 => no se ha determinado, 1 => restringido, 2 => denegado, 3 => autorizado | 2 |