Declarar acciones

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

Acciones de ir a

Si agregas lenguaje de marcado a tu contenido con entidades de schema.org, puedes agregarles acciones de visita. Por ejemplo, para que una entidad EmailMessage tenga un vínculo de ir a ViewAction, 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 otros clientes de correo electrónico que no admiten esquemas en los correos electrónicos ignoran automáticamente el lenguaje de marcado anterior.

Vínculos directos para dispositivos móviles

Las acciones de Go también pueden vincular directamente al contenido de apps nativas para dispositivos móviles en iOS y Android. Para establecer 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>"/>

Ampliación del ejemplo de EmailMessage anterior:

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 dirigirá a la URL web que proporciones.

Acciones en la aplicación

Las Acciones en la aplicación se controlan in situ, dentro de Gmail, sin enviar al usuario a otro sitio web. Las Acciones en la aplicación se declaran como Acciones de acceso, pero contienen información adicional que facilita a los usuarios-agentes (como Gmail) el control de la acción de forma intercalada.

En lugar de declarar una acción con un 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 para que los usuarios deban aprobar, confirmar y confirmar algo. Una vez que el usuario haga clic en el botón, se emitirá una solicitud HTTP a tu servicio y se 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 con vencimiento

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.

Los 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 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>

Material de lectura adicional

Para obtener más detalles sobre las acciones, consulta lo siguiente: