Raw data de transmisión de Push API (V2)

En resumen: Transmite los datos de eventos de atribución a tus puntos de conexión del lado del servidor. 

Push_API_V2-01.png

Push API V2.0

Acerca de la Push API

La Push API transmite los mensajes de eventos de atribución a tus puntos de conexión del lado del servidor en cuanto los datos están disponibles. Esto te permite seguir las trayectorias de los usuarios a través de varios entornos y puntos de contacto.

El volumen de datos enviados a los puntos de conexión se puede reducir limitando lo siguiente:

  • Los tipos de tema de mensajes y eventos in-app seleccionados.
  • Los campos seleccionados.

Estas son otras soluciones de entrega de datos de AppsFlyer que pueden interesarte:

Tipos de mensajes de evento

Tipos de mensajes de evento disponibles
(✓ = disponible, - no corresponde)

Tipo de atribución

Tema

Campo conversion_type

No orgánico

(campo campaign_type)

Orgánica (campo campaign_type)
La adquisición de usuarios Instalación(*) sin relación UA Orgánico
Adquisición de usuarios  Instalar eventos in-app sin relación UA Orgánico

Retargeting

Re-engagement Re-engagement Retargeting -
Retargeting  Eventos in-app de recaptación Re-engagement Retargeting -
Retargeting  Reatribución  Reinstalación Retargeting -
Adquisición de usuarios  Reinstalación Reinstalación UA Orgánico
Retargeting Eventos in-app de reatribución Reinstalación Retargeting -
* Algunas instalaciones relacionadas con la atribución por impresiones se atribuyen a la fuente de medios restringida.

Estructura del mensaje y campos exclusivos

El mensaje de la Push API depende del método HTTP:

  • GET: los parámetros de datos se agregan a la secuencia de URL
  • POST: los parámetros de datos se incluyen en el cuerpo del mensaje en formato JSON
  • Los siguientes ejemplos contienen campos nulos o vacíos. Los postbacks reales no tienen campos vacíos ni nulos.

Campos disponibles

  • Los mensajes de la Push API contienen los campos que se describen aquí.
  • De vez en cuando se agregarán campos adicionales, a medida que estos se agreguen a la plataforma de AppsFlyer. Tus mecanismos de importación/análisis deberían tenerlo en cuenta. 

Formato de los campos de marca de tiempo:

  • Para campos de marca de tiempo en UTC: formato aaaa-mm-dd hh:mm:ss.sss. Por ejemplo, se muestra como 2019-09-17 00:09:25.123 Un evento tuvo lugar a las 14:00 hora de Tokio. La hora del evento se convierte a UTC, que es a las 05:00. La hora registrada es la de UTC. 
  • Para campos de marca de tiempo en la zona horaria seleccionada: formato yyyy-mm-dd hh:mm:ss.sss±th:tm. Por ejemplo 2019-01-20 04:51:16.000+0000. Un evento tuvo lugar a las 14:00 hora de Tokio. La hora del evento que se muestra se registra como 14:00+09:00. 09:00 es la zona horaria de Tokio. 
Campos exclusivos de la Push API (en relación con otras herramientas de entrega de datos)
Nombre para mostrar Nombre V2.0 Observaciones 
La moneda seleccionada. selected_currency Esta es la configuración vigente a nivel aplicación en el momento en que se envía el mensaje API.
Ingresos en la divisa seleccionada revenue_in_selected_
currency
 
Costo en la divisa seleccionada cost_in_selected_
currency
 
Zona horaria seleccionada para la hora de descarga del dispositivo device_download_time_selected_
timezone
 
Zona horaria seleccionada para hora de toque atribuido attributed_touch_time_
selected_timezone
 
Zona horaria seleccionada para hora de instalación install_time_selected_
timezone
 
Zona horaria seleccionada para hora del evento event_time_selected_
timezone
 
Zona horaria seleccionada selected_timezone Esta es la configuración vigente a nivel aplicación en el momento en que se envía el mensaje API.

Configuración de Push API

 Precaución

No uses la Push API para enviar datos a terceros porque:

  • Al hacerlo puedes estar infringiendo normas de privacidad, como la CCPA, si el usuario eligió no enviar sus datos a terceros.
  • Algunas fuentes de medios restringen cómo se usan y cómo se comparten con terceros, o ambas, los datos de nivel de usuario que proporcionan. Asegúrate de cumplir con los términos de uso de la fuente de medios.
    Por ejemplo, Facebook, Twitter, Snapchat, Pinterest.

Para configurar la Push API, completa la lista de acciones.

Lista de acciones de la Push API
Acción n.º  Para configurar un punto de conexión nuevo
1

Completa la lista de verificación de requisitos del lado del servidor.

2

Planifica la configuración del punto de conexión utilizando la lista de verificación de planificación.

3

Configura el punto de conexión.

Requisitos del lado del servidor (tu servidor)

Asegúrate de que tu servidor cumpla con los requisitos que aquí se enumeran. 

Requisitos del lado del servidor
URL de punto de conexión
  • Nombre de dominio válido
  • El mismo punto de conexión se puede usar una vez por aplicación. 
  • Número máximo de puntos de conexión por aplicación: 6
Código de respuesta de punto de conexión Al recibir un mensaje, el punto de conexión debe devolver un código de estado HTTP 200.
Agregar los servidores de AppsFlyer a la lista de permitidos

Agrega a la lista de permitidos las direcciones IP de los servidores de AppsFlyer en tus firewalls y sistemas de seguridad para garantizar la comunicación con el punto de conexión.

Versiones de TLS
Puertos 

Puertos: 80, 443

Lista de verificación de planificación de Push API

  • Utiliza la siguiente lista de verificación para planificar la configuración del punto de conexión. Los números en la figura coinciden con los números de fila en la lista de verificación.

Punto de conexión 

PushAPI_us-en.png

Tabla de planificación de los puntos de conexión

No.

Configuración

Detalles Tu configuración
1

Método

POST o GET  

2

URL de punto de conexión

-  
3 Tipos de mensajes de evento
  • Selecciona al menos un tipo de mensaje de evento.
  •  Para seleccionar mensajes de eventos in-app, debes atribuir un evento in-app. Si no lo haces, no podrás seleccionar mensajes de eventos in-app. 

InappSelectionDisabled_us-en.png

 

4

Campos 

La lista de campos es común para todos los tipos de mensajes.

Selecciona los campos requeridos.

  • Los campos más comunes están ya están seleccionados de forma predeterminada.
  • No enviamos campos vacíos o nulos
 
5

Tipo de eventos in-app

 

Filtra por eventos in-app para reducir el tráfico enviado a tu punto de conexión.

  • Selecciona uno o más, o todos los eventos in-app. Nota: Si el evento no aparece en la lista, búscalo. 
  • Si seleccionas todo, entonces los eventos in-app nuevos se agregan automáticamente. 
  • Solo puedes seleccionar un evento in-app después de que se haya atribuido al menos una vez. 
  • mceclip1.png
 
Facebook ¿Deseas enviar datos de usuarios atribuidos a Facebook? 
  • Para recibir datos de Facebook, asegúrate de haber aceptado los términos de servicio de Facebook. 

 

Configurar y gestionar puntos de conexión

  • Esta sección abarca los procedimientos para agregar, probar, modificar y eliminar puntos de conexión. 
  • Solo el administrador puede realizar cambios en la configuración de la API. Los miembros del equipo pueden visualizar la configuración de la Push API.
AppsFlyerAdmin_us-en.pngPara agregar un punto de conexión de Push API:
  1. Ve a Integración > Acceso a la APIDesplázate hacia abajo hasta la sección Push API.
    Se muestra la sección Push API.
  2. Haz clic en Agregar punto de conexión. 
  3. Selecciona un método HTTP: POST o GET
  4. Ingresa la URL del punto de conexión (endpoint). Si recibes el mensaje de que esta URL no es segura, comunícate con el soporte técnico de AppsFlyer.
  5. Selecciona uno o más tipos de eventos. Nota: Si los mensajes de eventos in-app están deshabilitados, significa que no se han atribuido eventos in-app hasta el momento. 
  6. Selecciona los campos para completar el mensaje de la Push API. Nota:
    • Los campos obligatorios siempre se envían: ID de la aplicación, nombre del evento, hora del evento, identificador de anunciante (IDFA) para iOS o ID de publicidad para Android.
    • Usa los controles representados en la figura a continuación para seleccionar campos opcionales. 

      PushAPIFieldSelect1.jpg

      • Se encuentran preseleccionados aquellos campos seleccionados con mayor frecuencia. Es posible eliminar toda la selección.
      • Selecciona campos opcionales según sea necesario.
      • Usa Borrar todo para desactivar todos los campos opcionales seleccionados.
      • No enviamos campos nulos o vacíos y la clave asociada. Ten esto en cuenta al planificar tus procedimientos de análisis/importación.
  7. Selecciona uno o más (hasta 52 eventos) o  Todos los eventos in-app.
    • La lista se completa por tipos de eventos que ya se han atribuido. Si falta un evento, envía un evento que contenga este tipo utilizando un dispositivo de prueba. 
  8. Haz clic en Guardar
    La Push API está ahora activa
    Los datos de conversión se envían al punto de conexión.
  9. Prueba el punto de conexión utilizando el procedimiento que sigue.
  10. Si deseas recibir datos atribuidos a Facebook, debes primero haber aceptado los términos de servicio de Facebook. 

Para probar el punto de conexión:

  1. Haz clic en Enviar prueba. 
    Aparece un mensaje de resultado de la prueba debajo del botón Enviar prueba
    Se envía un mensaje de prueba al punto de conexión. Si la prueba falla, asegúrate de que las direcciones IP de AppsFlyer estén en la lista de permitidos
  2. Comprueba que el punto de conexión recibió el mensaje de prueba.
    A continuación se incluye una copia del mensaje enviado.

Prueba de los mensajes API POST y GET

El siguiente mensaje POST se envía como mensaje de prueba

{                  
  "idfv": "123456789",
  "device_category": "phone",
  "af_sub1": "sub1-12345",
  "customer_user_id": "Customer User ID",
  "is_lat": null,
  "contributor_2_af_prt": "attributionagency",
  "bundle_id": "bundleIdentifier_test",
  "gp_broadcastreferrer": "",
  "contributor_2_touch_time": "2019-12-31 00:05:42.805",
  "contributor_3_touch_type": "click",
  "event_source": "SDK",
  "af_cost_value": "10",
  "contributor_1_match_type": "id_matching",
  "app_version": "app_version",
  "contributor_3_af_prt": "attributionagency",
  "custom_data": null,
  "contributor_2_touch_type": "click",
  "gp_install_begin": "2019-12-31 00:07:14.000",
  "city": "Redmond",
  "amazon_aid": "9173fe74-0578-4658-a461-ebb0b4fce6d6",
  "gp_referrer": "af_tranid=000712-31122019254604&pid=pdsagency_int&c=pushapi_v2",
  "af_cost_model": "CPI",
  "af_c_id": "cid12345",
  "attributed_touch_time_selected_timezone": "2019-12-31 00:06:32.891+0000",
  "selected_currency": "EUR",
  "app_name": "com.pds.pushapi2.v2.transparent.com",
  "install_time_selected_timezone": "2019-12-31 00:07:14.961+0000",
  "postal_code": "98052",
  "wifi": false,
  "install_time": "2019-12-31 00:07:14.961",
  "operator": "ORANGE",
  "attributed_touch_type": "click",
  "af_attribution_lookback": "25d",
  "keyword_match_type": null,
  "af_adset_id": "adset12345",
  "device_download_time_selected_timezone": "2019-12-31 00:07:14.961+0000",
  "contributor_2_media_source": "contrib2",
  "contributor_2_match_type": "id_matching",
  "api_version": "2.0",
  "attributed_touch_time": "2019-12-31 00:06:32.891",
  "revenue_in_selected_currency": null,
  "is_retargeting": false,
  "country_code": "US",
  "gp_click_time": "2019-12-31 00:07:12.000",
  "contributor_1_af_prt": "attributionagency",
  "match_type": "id_matching",
  "appsflyer_id": "e126a3b3-3406-4196-a964-563c9ae44ff8",
  "dma": "819",
  "http_referrer": "https://www.amazon.com/gp/bestsellers/gift-cards/ref=sv_gc_0",
  "af_sub5": "sub5-12345",
  "af_prt": "attributionagency",
  "event_revenue_currency": null,
  "store_reinstall": null,
  "install_app_store": null,
  "media_source": "pdsagency_int",
  "deeplink_url": null,
  "campaign": "pushapi_v2",
  "af_keywords": "keywords12345",
  "region": "NA",
  "cost_in_selected_currency": "1000",
  "event_value": null,
  "ip": "20.168.174.166",
  "oaid": null,
  "event_time": "2019-12-31 00:07:14.961",
  "is_receipt_validated": null,
  "contributor_1_campaign": "camp1",
  "af_sub4": "sub4-12345",
  "imei": null,
  "contributor_3_campaign": "camp3",
  "event_revenue_usd": null,
  "af_sub2": "sub2-12345",
  "original_url": "https://app.appsflyer.com/com.pds.pushapi2.v2.transparent.com?c=pushapi_v2&pid=pdsagency_int&clickid=click12345&af_ref=000632-31122019&advertiserId=9173fe74-0578-4658-a461-ebb0b4fce6d6&android_id=3e06b4caebc19356&sha1_android_id=sha12345&af_siteid=136396&af_sub_siteid=sub_siteid12345&af_c_id=cid12345&af_adset=adset12345&af_adset_id=adset12345&af_ad=ad12345&af_ad_id=adid12345&af_ad_type=adtype12345&af_channel=channel12345&af_keywords=keywords12345&is_retargeting=False&af_dp=ebay%3A%2F%2Fshoppingcart&af_web_dp=www.dp.com&af_sub1=sub1-12345&af_sub2=sub2-12345&af_sub3=sub3-12345&af_sub4=sub4-12345&af_sub5=sub5-12345&af_cost_model=CPI&af_cost_value=10&af_cost_currency=EUR&sha1_advertising_id=sha12345&sha1_el=sha12345&af_installpostback=false&af_force_dp=true&af_chrome_lp=true&af_ec=1&af_click_lookback=25d&af_viewthrough_lookback=1h&af_reengagement_window=2d&af_prt=attributionagency",
  "contributor_2_campaign": "camp2",
  "android_id": "3e06b4caebc19356",
  "contributor_3_media_source": "contrib3",
  "af_adset": "adset12345",
  "af_ad": "ad12345",
  "state": "WA",
  "network_account_id": null,
  "device_type": "Samsung::SH-220",
  "idfa": null,
  "retargeting_conversion_type": null,
  "af_channel": "channel12345",
  "af_cost_currency": "EUR",
  "contributor_1_media_source": "contrib1",
  "keyword_id": null,
  "device_download_time": "2019-12-31 00:07:14.961",
  "contributor_1_touch_type": "click",
  "af_reengagement_window": "2d",
  "af_siteid": "136396",
  "language": "English",
  "app_id": "com.pds.pushapi2.v2.transparent.com",
  "contributor_1_touch_time": "2019-12-31 00:06:07.847",
  "event_revenue": null,
  "af_ad_type": "adtype12345",
  "carrier": "carrier",
  "event_name": "install",
  "af_sub_siteid": "sub_siteid12345",
  "advertising_id": "9173fe74-0578-4658-a461-ebb0b4fce6d6",
  "os_version": "6.0",
  "platform": "android",
  "af_sub3": "sub3-12345",
  "contributor_3_match_type": "id_matching",
  "selected_timezone": "UTC",
  "af_ad_id": "adid12345",
  "contributor_3_touch_time": "2019-12-31 00:05:17.757",
  "user_agent": "Dalvik/1.6.0 (Linux; U; Android 6.0; Redmi Note 4 Build/KOT49I.F320S22g",
  "is_primary_attribution": null,
  "sdk_version": "v4.8.0",
  "event_time_selected_timezone": "2019-12-31 00:07:14.961+0000"
}

Cambiar un punto de conexión

AppsFlyerAdmin_us-en.png Para modificar la configuración de los puntos de conexión: 

  1. Ve a Integración > Acceso a API.
    Desplázate hacia abajo hasta la sección Push API.
    Se muestra la sección Push API.
  2. Localiza el punto de conexión a modificar.
  3. Haz las modificaciones.
  4. Haz clic en Guardar.

Eliminar un punto de conexión

AppsFlyerAdmin_us-en.pngPara eliminar un punto de conexión:

  1. Ve a Integración > Acceso a API.
    Desplázate hacia abajo hasta la sección de acceso a Push API. 
  2. Haz clic en Eliminar punto de conexión.
  3. Haz clic en Guardar. Se elimina el punto de conexión. 

Migrar un punto de conexión de V1.0 a V2.0

AppsFlyerAdmin_us-en.pngPara migrar un punto de conexión de V1.0 a V2.0:

  1. Ve a Integración > Acceso a la APIDesplázate hacia abajo hasta la sección Push API.
    Se muestra la sección Push API.
  2. Localiza el punto de conexión que deseas migrar.
  3. Selecciona los campos para completar el mensaje de la Push API.
    • Los campos obligatorios siempre se envían: ID de la aplicación, nombre del evento, hora del evento, identificador de anunciante (IDFA) para iOS o ID de publicidad para Android.
    • Usa los controles representados en la figura a continuación para seleccionar campos opcionales. 

      PushAPIFieldSelect1.jpg

      • Se encuentran preseleccionados aquellos campos seleccionados con mayor frecuencia. Es posible eliminar toda la selección.
      • Selecciona campos opcionales según sea necesario.
      • Usa Borrar todo para desactivar todos los campos opcionales seleccionados.
      • En el futuro, planeamos dejar de enviar campos nulos o vacíos y las claves asociadas. Ten esto en cuenta al planificar tus procedimientos de análisis/importación.
  4. Selecciona uno o más (hasta 52 eventos) o  Todos los eventos in-app.
    • La lista se completa por tipos de eventos que ya se han atribuido. Si falta un evento, envía un evento que contenga este tipo utilizando un dispositivo de prueba. 
  5. Haga clic en Guardar
    • La Push API se ha migrado. 
    • Los datos de conversión continúan enviándose al punto de conexión.

Mensajes de error del punto de conexión

Síntoma: El mensaje esta URL no es segura aparece cuando configuras la URL del punto de conexión.

Acción requerida: Comunícate con el soporte técnico de AppsFlyer; incluye el ID de aplicación, la URL del punto de conexión y una captura de pantalla del mensaje de error.  

Resolución de problemas, limitaciones y características

Error al enviar el mensaje de prueba

Si no recibes el mensaje de prueba y restringes el acceso a tus servidores por dirección IP: asegúrate de que todas las direcciones IP de AppsFlyer estén en la lista de permitidos

Duplicar eventos in-app de retargeting

Los eventos in-app de retargeting se duplican cuando se lleva a cabo un evento de compra como parte de una campaña de retargeting durante la ventana de re-engagement de la UA. Esto se hace para atribuir ingresos tanto a la fuente de medios de la UA como a la fuente de medios de retargeting. 

Solo obtendrás un evento duplicado si has habilitado ambos:

  • Instalar eventos in-app
  • eventos in-app de retargeting 

Los eventos in-app atribuidos a la fuente de medios de la UA (eventos in-app de instalación) como parte de una campaña de retargeting tienen el campo is_primary_attribtuion=false. 

 Ejemplo

  • Un usuario instala example_app, que se atribuye a ua_network
  • Más tarde, el usuario vuelve a involucrarse con la campaña de retargeting de example_app en retar_network y realiza una compra.

El evento de compra in-app se envía dos veces con los siguientes detalles:

Campos de eventos in-app de retargeting
Tipo de evento Fuente de medios is_retargeting re_targeting conversion_type is_primary_
attribution 
Eventos in-app de instalación ua_network True re-engagement o reatribución  False
Eventos In-App de Retargeting retar_network True re-engagement o reatribución  True


¿Cómo identifico los eventos de retargeting duplicados?

El campo booleano is_primary_attribution identifica las fuentes de medios primarias y secundarias en las campañas de retargeting:

  • Falso: identifica la fuente de medios de la UA original. Nota: Este es el único escenario en el que el valor es falso. 
  • Verdadero: identifica la fuente de medios de re-engagement 

Esto se debe al motivo siguiente: si un usuario, como resultado de una campaña de retargeting, se involucra con la campaña, se abre una ventana de re-engagement. La fuente de medios de re-engagement se considera la fuente de medios primaria cuando la ventana de re-engagement está abierta y la fuente de la UA es secundaria. Una vez que la ventana se cierra, la fuente de medios de la UA original vuelve a ser primaria. 

La selección de mensajes de eventos in-app está deshabilitada

InappSelectionDisabled_us-en.png

  • Los mensajes de eventos in-app solo se pueden seleccionar después de que se haya atribuido un evento in-app.
  • Usa un dispositivo de prueba para generar un evento in-app o usa la API S2S para hacerlo manualmente. 

Datos faltantes de Facebook

Por defecto, Facebook no publica los raw data a nivel de usuario, salvo que aceptes los términos de servicio de Facebook. 
Al hacerlo, los datos de nivel de usuario procedentes de Facebook y otras fuentes de raw data se envían a través de la Push API.

Faltan mensajes push y CloudFront

¿Estás utilizando Amazon CloudFront como punto de conexión? Si es así, verifica si CloudFront está rechazando el mensaje con el código de rechazo 421. Si este es el caso, consulta Elegir cómo CloudFront atiende las solicitudes HTTPS

Limitaciones y características

Características
Característica Observaciones 
Redes de publicidad No apto para el uso por parte de redes de publicidad. 
Agencias No apto para el uso por parte de agencias.
Zona horaria específica de la aplicación Compatible
Divisa específica de la aplicación  Compatible
Limitaciones de tamaño No correponde
Orgánica 
No orgánico
Actualización de los datos Continua 
Historial de datos No se admite. Los datos del evento se envían después de configurar la Push API. Si necesitas raw data histórico, utiliza la Pull API. 
Acceso de miembros del equipo Los miembros del equipo pueden ver la configuración de la Push API, pero no pueden realizar cambios. 
¿Fue útil este artículo?