WhatsApp-locatieberichten
Een locatiebericht stuurt een pin: een punt op de kaart, met een optionele naam en adres eronder. Dit is de verzendzijde; om een contact te vragen hun locatie te delen, zie locatieverzoeken.
Een locatie versturen
Stel location.latitude en location.longitude in:
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
}
}'De volledige vorm voegt name en address toe:
Codevoorbeeld
{
"to": "+16505551234",
"from": "+13124495648",
"location": {
"latitude": 37.7793,
"longitude": -122.4193,
"name": "Ferry Building Pickup",
"address": "1 Market St, San Francisco, CA 94105"
}
}address wordt alleen aan de ontvanger getoond als name ook is ingesteld. from is verplicht bij elk servicebericht: een nummer dat je werkruimte bezit, niet een door Bird beheerd nummer.
Limieten
| Veld | Grens | Afgedwongen door |
|---|---|---|
| latitude | verplicht, -90 tot 90, decimale graden | Bird, bij acceptatie (422) |
| longitude | verplicht, -180 tot 180, decimale graden | Bird, bij acceptatie (422) |
| name | optioneel, maximaal 1000 tekens | Bird, bij acceptatie (422) |
| address | optioneel, maximaal 1000 tekens, alleen getoond als name is ingesteld | Bird, bij acceptatie (422) |
De eigen documentatie van WhatsApp vermeldt latitude en longitude als verplicht zonder een expliciet numeriek bereik; de ±90/±180 bereikcontrole en de limiet van 1000 tekens op name en address zijn eigen grenzen van Bird.
Een inkomende locatie lezen
Als een contact hun locatie deelt, spontaan of als antwoord op een locatieverzoek, levert dat een gewoon inkomend location-bericht op. Niets eraan is gegarandeerd: een kale pin kan binnenkomen zonder name en zonder address, en een inkomende pin kan ook een url bevatten die naar de locatie linkt, wat nooit verschijnt bij een locatie die je verstuurt. Locatie is geen mediatype, dus er is geen bestand om op te halen. Zie Inkomende WhatsApp-locaties ontvangen voor het volledige inkomende bericht, de whatsapp.received-payload, en waar je op moet letten.
Limieten en randgevallen
- Het klantenservicevenster moet open zijn. Een locatieverzending is een servicebericht, alleen afleverbaar binnen een geopend venster; zie het klantenservicevenster van de hub.
- name en address zijn bij het lezen echt optioneel, niet optioneel-met-een-terugval. Een kale pin heeft geen van beide, en address verschijnt nooit zonder name. Ga er niet van uit dat een straatnaam bij een coördinatenpaar hoort.
- Dit is niet hetzelfde type als een locatieverzoek. Locatieverzoeken zijn een interactief type dat de ontvanger om hun eigen locatie vraagt; deze pagina verstuurt er een naar hen. Verwar de twee verzendvormen niet met elkaar.
- Een tik op een locatieverzoek komt terug als een gewoon inkomend location-bericht, niet als een interactive_reply. Een integratie die alleen interactive_reply controleert op tikken mist dit volledig; je moet ook inkomende location monitoren.
Volgende stappen
- WhatsApp-serviceberichten: het klantenservicevenster en het model dat elk servicebericht deelt
- Locatieverzoeken: vraag een contact om hun locatie in plaats van er een te versturen
- WhatsApp-berichten versturen: de request-envelope, het 202-model en veilig opnieuw proberen
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.
Bekijk de gidsConnecting WhatsApp to Bird: from buying a number to a live channelBegrijp het conceptWhat is the 24-hour customer service window on WhatsApp?Gebruik de toolWhatsApp message builderOntdek de mogelijkheidWhatsApp
Probeer de oefening en ontvang een implementatieoverzicht