Sign inGet started

WhatsApp-audioberichten

Een audiobericht bevat een publieke URL die WhatsApp op het moment van verzenden ophaalt. Het heeft geen bijschrift en kan optioneel als spraakbericht worden weergegeven.

Een audiobericht versturen

Stel audio.url in:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  audio: { url: "https://cdn.example.com/vm/9f2.ogg" },
});
console.log(msg.id, msg.status);
De volledige structuur voegt de optionele voice-vlag toe, het enige andere veld dat audio heeft:
Codevoorbeeld
{
  "to": "+16505551234",
  "from": "+13124495648",
  "audio": { "url": "https://cdn.example.com/voice/9f2e4a.ogg", "voice": true }
}
audio heeft helemaal geen caption-veld. from is verplicht bij elk servicebericht: een nummer dat je werkruimte bezit, niet een door Bird beheerd nummer.

Limieten

VeldGrensAfgedwongen door
Bestandsgrootte16 MBalleen WhatsApp, bij ophalen (async)
FormaatAAC, AMR, MP3, M4A of OGG met de OPUS-codec, monoalleen WhatsApp, bij ophalen (async)
voice: truevereist .ogg/OPUS, mono; andere formaten laten transcriptie mislukkenalleen WhatsApp, bij ophalen (async)
captiongeen geldig veldBird, bij acceptatie (422, schemaweigering)
urlabsoluut, https, heeft een host, geen ongeëscapete spatieBird, bij acceptatie (422)
Bird controleert de vorm van de URL voordat iets in de wachtrij wordt geplaatst; het controleert niet de werkelijke grootte, het formaat of de codec van het bestand, en het controleert niet of een voice: true-verzending daadwerkelijk .ogg/OPUS is. Alleen de eigen ophaalactie van WhatsApp op het moment van verzenden kan dat. Een caption meesturen bij een audiobericht is geen lengtefout; het veld bestaat niet in het schema van deze arm, dus het mislukt als een niet-herkende eigenschap. Zie de hub's media versturen via URL en wanneer media mislukt.

Een inkomend audiobericht lezen

Een inkomend audiobericht bevat hetzelfde audio-object, plus een id en mime_type die Bird heeft geleerd door het bestand op te halen, en geen caption in beide richtingen. Zie WhatsApp-audio ontvangen voor het volledige inkomende bericht, de whatsapp.received-payload en waar je op moet letten.

Limieten en foutscenario's

  • Het klantenservicevenster moet open zijn. Audio is een servicebericht dat alleen binnen een open venster kan worden afgeleverd; zie de hub's klantenservicevenster.
  • Bird weigert http; WhatsApp zelf zou het ophalen. Zie de hub's media versturen via URL voor de volledige vormcontrole.
  • Een geweigerde ophaalactie wordt toch in rekening gebracht. Zie de hub's wanneer media mislukt. De weigeringstekst van WhatsApp specifiek voor audio is niet onafhankelijk gemeten, dus beschouw de mapping als afgeleid door symmetrie in plaats van bevestigd per oorzaak.
  • De voice-vlag verandert hoe de client van de ontvanger het bericht weergeeft, niet wat Bird valideert. voice: true geeft het weer als spraakbericht: het downloadt automatisch, toont een inline microfoonpictogram en kan worden getranscribeerd. Daarvoor heb je een .ogg-bestand nodig gecodeerd met OPUS, mono; elk ander formaat wordt nog steeds verzonden, maar transcriptie mislukt aan de kant van de ontvanger. voice staat standaard op false.
  • De eigen afspeelpictogramdrempel en het "played"-signaal van WhatsApp zijn niet iets dat Bird beschikbaar maakt. WhatsApp documenteert een clientgedrag rond korte spraakberichten en een afspeelstatus, maar Bird modelleert geen van beide; bouw geen integratie die verwacht een van beide terug te lezen uit de API.
  • WhatsApp cachet een opgehaalde URL ongeveer 10 minuten. Als je dezelfde URL binnen dat venster opnieuw verstuurt, wordt de eerste ophaalactie opnieuw geserveerd; varieer de URL om een nieuwe op te halen.

Volgende stappen