group_lifecycle_updategroup_participants_updategroup_settings_updategroup_status_updateinvite_link que contém um link de convite para o grupo. Você pode enviar esse link de convite para usuários do WhatsApp que tenham interesse em entrar no grupo.POST /<BUSINESS_PHONE_NUMBER_ID>/groups{
"messaging_product": "whatsapp",
"subject": "<GROUP_SUBJECT>",
"description": "<GROUP_DESCRIPTION>",
"join_approval_mode": "<JOIN_APPROVAL_MODE>"
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<BUSINESS_PHONE_NUMBER_ID>String | Obrigatório Identificação do número de telefone comercial. | 12784358810 |
<GROUP_SUBJECT>String | Obrigatório Nome do grupo. Máximo de 128 caracteres. Os espaços em branco serão cortados. | New Purchase Inquiry |
<GROUP_DESCRIPTION>String | Opcional Descrição do grupo. Máximo de 2.048 caracteres. | Jim, an existing client, would like to learn about new car purchase options for current year models. |
<JOIN_APPROVAL_MODE>String | Opcional Indica se os usuários do WhatsApp que clicarem no link de convite poderão entrar no grupo com ou sem aprovação prévia. Os valores podem ser os seguintes:
Em caso de omissão, join_approval_mode será definido como auto_approve por padrão. | auto_approve |
group_lifecycle_update é disparado.group_participants_update para um usuário que aceitou o pedido de participação] (/documentation/business-messaging/whatsapp/groups/webhooks#user-accepts-or-cancels-join-request). Você também pode obter uma lista de pedidos de participação abertos na API. Use o conteúdo do webhook ou da resposta da API para aprovar ou rejeitar pedidos.GET /<GROUP_ID>/join_requests| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório. ID do grupo. | Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD |
{
"data": [
{
"join_request_id": "<JOIN_REQUEST_ID>",
"wa_id": "<WHATSAPP_USER_ID>",
"creation_timestamp": "<JOIN_REQUEST_CREATION_TIMESTAMP">
},
//Additional join request objects would follow, if any
],
"paging": {
"cursors": {
"before": "<BEFORE_CURSOR>",
"after": "<AFTER_CURSOR>"
}
}
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<JOIN_REQUEST_ID>String | Identificação do pedido de participação. | MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw |
<WHATSAPP_USER_ID>String | ID do usuário do WhatsApp. | 16505551234 |
<JOIN_REQUEST_CREATION_TIMESTAMP>Número inteiro | Registro de data e hora Unix que indica quando o pedido de participação foi criado. | 1755548877 |
<BEFORE_CURSOR>String | Cursor anterior. Consulte Resultados paginados. | eyJvZAmZAzZAXQiOjAsInZAlcnNpb25JZACI6IjE3NTU1NTM3MDUxNzUwNTQ1MTAifQZDZD |
<AFTER_CURSOR>String | Cursor posterior. Consulte Resultados paginados. | eyJvZAmZAzZAXQiOjAsInZAlcnNpb25JZACI6IjE3NTU1NTM3MDUxNzUwNTQ1MTAifQZDZD |
POST /<GROUP_ID>/join_requests{
"messaging_product": "whatsapp",
"join_requests": [
"<JOIN_REQUEST_ID>",
// Additional join request IDs would go here, if approving in bulk
]
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório. ID do grupo. | Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD |
{
"messaging_product": "whatsapp",
"approved_join_requests": [
"<JOIN_REQUEST_ID>",
// Additional join request IDs would go here, it approved in bulk
],
//Only included if unable to approve one or more join requests
"failed_join_requests": [
{
"join_request_id": "<JOIN_REQUEST_ID>",
"errors": [
{
"code": "<ERROR_CODE>",
"message": "<ERROR_MESSAGE>",
"title": "<ERROR_TITLE>",
"error_data": {
"details": "<ERROR_DETAILS>"
}
}
]
}
],
"errors": [
{
"code": "<ERROR_CODE>",
"message": "<ERROR_MESSAGE>",
"title": "<ERROR_TITLE>",
"error_data": {
"details": "<ERROR_DETAILS>"
}
}
]
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<JOIN_REQUEST_ID>String | Identificação do pedido de participação aprovado ou, se não for possível aprovar, identificação do pedido que falhou. | MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw |
<ERROR_CODE>Número inteiro | Código de erro, caso não seja possível aprovar. | 131203 |
<ERROR_MESSAGE>String | Mensagem de erro, caso não seja possível aprovar. | (#131203) Recipient has not accepted our new Terms of Service and Privacy Policy. |
<ERROR_TITLE>String | Título do erro, caso não seja possível aprovar. | Unable to add participant to group |
<ERROR_DETAILS>String | Detalhes do erro, caso não seja possível aprovar. | Recipient has not accepted our new Terms of Service and Privacy Policy. |
group_participants_update é disparado.DELETE /<GROUP_ID>/join_requests{
"messaging_product": "whatsapp",
"join_requests": [
"<JOIN_REQUEST_ID>",
//Additional join request IDs would go here, it rejecting in bulk
]
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório. ID do grupo. | Y2FwaV9ncm91cDoxNzA1NTU1MDEzOToxMjAzNjM0MDQ2OTQyMzM4MjAZD |
<JOIN_REQUEST_ID>String | Obrigatório. Identificação do pedido de participação a ser rejeitado. | MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw |
{
"messaging_product": "whatsapp",
"rejected_join_requests": [
"<JOIN_REQUEST_ID>",
//Additional join request IDs would go here, it rejecting in bulk
],
//Only included if unable to reject one or more join requests
"failed_join_requests": [
{
"join_request_id": "<JOIN_REQUEST_ID>",
"errors": [
{
"code": "<ERROR_CODE>",
"message": "<ERROR_MESSAGE>",
"title": "<ERROR_TITLE>",
"error_data": {
"details": "<ERROR_DETAILS>"
}
}
]
}
],
"errors": [
{
"code": "<ERROR_CODE>",
"message": "<ERROR_MESSAGE>",
"title": "<ERROR_TITLE>",
"error_data": {
"details": "<ERROR_DETAILS>"
}
}
]
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<JOIN_REQUEST_ID>String | Identificação do pedido de participação rejeitado ou, se não for possível rejeitar, identificação do pedido que falhou. | MTY0NjcwNDM1OTU6MTIwMzYzNDA0Njk0MjMzODIw |
<ERROR_CODE>Número inteiro | Código de erro, caso não seja possível rejeitar. | 131203 |
<ERROR_MESSAGE>String | Mensagem de erro, caso não seja possível rejeitar. | (#131203) Recipient has not accepted our new Terms of Service and Privacy Policy. |
<ERROR_TITLE>String | Título do erro, caso não seja possível rejeitar. | Unable to add participant to group |
<ERROR_DETAILS>String | Detalhes do erro, caso não seja possível rejeitar. | Recipient has not accepted our new Terms of Service and Privacy Policy. |
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório A identificação do grupo do qual você quer obter ou redefinir um link de convite. | Y2FwaV9ncm91cDoxOTUwNTU1MDA3OToxMjAzNjMzOTQzMjAdOTY0MTUZD |
GET /<GROUP_ID>/invite_link{
"messaging_product": "whatsapp",
"invite_link": "https://chat.whatsapp.com/<LINK_ID>"
}
invite_link começa sempre com o prefixo https://chat.whatsapp.com/. A única parte variável é <LINK_ID>.POST /<GROUP_ID>/invite_link{ "messaging_product": "whatsapp", }
{
"messaging_product": "whatsapp",
"invite_link": "https://chat.whatsapp.com/<LINK_ID>"
}
utility, ele não pode ser modificado ao ser copiado da biblioteca de modelos para sua conta do WhatsApp Business.GET /message_template_library?category=utility&topic=group_invite_link&language=enPOST /<BUSINESS_PHONE_NUMBER_ID>/messages| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<BUSINESS_PHONE_NUMBER_ID>Número inteiro | Obrigatório Identificação do número de telefone comercial. | 13057863445 |
curl --location 'https://graph.facebook.com/<API_VERSION>/<BUSINESS_PHONE_NUMBER_ID>/messages?access_token=' \
--header 'Content-Type: application/json' \
--data '{
"messaging_product": "whatsapp",
"to": "<WHATSAPP_USER_PHONE_NUMBER>",
"type": "template",
"template": {
"name": "<TEMPLATE_NAME>",
"language": {
"code": "<TEMPLATE_LANGUAGE>"
},
"components": [
{
"type": "body",
"parameters": [
{
"type": "group_id",
"group_id": "<GROUP_ID>"
},
{
...additional parameters
}
]
}
]
}
}'
DELETE /<GROUP_ID>| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório A identificação do grupo que você quer excluir. | Y2FwaV9ncm91cDoxOTUwNTU1MDA3OToxMjAzNjMzOTQzMjAdOTY0MTUZD |
group_lifecycle_update é disparado.DELETE /<GROUP_ID>/participants{
"messaging_product": "whatsapp",
"participants": [
{ "user": "<WHATSAPP_USER_PHONE_NUMBER> or <WHATSAPP_USER_ID>" },
{ "user": "<WHATSAPP_USER_PHONE_NUMBER> or <WHATSAPP_USER_ID>"" },
...
]
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
"participants": []Matriz | Opcional Especifica uma matriz de números de telefone ou de identificações de contas do WhatsApp. O número de telefone comercial usado para criar o grupo é sempre adicionado como criador e administrador.
| |
group_participants_update é disparado.GET /<GROUP_ID>?fields=<FIELDS>| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<GROUP_ID>String | Obrigatório A identificação do grupo do qual você está consultando informações. | Y2FwaV9ncm91cDoxOTUwNTU1MDA3OToxMjAzNjMzOTQzMjAdOTY0MTUZD |
<FIELDS>String | Opcional Uma lista de campos a serem retornados, separada por vírgulas. Se nenhum campo for informado, apenas a identificação do grupo será retornada. | "subject,description,participants,join_approval_mode" |
| Campo | Descrição | Exemplo de valor de retorno |
|---|---|---|
join_approval_modeString | Indica se os usuários do WhatsApp que clicarem no link de convite poderão entrar no grupo com ou sem aprovação prévia. Os valores podem ser os seguintes:
| auto_approve |
subjectString | O nome do grupo. | "Artificial Intelligence Insights" |
descriptionString | A descrição do grupo, se tiver sido definida durante a criação. | "Explore AI developments, share knowledge, and discuss the future of artificial intelligence with fellow enthusiasts and experts." |
suspendedBooliano | Retorna true se o grupo tiver sido suspenso pelo WhatsApp. | false |
creation_timestampNúmero inteiro | Registro de data e hora UNIX em segundos da criação do grupo. | 683731200 |
participantsLista | Uma lista de objetos {"wa_id": "<WA_ID>"}, em que <WA_ID> é um participante do grupo que está sendo consultado. | [{"wa_id": "2228675309"}, {"wa_id": "7693349922"}] |
total_participant_countNúmero inteiro | O número total de participantes do grupo, excluindo sua empresa. | 6 |
{
"messaging_product": "whatsapp",
"id": "<GROUP_ID>",
"subject": "<SUBJECT>",
"creation_timestamp": "<TIMESTAMP>",
"suspended": "<SUSPENDED>",
"description": "<DESCRIPTION>",
"total_participant_count": "<TOTAL_PARTICIPANT_COUNT>",
"participants": [
{
"wa_id": "<WA_ID>"
},
{
"wa_id": "<WA_ID>"
}
],
"join_approval_mode": "<JOIN_APPROVAL_MODE>"
}
GET /<BUSINESS_PHONE_NUMBER_ID>/groups?limit=<LIMIT>, // Optional
&after=<AFTER_CURSOR>, // Optional
&before=<BEFORE_CURSOR> // Optional
| Parâmetro | Descrição |
|---|---|
<LIMIT>Opcional | O número de grupos para buscar na solicitação. Mínimo: 1 | Padrão: 25 | Máximo: 1.024 |
<BEFORE_CURSOR>Opcional | Cursor que aponta para o início de uma página de dados. Saiba mais sobre resultados paginados na Graph API neste link |
<AFTER_CURSOR>Opcional | Cursor que aponta para o fim de uma página de dados. Saiba mais sobre resultados paginados na Graph API neste link |
{ "data": { "groups": [ {"id": "GROUP_ID", "subject": SUBJECT, "created_at": "TIMESTAMP"}, {"id": "GROUP_ID", "subject": SUBJECT, "created_at": "TIMESTAMP"} … ] }, "paging": { "cursors": { "after": "MTAxNTExOTQ1MjAwNzI5NDE=", "before": "NDMyNzQyODI3OTQw" }, "previous": "https://graph.facebook.com/VERSION/PHONE_NUMBER_ID/groups?limit=10&before=NDMyNzQyODI3OTQw", "next": "https://graph.facebook.com/VERSION/PHONE_NUMBER_ID/groups?limit=25&after=MTAxNTExOTQ1MjAwNzI5NDE=" } }
| Parâmetro | Descrição |
|---|---|
data[groups]Lista | Uma lista de grupos, cada um com a identificação, o nome, o registro de data e hora Unix da criação do grupo. |
pagingObjeto | Um objeto de paginação. Saiba mais sobre resultados paginados na Graph API neste link |
POST /<GROUP_ID>{
"messaging_product": "whatsapp",
"subject": "<GROUP_SUBJECT>",
"profile_picture_file": "<FILE_PATH>",
"description": "<GROUP_DESCRIPTION>",
}
| Espaço reservado | Descrição | Exemplo de valor |
|---|---|---|
<FILE_PATH>String | Opcional Um caminho para um arquivo de imagem armazenado no seu diretório local. Para carregar um arquivo: siga a mesma estrutura de solicitação do ponto de extremidade Carregar mídia. Exemplo de carregamento de arquivo com cURL: Requisitos para foto de perfil do grupo:
| /local/path/file.jpg |
<GROUP_SUBJECT>String | Opcional O novo nome do grupo.
| "Watch Enthusiasts" |
<GROUP_DESCRIPTION>String | Opcional A nova descrição do grupo.
| "Join our community to discuss the latest timepieces, share watch reviews, and connect with fellow horology enthusiasts." |
group_settings_update é disparado.