Declarar acciones

En schema.org, una acción representa un verbo o una actividad que puede realizarse en una parte de los datos estructurados. Se admiten varios tipos de acciones y todas se pueden definir con datos estructurados similares.

Acciones de referencia

Si agregas lenguaje de marcado a tu contenido con entidades de schema.org, puedes agregarles acciones de Go-To. Por ejemplo, para hacer que una entidad EmailMessage tenga un vínculo ViewAction de destino, propaga la propiedad potentialAction del correo electrónico, como en el siguiente ejemplo:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ViewAction",
    "target": "https://watch-movies.com/watch?movieId=abc123",
    "name": "Watch movie"
  },
  "description": "Watch the 'Avengers' movie online"
}
</script>

Microdatos

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="target" href="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="name" content="Watch movie"/>
  </div>
  <meta itemprop="description" content="Watch the 'Avengers' movie online"/>
</div>

Ten en cuenta que el lenguaje de marcado anterior es ignorado automáticamente por otros clientes de correo electrónico que no admiten esquemas en correos electrónicos.

Vinculación directa móvil

Las acciones de destino también pueden vincularse directamente al contenido de las aplicaciones nativas para dispositivos móviles en Android y iOS. Para crear un vínculo directo a una app, incluye URLs target adicionales codificadas con los esquemas android-app:// y ios-app://, como se muestra a continuación:

JSON-LD

"target": [
  “<web url>”,
  “android-app://<android package name>/<scheme>/<host>/<path+query>”,
  “ios-app://<App store ID>/<scheme>/<host><path+query>"
]

Microdatos

<link itemprop="target" href="<web url>"/>
<link itemprop="target" href="android-app://<android package name>/<scheme>/<host>/<path+query>”/>
<link itemprop="target" href="ios-app://<App store ID>/<scheme>/<host>/<path+query>"/>

Amplía el ejemplo anterior de EmailMessage:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "name": "Watch movie",
  ... information about the movie ...
  "potentialAction": {
    "@type": "ViewAction",
    "target": [
      "https://watch-movies.com/watch?movieId=abc123",
      "android-app://com.watchmovies.app/http/watch-movies.com/watch?movieId=abc123",
      "ios-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"
    ]
  }
}
</script>

Microdatos

<div itemscope itemtype="http://schema.org/EmailMessage">
  <meta itemprop="name" content="Watch movie"/>
  ... information about the movie ...
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <meta itemprop="target" content="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="android-app://com.watchmovies.android/http/watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="ios://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
 </div>
</div>

Si el usuario no tiene tu app, la acción lo lleva a la URL web que proporcionas.

Acciones en la aplicación

Las Acciones en la app se controlan de forma local, dentro de Gmail, sin enviar al usuario a otro sitio web. Las Acciones en la app se declaran como Ir a acciones, pero contienen información adicional que facilita que los usuarios-agentes (como Gmail) manejen la acción intercalada.

En lugar de declarar una acción con target, debes declarar un HttpActionHandler para la acción con la configuración adecuada.

Por ejemplo, puedes agregar un botón de confirmación a los correos electrónicos que requieran que los usuarios aprueben, confirmen o confirmen algo. Una vez que el usuario haga clic en el botón, Google enviará una solicitud HTTP a tu servicio y registrará la confirmación. Solo se puede interactuar con ConfirmAction una vez.

En el siguiente ejemplo, se agrega un botón ConfirmAction a un correo electrónico sobre un informe de gastos:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for John's $10.13 expense for office supplies"
}
</script>

Microdatos

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Approve Expense"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
    </div>
  </div>
  <meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>

Acciones por vencer

En muchos casos, las acciones solo son relevantes por un período de tiempo limitado. Las acciones asociadas a entidades con fechas conocidas, como las reservas de viajes, vencerán automáticamente. Gmail no muestra la acción una vez finalizado el viaje.

Las vencimientos también se pueden agregar explícitamente a las acciones. Por ejemplo, una acción para recortar un cupón o guardar un código de oferta podría ser válida solo por un tiempo limitado. Para establecer el período en el que se muestra una acción, configura las propiedades startTime y endTime de la acción:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Save coupon",
    "handler":  {
       "@type": "HttpActionHandler",
       "url": "https://my-coupons.com/approve?couponId=abc123"
    },
    "startTime": "2015-06-01T12:00:00Z",
    "endTime": "2015-06-05T12:00:00Z"
  }
}
</script>

Microdatos

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Save coupon"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://my-coupons.com/approve?couponId=abc123"/>
    </div>
    <meta itemprop="startTime" content="2015-06-01T12:00:00Z" />
    <meta itemprop="endTime" content="2015-06-05T12:00:00Z" />
  </div>
</div>

Lecturas adicionales

Para obtener más información sobre las acciones, consulta: