cURL
curl --request POST \
--url https://{host}/api/sendContactVcard \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"chatId": "5511999999999@c.us",
"contacts": [
{
"vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nORG:Company Name;\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\nEND:VCARD"
}
],
"session": "my-session",
"reply_to": null
}
'import requests
url = "https://{host}/api/sendContactVcard"
payload = {
"chatId": "5511999999999@c.us",
"contacts": [{ "vcard": "BEGIN:VCARD
VERSION:3.0
FN:Jane Doe
ORG:Company Name;
TEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111
END:VCARD" }],
"session": "my-session",
"reply_to": None
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chatId: '5511999999999@c.us',
contacts: [
{
vcard: 'BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nORG:Company Name;\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\nEND:VCARD'
}
],
session: 'my-session',
reply_to: null
})
};
fetch('https://{host}/api/sendContactVcard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/api/sendContactVcard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'chatId' => '5511999999999@c.us',
'contacts' => [
[
'vcard' => 'BEGIN:VCARD
VERSION:3.0
FN:Jane Doe
ORG:Company Name;
TEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111
END:VCARD'
]
],
'session' => 'my-session',
'reply_to' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{host}/api/sendContactVcard"
payload := strings.NewReader("{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/api/sendContactVcard")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/sendContactVcard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"messageId": "3EB0XXXXXX"
}
Messaging
Send Contact (vCard)
Send one or multiple contacts in vCard format
POST
/
api
/
sendContactVcard
cURL
curl --request POST \
--url https://{host}/api/sendContactVcard \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"chatId": "5511999999999@c.us",
"contacts": [
{
"vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nORG:Company Name;\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\nEND:VCARD"
}
],
"session": "my-session",
"reply_to": null
}
'import requests
url = "https://{host}/api/sendContactVcard"
payload = {
"chatId": "5511999999999@c.us",
"contacts": [{ "vcard": "BEGIN:VCARD
VERSION:3.0
FN:Jane Doe
ORG:Company Name;
TEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111
END:VCARD" }],
"session": "my-session",
"reply_to": None
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chatId: '5511999999999@c.us',
contacts: [
{
vcard: 'BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nORG:Company Name;\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\nEND:VCARD'
}
],
session: 'my-session',
reply_to: null
})
};
fetch('https://{host}/api/sendContactVcard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/api/sendContactVcard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'chatId' => '5511999999999@c.us',
'contacts' => [
[
'vcard' => 'BEGIN:VCARD
VERSION:3.0
FN:Jane Doe
ORG:Company Name;
TEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111
END:VCARD'
]
],
'session' => 'my-session',
'reply_to' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{host}/api/sendContactVcard"
payload := strings.NewReader("{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/api/sendContactVcard")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/sendContactVcard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chatId\": \"5511999999999@c.us\",\n \"contacts\": [\n {\n \"vcard\": \"BEGIN:VCARD\\nVERSION:3.0\\nFN:Jane Doe\\nORG:Company Name;\\nTEL;type=CELL;type=VOICE;waid=911111111111:+91 11111 11111\\nEND:VCARD\"\n }\n ],\n \"session\": \"my-session\",\n \"reply_to\": null\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"messageId": "3EB0XXXXXX"
}
Description
This endpoint allows you to send one or more contacts in vCard format to individual contacts or groups on WhatsApp. Contacts are sent with display name and information in vCard standard format.Body
{
"sessionId": "my-session",
"jid": "5511999999999@s.whatsapp.net",
"contacts": [
{
"displayName": "João Silva",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nTEL;type=CELL;type=VOICE;waid=5511988887777:+55 11 98888-7777\nEND:VCARD"
}
]
}
Body Parameters
| Property | Type | Required | Description |
|---|---|---|---|
sessionId | string | ✅ Yes | Authenticated session ID that will send the contacts |
jid | string | ✅ Yes | Recipient identifier (WhatsApp JID). Format: 5511999999999@s.whatsapp.net for contacts or 120363XXXXX@g.us for groups |
contacts | array | ✅ Yes | Array of contact objects |
contacts[].displayName | string | ✅ Yes | Contact display name |
contacts[].vcard | string | ✅ Yes | Contact data in vCard format (version 3.0) |
{
"success": true,
"messageId": "3EB0XXXXXX"
}
Status Codes
200- Contact(s) sent successfully400- Invalid parameters401- Unauthorized session404- Session not found
Usage Example
curl -X POST https://api.wappfy.com.br/api/sendContactVcard \
-H "Content-Type: application/json" \
-d '{
"sessionId": "my-session",
"jid": "5511999999999@s.whatsapp.net",
"contacts": [
{
"displayName": "João Silva",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nTEL;type=CELL;type=VOICE;waid=5511988887777:+55 11 98888-7777\nEND:VCARD"
}
]
}'
const response = await fetch('https://api.wappfy.com.br/api/sendContactVcard', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sessionId: 'my-session',
jid: '5511999999999@s.whatsapp.net',
contacts: [
{
displayName: 'João Silva',
vcard: 'BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nTEL;type=CELL;type=VOICE;waid=5511988887777:+55 11 98888-7777\nEND:VCARD'
},
{
displayName: 'Maria Santos',
vcard: 'BEGIN:VCARD\nVERSION:3.0\nFN:Maria Santos\nTEL;type=CELL;type=VOICE;waid=5511977776666:+55 11 97777-6666\nEND:VCARD'
}
]
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
'https://api.wappfy.com.br/api/sendContactVcard',
json={
'sessionId': 'my-session',
'jid': '5511999999999@s.whatsapp.net',
'contacts': [
{
'displayName': 'João Silva',
'vcard': 'BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nTEL;type=CELL;type=VOICE;waid=5511988887777:+55 11 98888-7777\nEND:VCARD'
},
{
'displayName': 'Maria Santos',
'vcard': 'BEGIN:VCARD\nVERSION:3.0\nFN:Maria Santos\nTEL;type=CELL;type=VOICE;waid=5511977776666:+55 11 97777-6666\nEND:VCARD'
}
]
}
)
data = response.json()
print(data)
Authorizations
Your Wappfy API key (get it at dash.wappfy.com.br)
Body
application/json
Response
201 - undefined
⌘I
