WhatsApp-Standortnachrichten
Eine Standortnachricht sendet einen Pin: einen Punkt auf der Karte, optional mit Name und Adresse darunter. Dies ist die Sendeseite; um einen Kontakt stattdessen nach seinem Standort zu fragen, siehe Standortanfragen.
Standort senden
Setzen Sie location.latitude und location.longitude:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13124495648",
location: { latitude: 37.7793, longitude: -122.4193 },
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
location={"latitude": 37.7793, "longitude": -122.4193},
)
print(msg.id, msg.status)package main
import (
"context"
"fmt"
"log"
"os"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+16505551234",
From: "+13124495648",
Location: &bird.WhatsAppLocationSend{Latitude: 37.7793, Longitude: -122.4193},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$location = (new WhatsAppMessageSendRequestLocation())
->setLatitude(37.7793)
->setLongitude(-122.4193);
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
location: $location,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--latitude 37.7793 \
--longitude -122.4193 \
--to +16505551234{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"location": {
"latitude": 37.7793,
"longitude": -122.4193
},
"to": "+16505551234"
}
}curl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+16505551234",
"from": "+13124495648",
"location": {
"latitude": 37.7793,
"longitude": -122.4193
}
}'Die vollständige Struktur ergänzt name und address:
Codebeispiel
{
"to": "+16505551234",
"from": "+13124495648",
"location": {
"latitude": 37.7793,
"longitude": -122.4193,
"name": "Ferry Building Pickup",
"address": "1 Market St, San Francisco, CA 94105"
}
}address wird dem Empfänger nur angezeigt, wenn name ebenfalls gesetzt ist. from ist bei jeder Service-Nachricht erforderlich: eine Nummer, die Ihrem Workspace gehört, keine von Bird verwaltete.
Limits
| Feld | Grenze | Geprüft von |
|---|---|---|
| latitude | erforderlich, −90 bis 90, Dezimalgrad | Bird, bei Annahme (422) |
| longitude | erforderlich, −180 bis 180, Dezimalgrad | Bird, bei Annahme (422) |
| name | optional, bis zu 1000 Zeichen | Bird, bei Annahme (422) |
| address | optional, bis zu 1000 Zeichen, nur angezeigt wenn name gesetzt ist | Bird, bei Annahme (422) |
Die eigene Dokumentation von WhatsApp führt latitude und longitude als erforderlich ohne angegebenen Wertebereich auf; die Bereichsprüfung ±90/±180 und die 1000-Zeichen-Limits für name und address sind eigene Grenzen von Bird.
Eingehenden Standort lesen
Wenn ein Kontakt seinen Standort teilt, unaufgefordert oder als Antwort auf eine Standortanfrage, entsteht eine gewöhnliche eingehende location-Nachricht. Nichts daran ist garantiert: Ein nackter Pin kann ohne name und ganz ohne address ankommen, und ein eingehender Pin kann zusätzlich eine url mit Link zum Ort enthalten, die bei einem von Ihnen gesendeten Standort nie erscheint. Location ist kein Medientyp, es gibt also keine Datei zum Abrufen. Siehe Eingehende WhatsApp-Standorte empfangen für den vollständigen eingehenden Lesevorgang, die whatsapp.received-Payload und worauf Sie achten sollten.
Limits und Sonderfälle
- Das Kundenservice-Fenster muss offen sein. Ein Standortversand ist eine Service-Nachricht, die nur innerhalb eines offenen Fensters zustellbar ist; siehe das Kundenservice-Fenster im Hub.
- name und address sind beim Lesen wirklich optional, nicht optional-mit-Fallback. Ein nackter Pin hat keines von beiden, und address erscheint nie ohne name. Gehen Sie nicht davon aus, dass eine Adresse ein Koordinatenpaar begleitet.
- Dies ist nicht derselbe Typ wie eine Standortanfrage. Standortanfragen sind ein interaktiver Typ, der den Empfänger nach seinem eigenen Standort fragt; diese Seite sendet einen Standort an ihn. Verwechseln Sie die beiden Sendestrukturen nicht.
- Ein Tippen auf eine Standortanfrage kommt als gewöhnliche eingehende location-Nachricht zurück, nicht als interactive_reply. Eine Integration, die nur interactive_reply auf Taps überwacht, verpasst dies vollständig; sie muss auch eingehende location überwachen.
Nächste Schritte
- WhatsApp-Service-Nachrichten: das Kundenservice-Fenster und das Modell, das alle Service-Nachrichten teilen
- Standortanfragen: einen Kontakt nach seinem Standort fragen, statt einen zu senden
- WhatsApp-Nachrichten senden: der Request-Envelope, das 202-Modell und sicheres erneutes Versuchen
Verwandte Ressourcen
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
Anleitung ansehenConnecting WhatsApp to Bird: from buying a number to a live channelDas Konzept verstehenWhat is the 24-hour customer service window on WhatsApp?Das Tool verwendenWhatsApp message builderDie Funktion erkundenWhatsApp
Übung ausprobieren und ein Implementierungs-Briefing erhalten