Pin a message in a WhatsApp group
POST
/v1/whatsapp/groups/{group_id}/pinned-messages
const pin = await bird.whatsapp.groups.pins.create("wag_01krdgeqcxet5s7t44vh8rt9mg", {
message_id: "wam_01kya19eknftrs2s6p82asmvnh",
});
console.log(pin.pinned_until);pin = client.whatsapp.groups.pins.create(
"wag_01krdgeqcxet5s7t44vh8rt9mg",
message_id="wam_01kya19eknftrs2s6p82asmvnh",
)
print(pin.pinned_until)pin, err := client.Whatsapp.Groups.Pins.Create(context.Background(), "wag_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappGroupsPinsCreateParams{
MessageID: "wam_01kya19eknftrs2s6p82asmvnh",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(pin.PinnedUntil)$pin = $bird->whatsapp->groups->pins->create(
'wag_01krdgeqcxet5s7t44vh8rt9mg',
(new WhatsAppGroupPinnedMessageCreate())->setMessageId('wam_01kya19eknftrs2s6p82asmvnh'),
);
echo $pin->getPinnedUntil()?->format(DATE_ATOM);bird whatsapp groups pins create <group-id> \
--duration-days 7 \
--message-id wam_01krdgeqcxet5s7t44vh8rt9mgcurl -X POST "https://us1.platform.bird.com/v1/whatsapp/groups/{group_id}/pinned-messages" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"message_id": "wam_01krdgeqcxet5s7t44vh8rt9mg",
"duration_days": 7
}'Risposta200
{
"message_id": "wam_01krdgeqcxet5s7t44vh8rt9mg",
"pinned_until": "2026-09-01T09:14:52Z"
}
Pins one of the group's messages at the top of its chat, where it stays for
the number of days you give, from 1 to 30. Pin the message a conversation
keeps coming back to, so a participant joining later does not have to
scroll for it.
The message has to be one this group carries: a message in another group, or
a one-to-one message, returns a 422 WhatsAppMessageNotInGroup. A
message_id naming no message the workspace still holds returns a 404
instead, which is also what an id older than the 30 days messages stay
readable for gets. Only an
active group can be changed; any other status returns a 409
WhatsAppGroupNotActive.
A group holds 3 pinned messages at once, and pinning a fourth unpins the
oldest rather than failing. Pinning an already-pinned message replaces its
expiry. What the group currently pins is on the group itself, as
pinned_messages.
WhatsApp confirms a pin in its reply rather than on a webhook, so the
response is the applied pin and the entry appears in the group's
pinned_messages straight away. Nothing about a pin is left in flight, so a
pin never blocks the next pin or unpin.
Parametri
group_id
string
ID of the group to pin a message in.
Payload della richiesta
message_id
string
obbligatorio
The message to pin. It has to be one this group carries: a message in another group, or a one-to-one message, returns a 422 WhatsAppMessageNotInGroup.
duration_days
integer
How many days the message stays pinned before WhatsApp unpins it, from 1 to 30.
Payload di risposta
message_id
string
obbligatorio
The pinned message, as returned in the send response's id.
pinned_until
string
obbligatorio
When the pin is due to lapse, projected from the duration_days the pin was asked for. An entry stays listed until it is unpinned, so a time in the past means WhatsApp has already taken the message off the chat.
Risorse correlate
Prosegui con la documentazione, le guide e gli esempi per questo argomento. Le risorse sono in inglese.
Comprendi il concettoShould I use a Bird SDK or call the API directly?Segui il percorso di apprendimentoBuild your first integrationGuida all'implementazioneSend your first email
Ottieni un brief di implementazione