Aktionsanfragen bearbeiten

Wie unter Aktionen deklarieren beschrieben, sendet Google eine HTTP-Anfrage an eine in der Aktion deklarierte URL, wenn ein Nutzer mit einer In-App-Aktion interagiert.

Im folgenden Beispiel wird einer E-Mail zu einem Spesenbericht die Schaltfläche ConfirmAction hinzugefügt:

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>

Mikrodaten

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

Wenn der Nutzer auf die Schaltfläche klickt, wird von Google eine HTTP-Anfrage an Ihren Dienst gesendet, um die Bestätigung zu erfassen. Ihr Dienst empfängt die folgende HTTP-Anfrage von Google:

POST /approve?expenseId=abc123 HTTP/1.1
Host: your-domain.com
Authorization: Bearer AbCdEf123456
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)

confirmed=Approved

Im Rest dieser Seite wird beschrieben, was der Dienst unter https://your-domain.com/approve?expenseId=abc123 tun muss, um die Aktion ordnungsgemäß zu verarbeiten. Dazu gehören:

  • Anfrage prüfen
  • Payload verarbeiten
  • Antwortcode zurückgeben

Schritt 1: Anfrage prüfen

Der Dienst unter https://your-domain.com/approve?expenseId=abc123 sollte Folgendes prüfen:

Der User-Agent für alle Aktionsanfragen ist Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions).

Wenn alle Prüfungen erfolgreich sind, kann der Dienst mit dem nächsten Schritt fortfahren.

Schritt 2: Aktion verarbeiten

Der Dienst sollte die Aktion gemäß den URL-Parametern sowie zusätzlichen Informationen verarbeiten, die vom Nutzer erfasst wurden.

Zusätzliche Informationen vom Nutzer befinden sich im Hauptteil der Anfrage und sind mit der x-www-form-urlecoded-Codierung codiert. Die Informationen werden in Properties festgelegt, deren Namen den Properties von Action entsprechen. ConfirmAction hat beispielsweise die Property ConfirmAction confirmed.

Schritt 3: Antwortcode zurückgeben

Nachdem der Dienst die Aktion erfolgreich verarbeitet und erfasst hat, sollte er den Antwortcode 200 (OK) zurückgeben. In Fehlersituationen können die folgenden Antwortcodes verwendet werden:

Antwortcode Testgruppe
400 (Bad Request) Google lehnt die Aktion ab.
401 (Unauthorized) Google lehnt die Aktion ab.
404 (Not Found) Google lehnt die Aktion ab.
408 (Request Timeout) Google versucht es später noch einmal.

Im Falle eines dauerhaften Fehlers informiert Google den Nutzer, dass die Aktion fehlgeschlagen ist, und fordert ihn auf, die alternativen Anweisungen in der E-Mail zu befolgen.

Weiterführende Literatur