Declarar ações

No schema.org, uma ação representa uma atividade que pode ser realizada em um conjunto de dados estruturados. O Gmail oferece suporte a vários tipos de ações, e você pode definir cada uma delas com dados estruturados semelhantes.

Ações de acesso

Se você adicionar marcação ao conteúdo com entidades do schema.org, poderá incluir ações de acesso a elas. Por exemplo, para dar a uma entidade EmailMessage um link de acesso ViewAction, preencha a propriedade potentialAction do e-mail, como no exemplo a seguir:

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>

Microdados

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

Outros clientes de e-mail que não oferecem suporte a esquemas em e-mails ignoram automaticamente essa marcação.

Links diretos para dispositivos móveis

As ações de acesso também podem vincular diretamente ao conteúdo em apps para dispositivos móveis no Android e iOS. Para criar um link direto para um app, inclua outros URLs target codificados com os esquemas android-app:// e ios-app://, conforme mostrado nos exemplos a seguir:

JSON-LD

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

Microdados

<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>"/>

Estendendo o exemplo 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>

Microdados

<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-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
 </div>
</div>

Se o usuário não tiver seu app, a ação vai direcioná-lo para o URL da Web fornecido.

Ações no app

O Gmail processa ações no app sem enviar o usuário para outro site. Você declara ações no app como ações de acesso, mas inclui informações extras que ajudam os clientes de e-mail (como o Gmail) a processar a ação inline.

Em vez de declarar uma ação com um target, declare um HttpActionHandler para a ação com a configuração adequada.

Por exemplo, você pode adicionar um botão de confirmação a e-mails que exigem que os usuários aprovem, confirmem ou reconheçam algo. Quando o usuário clica no botão, o Google envia uma solicitação HTTP ao seu serviço, registrando a confirmação. Os usuários só podem interagir com uma ConfirmAction uma vez.

O exemplo a seguir adiciona um botão ConfirmAction a um e-mail sobre um relatório de despesas:

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>

Microdados

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

Ações expiradas

Em muitos casos, as ações só são relevantes por um período limitado. As ações associadas a entidades com datas conhecidas, como reservas de viagens, expiram automaticamente. O Gmail não mostra a ação após a viagem.

Também é possível adicionar expirações explicitamente às ações. Por exemplo, uma ação para recortar um cupom ou salvar um código de oferta pode ser válida apenas por um período limitado. Para definir o período em que uma ação é exibida, defina as propriedades startTime e endTime da ação:

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>

Microdados

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

Leitura adicional

Para mais detalhes sobre ações, consulte: