{"componentChunkName":"component---src-templates-docs-js","path":"/whatsapp/receive_notifications/groups","result":{"data":{"site":{"siteMetadata":{"title":"broadcaster","docsLocation":"https://github.com","docsLocationType":"github","editable":false}},"mdx":{"fields":{"id":"947d0268-b824-5d27-a514-889abaf297ba","title":"Group notifications","slug":"/whatsapp/receive_notifications/groups"},"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Group notifications\",\n  \"order\": 6\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Integration summary\")), mdx(\"ul\", {\n    parentName: \"blockquote\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Delivery:\"), \" WhatsApp \\u2192 Concepto M\\xF3vil \\u2192 \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"POST\"), \" to your webhook URL (the one you share with our Operations team), with a JSON body.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Format:\"), \" Meta's \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"value\"), \" object without \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"metadata\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"messaging_product\"), \" (see \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/webhook\"\n  }, \"Webhook\"), \").\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Identify the user:\"), \" \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications#h-howtoidentifytheuser\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"from\"), \"/\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"recipient_id\"), \" or, if missing, the BSUID\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Types on this page:\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_create\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_delete\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_participants_add\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_participants_remove\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_join_request_created\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_join_request_revoked\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_settings_update\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_suspend\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_suspend_cleared\"), \" (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"type\"), \" values) and status of messages sent to a group\"))), mdx(\"p\", null, \"Events for your number's groups: group creation and deletion, participant changes, join requests, group settings, and group suspension. To create and manage groups, see \", mdx(\"a\", {\n    href: \"/whatsapp/administration/groups\"\n  }, \"Groups\"), \".\"), mdx(\"section\", {\n    \"id\": \"generalstructure\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"General structure\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Structure shared by every group event.\")), mdx(\"section\", {\n    \"id\": \"generalstructure--structure\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Structure\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Fields for \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"General structure\"), \":\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Name\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Type\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"groups\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"List of group events. Each object includes at least \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"timestamp\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"group_id\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"type\"), \"; the other fields depend on the event type (see \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/groups#h-generalstructure\"\n  }, \"Examples\"), \").\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Object list\")))), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Values of the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"type\"), \" field:\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Value\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Event\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_create\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Result of creating a group.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_delete\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Result of deleting a group.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_participants_add\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A user joined the group (for example, through the invite link).\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_participants_remove\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"One or more participants were removed, or a participant left the group (\", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"initiated_by\"), \" indicates who triggered it).\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_join_request_created\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A user requested to join a group that requires approval.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_join_request_revoked\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A user canceled their join request.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_settings_update\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Result of updating the group's subject, description, or profile picture.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_suspend\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"WhatsApp suspended the group.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_suspend_cleared\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The group's suspension was lifted.\")))), mdx(\"blockquote\", {\n    parentName: \"section\"\n  }, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Note:\"), \" participant objects (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"added_participants\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"removed_participants\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"failed_participants\"), \") and join-request events identify the user with the same rules as message notifications: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"user_id\"), \" (BSUID) is always included, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wa_id\"), \" is included only when the phone number is available, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"parent_user_id\"), \" is included only if the business has linked portfolios, and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"username\"), \" is included only if the user has one. See \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications#h-usernamesandbsuid\"\n  }, \"Usernames and BSUID\"), \". For brevity, some examples below show only \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wa_id\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"input\"), \".\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"createagroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Create a group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"type\"), \" field is \\\"group_create\\\".\")), mdx(\"section\", {\n    \"id\": \"createagroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Create a group\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"createagroup--example--groupcreatedsuccessfully\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Group created successfully\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_create\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"subject\\\": \\\"test invite link\\\",\\n            \\\"invite_link\\\": \\\"https://chat.whatsapp.com/LINK_ID\\\",\\n            \\\"join_approval_mode\\\": \\\"JOIN_APPROVAL_MODE\\\"\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"createagroup--example--groupcreationfailed\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Group creation failed\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"type\\\": \\\"group_create\\\",\\n            \\\"subject\\\": \\\"GROUP_SUBJECT\\\",\\n            \\\"description\\\": \\\"GROUP_DESCRIPTION\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"errors\\\": [\\n                {\\n                    \\\"code\\\": \\\"ERROR_CODE\\\",\\n                    \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                    \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                    \\\"error_data\\\": {\\n                        \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                    }\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"deleteagroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Delete a group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"type\"), \" field is \\\"group_delete\\\".\")), mdx(\"section\", {\n    \"id\": \"deleteagroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Delete a group\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_delete\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"errors\\\": [\\n                {\\n                    \\\"code\\\": \\\"ERROR_CODE\\\",\\n                    \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                    \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                    \\\"error_data\\\": {\\n                        \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                    }\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\")), mdx(\"p\", {\n    parentName: \"section\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"errors\"), \" is included only if the deletion failed.\"), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"auserjoinsthegroupthroughaninvitelink\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"A user joins the group through an invite link\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"type\"), \" field is \\\"group_participants_add\\\".\")), mdx(\"section\", {\n    \"id\": \"auserjoinsthegroupthroughaninvitelink--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"A user joins the group through an invite link\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_add\\\",\\n            \\\"reason\\\": \\\"invite_link\\\",\\n            \\\"added_participants\\\": [\\n                {\\n                    \\\"wa_id\\\": \\\"WHATSAPP_ID\\\",\\n                    \\\"user_id\\\": \\\"BSUID\\\",\\n                    \\\"parent_user_id\\\": \\\"PARENT_BSUID\\\",\\n                    \\\"username\\\": \\\"USERNAME\\\"\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\")), mdx(\"p\", {\n    parentName: \"section\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"user_id\"), \" is always included; \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wa_id\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"parent_user_id\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"username\"), \" are included only in the cases described in the \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/groups#h-generalstructure\"\n  }, \"note above\"), \".\"), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"ausercreatesorcancelsajoinrequest\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"A user creates or cancels a join request\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Applies to groups whose \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"join_approval_mode\"), \" requires approval. The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"type\"), \" field indicates the event:\"), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Request created: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"type\"), \" is \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_join_request_created\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Request canceled: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"type\"), \" is \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"group_join_request_revoked\"), \".\"))), mdx(\"section\", {\n    \"id\": \"ausercreatesorcancelsajoinrequest--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"A user creates or cancels a join request\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"GROUP_REQUEST_TYPE\\\",\\n            \\\"reason\\\": \\\"REASON_FOR_REQUEST_OUTCOME\\\",\\n            \\\"join_request_id\\\": \\\"JOIN_REQUEST_ID\\\",\\n            \\\"wa_id\\\": \\\"WHATSAPP_USER_ID\\\"\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"ausercreatesorcancelsajoinrequest--example--joinrequestapproved\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Join request approved\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"When the request is approved (manually or automatically), a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_participants_add\"), \" event with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"reason: \\\"invite_link\\\"\"), \" is also sent:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_add\\\",\\n            \\\"reason\\\": \\\"invite_link\\\",\\n            \\\"added_participants\\\": [\\n                {\\n                    \\\"input\\\": \\\"WHATSAPP_USER_PHONE_NUMBER\\\",\\n                    \\\"wa_id\\\": \\\"WHATSAPP_USER_ID\\\"\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"removeparticipantsfromagroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Remove participants from a group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_participants_remove\"), \" event is triggered when the business removes one or more participants from the group (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"initiated_by: \\\"business\\\"\"), \").\")), mdx(\"section\", {\n    \"id\": \"removeparticipantsfromagroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Remove participants from a group\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"removeparticipantsfromagroup--example--participantsremovedsuccessfully\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Participants removed successfully\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_remove\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"removed_participants\\\": [\\n                {\\n                    \\\"input\\\": \\\"PHONE_NUMBER or WHATSAPP_ID\\\"\\n                }\\n            ],\\n            \\\"initiated_by\\\": \\\"business\\\"\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"removeparticipantsfromagroup--example--participantspartiallyremoved\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Participants partially removed\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_remove\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"initiated_by\\\": \\\"business\\\",\\n            \\\"removed_participants\\\": [\\n                {\\n                    \\\"input\\\": \\\"PHONE_NUMBER or WHATSAPP_ID\\\"\\n                }\\n            ],\\n            \\\"failed_participants\\\": [\\n                {\\n                    \\\"input\\\": \\\"PHONE_NUMBER or WHATSAPP_ID\\\",\\n                    \\\"errors\\\": [\\n                        {\\n                            \\\"code\\\": \\\"ERROR_CODE\\\",\\n                            \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                            \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                            \\\"error_data\\\": {\\n                                \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                            }\\n                        }\\n                    ]\\n                }\\n            ],\\n            \\\"errors\\\": [\\n                {\\n                    \\\"code\\\": \\\"ERROR_CODE\\\",\\n                    \\\"message\\\": \\\"Failed to remove some participants from the group\\\",\\n                    \\\"title\\\": \\\"Not All Participants Remove Succeeded\\\",\\n                    \\\"error_data\\\": {\\n                        \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                    }\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"removeparticipantsfromagroup--example--participantremovalfailed\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Participant removal failed\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_remove\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"failed_participants\\\": [\\n                {\\n                    \\\"input\\\": \\\"PHONE_NUMBER or WHATSAPP_ID\\\"\\n                }\\n            ],\\n            \\\"errors\\\": [\\n                {\\n                    \\\"code\\\": \\\"ERROR_CODE\\\",\\n                    \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                    \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                    \\\"error_data\\\": {\\n                        \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                    }\\n                }\\n            ],\\n            \\\"initiated_by\\\": \\\"business\\\"\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"aparticipantleavesthegroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"A participant leaves the group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Sent when a participant leaves the group on their own. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"initiated_by\"), \" is \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\\"participant\\\"\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"removed_participants\"), \" contains only the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wa_id\"), \" of the participant who left.\")), mdx(\"section\", {\n    \"id\": \"aparticipantleavesthegroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"A participant leaves the group\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_participants_remove\\\",\\n            \\\"removed_participants\\\": [\\n                {\\n                    \\\"wa_id\\\": \\\"WHATSAPP_ID\\\"\\n                }\\n            ],\\n            \\\"initiated_by\\\": \\\"participant\\\"\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"updategroupsettings\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Update group settings\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_settings_update\"), \" event is triggered when the group subject, description, or profile picture is updated.\")), mdx(\"section\", {\n    \"id\": \"updategroupsettings--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Update group settings\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"updategroupsettings--example--settingsupdatedsuccessfully\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Settings updated successfully\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_settings_update\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"profile_picture\\\": {\\n                \\\"mime_type\\\": \\\"image/jpeg\\\",\\n                \\\"update_successful\\\": true,\\n                \\\"sha256\\\": \\\"PHOTO_HASH\\\"\\n            },\\n            \\\"group_subject\\\": {\\n                \\\"text\\\": \\\"Test Subject\\\",\\n                \\\"update_successful\\\": true\\n            },\\n            \\\"group_description\\\": {\\n                \\\"text\\\": \\\"Test Description\\\",\\n                \\\"update_successful\\\": true\\n            }\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"updategroupsettings--example--settingsupdatefailed\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Settings update failed\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"When a field fails to update, that field includes \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"update_successful: false\"), \" and its own \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"errors\"), \" array, in addition to a general \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"errors\"), \" array on the event:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"type\\\": \\\"group_settings_update\\\",\\n            \\\"request_id\\\": \\\"REQUEST_ID\\\",\\n            \\\"profile_picture\\\": {\\n                \\\"mime_type\\\": \\\"image/jpeg\\\",\\n                \\\"update_successful\\\": true,\\n                \\\"sha256\\\": \\\"PHOTO_HASH\\\"\\n            },\\n            \\\"group_subject\\\": {\\n                \\\"text\\\": \\\"Test Subject\\\",\\n                \\\"update_successful\\\": false,\\n                \\\"errors\\\": [\\n                    {\\n                        \\\"code\\\": \\\"ERROR_CODE\\\",\\n                        \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                        \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                        \\\"error_data\\\": {\\n                            \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                        }\\n                    }\\n                ]\\n            },\\n            \\\"group_description\\\": {\\n                \\\"text\\\": \\\"Test Description\\\",\\n                \\\"update_successful\\\": false,\\n                \\\"errors\\\": [\\n                    {\\n                        \\\"code\\\": \\\"ERROR_CODE\\\",\\n                        \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                        \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                        \\\"error_data\\\": {\\n                            \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                        }\\n                    }\\n                ]\\n            },\\n            \\\"errors\\\": [\\n                {\\n                    \\\"code\\\": \\\"ERROR_CODE\\\",\\n                    \\\"message\\\": \\\"ERROR_MESSAGE\\\",\\n                    \\\"title\\\": \\\"ERROR_TITLE\\\",\\n                    \\\"error_data\\\": {\\n                        \\\"details\\\": \\\"ERROR_DETAILS\\\"\\n                    }\\n                }\\n            ]\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"groupstatus\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Group status\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_status_update\"), \" event is triggered when WhatsApp suspends a group you manage, or when the suspension is lifted from a previously suspended group.\")), mdx(\"section\", {\n    \"id\": \"groupstatus--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Group status\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"groupstatus--example--groupsuspended\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Group suspended\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"type\\\": \\\"group_suspend\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\"\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"groupstatus--example--groupsuspensionlifted\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Group suspension lifted\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"groups\\\": [\\n        {\\n            \\\"timestamp\\\": \\\"TIMESTAMP\\\",\\n            \\\"type\\\": \\\"group_suspend_cleared\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\"\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"messagesreceivedfromagroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Messages received from a group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"When a participant sends a message to a group managed by your number, the notification arrives with the \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/messages#h-generalstructure\"\n  }, \"general message structure\"), \", including the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_id\"), \" field inside the message object to identify the group.\")), mdx(\"section\", {\n    \"id\": \"messagesreceivedfromagroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"contacts\\\": [\\n        {\\n            \\\"profile\\\": { \\\"name\\\": \\\"H\\xE9ctor\\\" },\\n            \\\"wa_id\\\": \\\"5215500000001\\\"\\n        }\\n    ],\\n    \\\"messages\\\": [\\n        {\\n            \\\"from\\\": \\\"5215500000001\\\",\\n            \\\"group_id\\\": \\\"GROUP_ID\\\",\\n            \\\"id\\\": \\\"ABGHUhVUByKUHwIKPrA13J63aX1gRA\\\",\\n            \\\"timestamp\\\": \\\"1617061836\\\",\\n            \\\"type\\\": \\\"text\\\",\\n            \\\"text\\\": { \\\"body\\\": \\\"Hello group\\\" }\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"statusofmessagessenttoagroup\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Status of messages sent to a group\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"When you send messages to a group, you receive status webhooks (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sent\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"delivered\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"read\"), \"). Instead of sending one webhook per update, WhatsApp can aggregate them; each webhook always refers to a single group and a single status. There are two kinds of aggregation.\")), mdx(\"section\", {\n    \"id\": \"statusofmessagessenttoagroup--structure\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Structure\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Statuses for messages sent to a group (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sent\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"delivered\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"read\"), \") arrive in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"statuses\"), \" array, with the same structure as \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/statuses#h-messagestatuses\"\n  }, \"Status notifications\"), \" plus these additional fields:\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Name\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Type\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"recipient_type\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Always \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"group\"), \".\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"recipient_participant_id\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Phone number of the group participant the status applies to. Not present in the \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"sent\"), \" status. Omitted when the participant has a username and their phone number is unavailable.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String (conditional)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"recipient_participant_user_id\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"BSUID of the group participant. Always included (except in the \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"sent\"), \" status).\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String (conditional)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"recipient_participant_parent_user_id\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Parent BSUID of the group participant. Only included if the business has linked portfolios.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String (optional)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"group_id\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Group identifier.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String (optional)\")))), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"For group conversations, the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pricing.category\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"conversation.origin.type\"), \" use group-specific values: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_marketing\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_utility\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"group_service\"), \", and the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pricing_model\"), \" is \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"PMP\"), \".\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"WhatsApp may aggregate several statuses into a single webhook. Each webhook always refers to a single group and a single status.\"), mdx(\"blockquote\", {\n    parentName: \"section\"\n  }, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Note:\"), \" In aggregated webhooks, the platform only replaces the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"id\"), \" of the first status (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"statuses[0].id\"), \") with the internal message id; the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"id\"), \" of the remaining statuses keeps Meta's original \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wamid\"), \".\"))), mdx(\"section\", {\n    \"id\": \"statusofmessagessenttoagroup--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Status of messages sent to a group\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"statusofmessagessenttoagroup--example--multipleparticipants,samemessage\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Multiple participants, same message\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"If you send a message and several participants report a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"delivered\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"read\"), \" status, WhatsApp sends a single aggregated webhook with multiple \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"status\"), \" objects: same group, same status, and same message, with each participant identified by \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"recipient_participant_id\"), \".\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"statuses\\\": [\\n        {\\n            \\\"id\\\": \\\"WHATSAPP_MESSAGE_ID\\\",\\n            \\\"status\\\": \\\"read\\\",\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"recipient_id\\\": \\\"GROUP_ID\\\",\\n            \\\"recipient_type\\\": \\\"group\\\",\\n            \\\"recipient_participant_id\\\": \\\"GROUP_PARTICIPANT_PHONE_NUMBER_1\\\",\\n            \\\"conversation\\\": {\\n                \\\"id\\\": \\\"CONVERSATION_ID\\\",\\n                \\\"origin\\\": {\\n                    \\\"type\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                },\\n                \\\"pricing\\\": {\\n                    \\\"billable\\\": true,\\n                    \\\"pricing_model\\\": \\\"PRICING_MODEL\\\",\\n                    \\\"category\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                }\\n            }\\n        },\\n        {\\n            \\\"id\\\": \\\"WHATSAPP_MESSAGE_ID\\\",\\n            \\\"status\\\": \\\"read\\\",\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"recipient_id\\\": \\\"GROUP_ID\\\",\\n            \\\"recipient_type\\\": \\\"group\\\",\\n            \\\"recipient_participant_id\\\": \\\"GROUP_PARTICIPANT_PHONE_NUMBER_2\\\",\\n            \\\"conversation\\\": {\\n                \\\"id\\\": \\\"CONVERSATION_ID\\\",\\n                \\\"origin\\\": {\\n                    \\\"type\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                },\\n                \\\"pricing\\\": {\\n                    \\\"billable\\\": true,\\n                    \\\"pricing_model\\\": \\\"PRICING_MODEL\\\",\\n                    \\\"category\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                }\\n            }\\n        }\\n    ]\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"statusofmessagessenttoagroup--example--multiplemessages,sameparticipant\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Multiple messages, same participant\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"If you send several messages to a group and the same participant reports a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"delivered\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"read\"), \" status for them, WhatsApp may send a single aggregated webhook with multiple \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"status\"), \" objects: same group, same status, and same participant, with each message identified by \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"id\"), \".\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"statuses\\\": [\\n        {\\n            \\\"id\\\": \\\"WHATSAPP_MESSAGE_ID_1\\\",\\n            \\\"status\\\": \\\"delivered\\\",\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"recipient_id\\\": \\\"GROUP_ID\\\",\\n            \\\"recipient_type\\\": \\\"group\\\",\\n            \\\"recipient_participant_id\\\": \\\"GROUP_PARTICIPANT_PHONE_NUMBER\\\",\\n            \\\"conversation\\\": {\\n                \\\"id\\\": \\\"CONVERSATION_ID\\\",\\n                \\\"origin\\\": {\\n                    \\\"type\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                },\\n                \\\"pricing\\\": {\\n                    \\\"billable\\\": true,\\n                    \\\"pricing_model\\\": \\\"PRICING_MODEL\\\",\\n                    \\\"category\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                }\\n            }\\n        },\\n        {\\n            \\\"id\\\": \\\"WHATSAPP_MESSAGE_ID_2\\\",\\n            \\\"status\\\": \\\"delivered\\\",\\n            \\\"timestamp\\\": \\\"WEBHOOK_TRIGGER_TIMESTAMP\\\",\\n            \\\"recipient_id\\\": \\\"GROUP_ID\\\",\\n            \\\"recipient_type\\\": \\\"group\\\",\\n            \\\"recipient_participant_id\\\": \\\"GROUP_PARTICIPANT_PHONE_NUMBER\\\",\\n            \\\"conversation\\\": {\\n                \\\"id\\\": \\\"CONVERSATION_ID\\\",\\n                \\\"origin\\\": {\\n                    \\\"type\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                },\\n                \\\"pricing\\\": {\\n                    \\\"billable\\\": true,\\n                    \\\"pricing_model\\\": \\\"PRICING_MODEL\\\",\\n                    \\\"category\\\": \\\"CONVERSATION_CATEGORY\\\"\\n                }\\n            }\\n        }\\n    ]\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#general-structure","title":"General structure","items":[{"url":"#structure","title":"Structure"}]},{"url":"#create-a-group","title":"Create a group","items":[{"url":"#example","title":"Example","items":[{"url":"#group-created-successfully","title":"Group created successfully"},{"url":"#group-creation-failed","title":"Group creation failed"}]}]},{"url":"#delete-a-group","title":"Delete a group","items":[{"url":"#example-1","title":"Example"}]},{"url":"#a-user-joins-the-group-through-an-invite-link","title":"A user joins the group through an invite link","items":[{"url":"#example-2","title":"Example"}]},{"url":"#a-user-creates-or-cancels-a-join-request","title":"A user creates or cancels a join request","items":[{"url":"#example-3","title":"Example","items":[{"url":"#join-request-approved","title":"Join request approved"}]}]},{"url":"#remove-participants-from-a-group","title":"Remove participants from a group","items":[{"url":"#example-4","title":"Example","items":[{"url":"#participants-removed-successfully","title":"Participants removed successfully"},{"url":"#participants-partially-removed","title":"Participants partially removed"},{"url":"#participant-removal-failed","title":"Participant removal failed"}]}]},{"url":"#a-participant-leaves-the-group","title":"A participant leaves the group","items":[{"url":"#example-5","title":"Example"}]},{"url":"#update-group-settings","title":"Update group settings","items":[{"url":"#example-6","title":"Example","items":[{"url":"#settings-updated-successfully","title":"Settings updated successfully"},{"url":"#settings-update-failed","title":"Settings update failed"}]}]},{"url":"#group-status","title":"Group status","items":[{"url":"#example-7","title":"Example","items":[{"url":"#group-suspended","title":"Group suspended"},{"url":"#group-suspension-lifted","title":"Group suspension lifted"}]}]},{"url":"#messages-received-from-a-group","title":"Messages received from a group","items":[{"url":"#example-8","title":"Example"}]},{"url":"#status-of-messages-sent-to-a-group","title":"Status of messages sent to a group","items":[{"url":"#structure-1","title":"Structure"},{"url":"#example-9","title":"Example","items":[{"url":"#multiple-participants-same-message","title":"Multiple participants, same message"},{"url":"#multiple-messages-same-participant","title":"Multiple messages, same participant"}]}]}]},"timeToRead":3,"parent":{"__typename":"File","relativePath":"whatsapp/receive_notifications/groups.md","fields":{"gitLogLatestAuthorName":"Irais Aguirre","gitLogLatestAuthorEmail":"irais.aguirre@conceptomovil.com","gitLogLatestDate":"5 hours ago"}},"frontmatter":{"metaTitle":null,"showMetadata":null,"editable":null,"showPreviousNext":null,"showToc":null}},"gitBranch":{"name":"20211019-2FACTOR_AUTH"},"gitCommit":{"hash":"9713e1925aeb8cad930f91b6bf05d0b5937b2bb5","date":"2026-11-13 06:39"}},"pageContext":{"id":"947d0268-b824-5d27-a514-889abaf297ba"}},"staticQueryHashes":["12478684","12478684","2882937274","2882937274","353167761","353167761"]}