Kontakt senden
In diesem Codeschnipsel erfahren Sie, wie Sie einen Kontakt über die Messages API an WhatsApp senden können. Dies verwendet Vonage's Benutzerdefiniertes Objekt Funktion. Weitere Informationen zum spezifischen Nachrichtenformat finden Sie bei den WhatsApp-Entwicklern Nachricht der Kontakte Dokumentation.
Beispiel
Nachstehend finden Sie die Beschreibung aller in den einzelnen Codeausschnitten verwendeten Variablen:
| Schlüssel | Beschreibung |
|---|---|
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH | Private key path. |
VONAGE_PRIVATE_KEY_PATH | Private key path. |
BASE_URL | For production use the base URL is |
MESSAGES_API_URL | There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was |
WHATSAPP_NUMBER | The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102. |
VONAGE_WHATSAPP_NUMBER | Refer to |
VONAGE_NUMBER | Refer to |
TO_NUMBER | Replace with the number you are sending to. E.g. |
HINWEIS: Verwenden Sie kein führendes + oder 00 Wenn Sie eine Telefonnummer eingeben, beginnen Sie mit der Landesvorwahl, z. B. 447700900000.
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Schreiben Sie den Code
Fügen Sie Folgendes zu send-contact.sh hinzu:
curl -X POST "${MESSAGES_API_URL}" \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${WHATSAPP_SENDER_ID}'",
"channel": "whatsapp",
"message_type": "custom",
"custom": {
"type": "contacts",
"contacts": [
{
"addresses": [
{
"city": "Menlo Park",
"country": "United States",
"country_code": "us",
"state": "CA",
"street": "1 Hacker Way",
"type": "HOME",
"zip": "94025"
},
{
"city": "Menlo Park",
"country": "United States",
"country_code": "us",
"state": "CA",
"street": "200 Jefferson Dr",
"type": "WORK",
"zip": "94025"
}
],
"birthday": "2012-08-18",
"emails": [
{
"email": "test@fb.com",
"type": "WORK"
},
{
"email": "test@whatsapp.com",
"type": "WORK"
}
],
"name": {
"first_name": "John",
"formatted_name": "John Smith",
"last_name": "Smith"
},
"org": {
"company": "WhatsApp",
"department": "Design",
"title": "Manager"
},
"phones": [
{
"phone": "+1 (940) 555-1234",
"type": "HOME"
},
{
"phone": "+1 (650) 555-1234",
"type": "WORK",
"wa_id": "16505551234"
}
],
"urls": [
{
"url": "https://www.facebook.com",
"type": "WORK"
}
]
}
]
}
}'
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
npm install @vonage/server-sdk @vonage/messagesErstellen Sie eine Datei mit dem Namen send-contact.js und fügen Sie den folgenden Code hinzu:
const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');
/**
* It is best to send messages using JWT instead of basic auth. If you leave out
* apiKey and apiSecret, the messages SDK will send requests using JWT tokens
*
* @link https://developer.vonage.com/en/messages/technical-details#authentication
*/
const vonage = new Vonage(
{
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
},
{
...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
},
);Schreiben Sie den Code
Fügen Sie Folgendes zu send-contact.js hinzu:
vonage.messages.send({
to: MESSAGES_TO_NUMBER,
from: WHATSAPP_SENDER_ID,
channel: Channels.WHATSAPP,
messageType: 'custom',
custom: {
type: 'contacts',
contacts: [
{
addresses: [
{
city: 'Menlo Park',
country: 'United States',
country_code: 'us',
state: 'CA',
street: '1 Hacker Way',
type: 'HOME',
zip: '94025',
},
{
city: 'Menlo Park',
country: 'United States',
country_code: 'us',
state: 'CA',
street: '200 Jefferson Dr',
type: 'WORK',
zip: '94025',
},
],
birthday: '2012-08-18',
emails: [
{
email: 'test@fb.com',
type: 'WORK',
},
{
email: 'test@whatsapp.com',
type: 'WORK',
},
],
name: {
first_name: 'John',
formatted_name: 'John Smith',
last_name: 'Smith',
},
org: {
company: 'WhatsApp',
department: 'Design',
title: 'Manager',
},
phones: [
{
phone: '+1 (940) 555-1234',
type: 'HOME',
},
{
phone: '+1 (650) 555-1234',
type: 'WORK',
wa_id: '16505551234',
},
],
urls: [
{
url: 'https://www.facebook.com',
type: 'WORK',
},
],
},
],
},
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => console.error(error));Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Fügen Sie Folgendes zu build.gradle hinzu:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Erstellen Sie eine Datei mit dem Namen SendWhatsappContact und fügen Sie den folgenden Code in die Methode main ein:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendWhatsappContact Folgendes hinzu:
val messageId = client.messages.send(
whatsappCustom {
to(MESSAGES_TO_NUMBER)
from(WHATSAPP_SENDER_ID)
custom(mapOf(
"type" to "contacts",
"contacts" to listOf(
mapOf(
"addresses" to listOf(
mapOf(
"city" to "Menlo Park",
"country" to "United States",
"state" to "CA",
"country_code" to "us",
"street" to "1 Hacker Way",
"type" to "HOME",
"zip" to "94025"
),
mapOf(
"city" to "Menlo Park",
"country" to "United States",
"state" to "CA",
"country_code" to "us",
"street" to "200 Jefferson Dr",
"type" to "WORK",
"zip" to "94025"
)
),
"birthday" to "2012-08-18",
"emails" to listOf(
mapOf(
"email" to "test@fb.com",
"type" to "WORK"
),
mapOf(
"email" to "test@whatsapp.com",
"type" to "WORK"
)
),
"name" to mapOf(
"first_name" to "Jayden",
"last_name" to "Smith",
"formatted_name" to "J. Smith"
),
"org" to mapOf(
"company" to "WhatsApp",
"department" to "Design",
"title" to "Manager"
),
"phones" to listOf(
mapOf(
"phone" to "+1 (940) 555-1234",
"type" to "HOME"
),
mapOf(
"phone" to "+1 (650) 555-1234",
"type" to "WORK",
"wa_id" to "16505551234"
)
),
"urls" to listOf(
mapOf(
"url" to "https://www.facebook.com",
"type" to "WORK"
)
)
)
)
))
}
)Führen Sie Ihren Code aus
Wir können das Applikation Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.messages.whatsapp durch das Paket, das SendWhatsappContact enthält:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Fügen Sie Folgendes zu build.gradle hinzu:
implementation 'com.vonage:server-sdk:9.3.1'Erstellen Sie eine Datei mit dem Namen SendWhatsappContact und fügen Sie den folgenden Code in die Methode main ein:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendWhatsappContact Folgendes hinzu:
var response = client.getMessagesClient().sendMessage(
WhatsappCustomRequest.builder()
.from(WHATSAPP_SENDER_ID).to(MESSAGES_TO_NUMBER)
.custom(Map.of(
"type", "contacts",
"contacts", List.of(Map.of(
"addresses", List.of(
Map.of(
"city", "Menlo Park",
"country", "United States",
"state", "CA",
"country_code", "us",
"street", "1 Hacker Way",
"type", "HOME",
"zip", "94025"
),
Map.of(
"city", "Menlo Park",
"country", "United States",
"state", "CA",
"country_code", "us",
"street", "200 Jefferson Dr",
"type", "WORK",
"zip", "94025"
)
),
"birthday", "2012-08-18",
"emails", List.of(
Map.of(
"email", "test@fb.com",
"type", "WORK"
),
Map.of(
"email", "test@whatsapp.com",
"type", "WORK"
)
),
Map.of("name", Map.of(
"first_name", "Jayden",
"last_name", "Smith",
"formatted_name", "J. Smith"
)),
Map.of("org", Map.of(
"company", "WhatsApp",
"department", "Design",
"title", "Manager"
)),
Map.of("phones", List.of(
Map.of(
"phone", "+1 (940) 555-1234",
"type", "HOME"
),
Map.of(
"phone", "+1 (650) 555-1234",
"type", "WORK",
"wa_id", "16505551234"
)
)),
Map.of("urls", List.of(
Map.of(
"url", "https://www.facebook.com",
"type", "WORK"
)
))
))
))
.build()
);
System.out.println("Message sent successfully. ID: "+response.getMessageUuid());Führen Sie Ihren Code aus
Wir können das Applikation Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.messages.whatsapp durch das Paket, das SendWhatsappContact enthält:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
Install-Package VonageSchreiben Sie den Code
Fügen Sie Folgendes zu SendWhatsAppContact.cs hinzu:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new WhatsAppCustomRequest
{
To = MESSAGES_TO_NUMBER,
From = WHATSAPP_SENDER_ID,
Custom = new
{
type = "contacts",
contacts = new []
{
new
{
name = new {
first_name = "John",
formatted_name = "John Smith",
last_name = "Smith",
},
birthday = "2012-08-18",
emails = new []
{
new
{
email = "test@fb.com",
type = "WORK",
},
new
{
email = "test@whatsapp.com",
type = "WORK",
}
},
addresses = new []
{
new
{
city = "Menlo Park",
country = "United States",
country_code = "US",
state = "CA",
street = "1 Hacker Way",
type = "WORK",
zip = "94025",
}
},
org = new
{
company = "WhatsApp",
department = "Design",
title = "Manager",
},
urls = new
{
url = "https://www.facebook.com",
type = "WORK",
}
}
}
}
};
var response = await vonageClient.MessagesClient.SendAsync(request);Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
composer require vonage/clientErstellen Sie eine Datei mit dem Namen send-contact.php und fügen Sie den folgenden Code hinzu:
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
pip install vonage python-dotenvSchreiben Sie den Code
Fügen Sie Folgendes zu send-contact.py hinzu:
from vonage import Auth, Vonage
from vonage_messages import WhatsappCustom
client = Vonage(
Auth(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_PRIVATE_KEY,
)
)
message = WhatsappCustom(
to=MESSAGES_TO_NUMBER,
from_=WHATSAPP_SENDER_ID,
custom={
"type": "contacts",
"contacts": [
{
"addresses": [
{
"city": "Menlo Park",
"country": "United States",
"country_code": "us",
"state": "CA",
"street": "1 Hacker Way",
"type": "HOME",
"zip": "94025",
},
{
"city": "Menlo Park",
"country": "United States",
"country_code": "us",
"state": "CA",
"street": "200 Jefferson Dr",
"type": "WORK",
"zip": "94025",
},
],
"birthday": "2012-08-18",
"emails": [
{"email": "test@fb.com", "type": "WORK"},
{"email": "test@whatsapp.com", "type": "WORK"},
],
"name": {
"first_name": "John",
"formatted_name": "John Smith",
"last_name": "Smith",
},
"org": {
"company": "WhatsApp",
"department": "Design",
"title": "Manager",
},
"phones": [
{"phone": "+1 (940) 555-1234", "type": "HOME"},
{
"phone": "+1 (650) 555-1234",
"type": "WORK",
"wa_id": "16505551234",
},
],
"urls": [{"url": "https://www.facebook.com", "type": "WORK"}],
}
],
},
)
response = client.messages.send(message)
print(response)Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.
gem install vonageErstellen Sie eine Datei mit dem Namen send-contact.rb und fügen Sie den folgenden Code hinzu:
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Probieren Sie es aus
Wenn Sie den Code ausführen, wird eine WhatsApp-Kontaktnachricht an die Zielnummer gesendet. In WhatsApp können Sie die Kontaktdetails anzeigen und bei Bedarf zum Adressbuch hinzufügen.