Declarar acciones

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

Acciones de acceso directo

Si agregas lenguaje de marcado a tu contenido con entidades de schema.org, puedes agregar acciones de ir a para ellas. 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 marcado anterior.

Vinculación directa para dispositivos móviles

Las acciones de ir a también pueden vincularse directamente al contenido de apps para dispositivos móviles nativas en Android y iOS. 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 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 llevará a la URL web que proporciones.

Acciones en la aplicación

Las Acciones en la aplicación se controlan de forma integrada en Gmail, sin enviar al usuario a otro sitio web. Las Acciones en la aplicación se declaran como Acciones de ir a, pero contienen información adicional que facilita que los usuarios-agentes (como Gmail) controlen la acción 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 que requieran que los usuarios aprueben, confirmen y reconozcan algo. Una vez que el usuario haga clic en el botón, Google enviará una solicitud HTTP a tu servicio para 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 durante un período limitado. Las acciones asociadas a entidades con fechas conocidas, como reservas de viajes, vencerán automáticamente. Gmail no muestra la acción después de que haya finalizado el viaje.

Las fechas de vencimiento 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 puede 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 detalles sobre las Acciones, consulta los siguientes recursos: