{
"code": "validation_error",
"message": "A maximum of 100 messages can be marked as read per request."
}
{
"code": "instance_not_found",
"message": "Instance not found."
}
Mensagens
Marcar Mensagens como Lidas (Lote)
Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes.
O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).
{
"code": "validation_error",
"message": "A maximum of 100 messages can be marked as read per request."
}
{
"code": "instance_not_found",
"message": "Instance not found."
}
Use este endpoint para marcar até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes, incluindo grupos, sem custo adicional.Os ids são os mesmos recebidos nos webhooks de mensagem, como o campo data.id do evento message.received. Requisições com mais de 100 IDs retornam erro de validação.A resposta discrimina o resultado por mensagem no campo results, nunca um sucesso genérico:
read: a mensagem foi marcada como lida.
ignored: a mensagem foi enviada pela própria instância, então não há leitura a confirmar.
not_found: a mensagem está fora do prazo de leitura (veja abaixo) ou nunca foi processada pela instância.
Cada mensagem fica disponível para leitura por um período limitado depois que chega na instância:
Conversas individuais e grupos: até 3 dias após o recebimento da mensagem.
Status: até 24 horas após a publicação, o mesmo período em que o status fica visível no WhatsApp.
Depois desse prazo o retorno para aquele ID é not_found. Isso não indica uma falha na instância: a janela de leitura expirou e a confirmação não pode mais ser enviada.Para marcar uma única mensagem, use o endpoint de leitura unitária.
Se a conta do WhatsApp conectada estiver com a confirmação de leitura desativada nas configurações de privacidade, as mensagens são marcadas como lidas apenas localmente e o remetente não vê o tique azul.
Este endpoint está disponível apenas para instâncias não oficiais. Instâncias com API oficial (WABA) retornam erro por enquanto.
IDs das mensagens a marcar como lidas. É o mesmo id recebido nos webhooks de mensagem (por exemplo, no evento message.received). Limite de 100 por requisição.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Zapster API","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/zapsterapi/hkJBRd8211Vh6izL/logo/light.svg?fit=max\u0026auto=format\u0026n=hkJBRd8211Vh6izL\u0026q=85\u0026s=7f89e972a4a31e307a18ba827099ba54","dark":"https://mintcdn.com/zapsterapi/hkJBRd8211Vh6izL/logo/dark.svg?fit=max\u0026auto=format\u0026n=hkJBRd8211Vh6izL\u0026q=85\u0026s=0584b46f3a6a9f5ef5186367a623ed31","href":"https://app.zapsterapi.com/?utm_source=Documentation\u0026utm_medium=Logo"},"favicon":"https://mintcdn.com/zapsterapi/hkJBRd8211Vh6izL/favicon.svg?fit=max\u0026auto=format\u0026n=hkJBRd8211Vh6izL\u0026q=85\u0026s=1d151a6daf40e21848a8e653dd56911e","api":{"openapi":{"source":"pt-BR/v1/openapi/openapi.json"},"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"https://wa.me/5587999079455?text=Olá, preciso de ajuda com a documentação da Zapster","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.zapsterapi.com/?utm_source=Documentation\u0026utm_medium=NavbarButton"}},"integrations":{"gtm":{"tagId":"GTM-PF4DXJPP"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"pt-BR","default":true,"href":"pt-BR/v1/introduction"},{"language":"en","href":"en/v1/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zapsterapi","hasAudioNarration":false,"actualSubdomain":"zapsterapi","customDomains":["developer.zapsterapi.com"],"gitSource":{"type":"github","owner":"zapsterapi","repo":"zapsterapi-monorepo","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae129f0a0016dd52b435656","collectionId":"84f617dc-1a5c-4cd4-88d4-2529d3a8d2a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae129f0a0016dd52b435656"},"entitlements":{},"buildId":"6ae129f0a0016dd52b435656","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"pt-BR","tag":"Referência da API","count":41},{"language":"pt-BR","tag":"Visão Geral","count":28},{"language":"pt-BR","tag":"CLI","count":18},{"language":"pt-BR","tag":"Instâncias","count":17},{"language":"en","tag":"Overview","count":16},{"language":"pt-BR","tag":"Para Grupos","count":9},{"language":"en","tag":"Guides","count":8},{"language":"pt-BR","tag":"Guias","count":8},{"language":"en","tag":"Concepts","count":7},{"language":"pt-BR","tag":"Webhooks","count":7},{"language":"pt-BR","tag":"Conceitos","count":7},{"language":"en","tag":"CLI","count":6},{"language":"pt-BR","tag":"Utilidades","count":6},{"language":"pt-BR","tag":"Mensagens","count":5},{"language":"en","tag":"Introduction","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pt-BR/v1/api-reference/messages/read-messages-batch","slug":"/pt-BR/v1/api-reference/messages/read-messages-batch","pageMetadata":{"title":"Marcar Mensagens como Lidas (Lote)","openapi":"POST /wa/messages/read","description":"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes.\n\nO resultado é discriminado por mensagem: `read` (lida), `ignored` (mensagem enviada pela própria instância, sem leitura a confirmar) ou `not_found` (mensagem fora do prazo de leitura ou nunca processada pela instância).\n","href":"/pt-BR/v1/api-reference/messages/read-messages-batch"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"O resultado é discriminado por mensagem: \", _jsx(_components.code, {\n children: \"read\"\n }), \" (lida), \", _jsx(_components.code, {\n children: \"ignored\"\n }), \" (mensagem enviada pela própria instância, sem leitura a confirmar) ou \", _jsx(_components.code, {\n children: \"not_found\"\n }), \" (mensagem fora do prazo de leitura ou nunca processada pela instância).\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use este endpoint para marcar até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes, incluindo grupos, sem custo adicional.`}),`\n`,_jsxs(_components.p,{children:[`Os `,_jsx(_components.code,{children:`ids`}),` são os mesmos recebidos nos webhooks de mensagem, como o campo `,_jsx(_components.code,{children:`data.id`}),` do evento `,_jsx(_components.code,{children:`message.received`}),`. Requisições com mais de 100 IDs retornam erro de validação.`]}),`\n`,_jsxs(_components.p,{children:[`A resposta discrimina o resultado por mensagem no campo `,_jsx(_components.code,{children:`results`}),`, nunca um sucesso genérico:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`read`}),`: a mensagem foi marcada como lida.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ignored`}),`: a mensagem foi enviada pela própria instância, então não há leitura a confirmar.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`not_found`}),`: a mensagem está fora do prazo de leitura (veja abaixo) ou nunca foi processada pela instância.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`prazo-para-marcar-como-lida`,children:`Prazo para marcar como lida`}),`\n`,_jsx(_components.p,{children:`Cada mensagem fica disponível para leitura por um período limitado depois que chega na instância:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Conversas individuais e grupos: até 3 dias após o recebimento da mensagem.`}),`\n`,_jsx(_components.li,{children:`Status: até 24 horas após a publicação, o mesmo período em que o status fica visível no WhatsApp.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Depois desse prazo o retorno para aquele ID é `,_jsx(_components.code,{children:`not_found`}),`. Isso não indica uma falha na instância: a janela de leitura expirou e a confirmação não pode mais ser enviada.`]}),`\n`,_jsxs(_components.p,{children:[`Para marcar uma única mensagem, use o endpoint de `,_jsx(_components.a,{href:`/pt-BR/v1/api-reference/messages/read-message`,children:`leitura unitária`}),`.`]}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`Se a conta do WhatsApp conectada estiver com a confirmação de leitura desativada nas configurações de privacidade, as mensagens são marcadas como lidas apenas localmente e o remetente não vê o tique azul.`})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Este endpoint está disponível apenas para instâncias não oficiais. Instâncias com API oficial (WABA) retornam erro por enquanto.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Marcar Mensagens como Lidas (Lote)","openapi":"POST /wa/messages/read","description":"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes.\n\nO resultado é discriminado por mensagem: `read` (lida), `ignored` (mensagem enviada pela própria instância, sem leitura a confirmar) ou `not_found` (mensagem fora do prazo de leitura ou nunca processada pela instância).\n","href":"/pt-BR/v1/api-reference/messages/read-messages-batch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prazo para marcar como lida","slug":"prazo-para-marcar-como-lida","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/zapsterapi/d763f142efc774ff/watch-openapi.js"],"openApiReferenceData":{"operation":{"summary":"Marcar Mensagens como Lidas","description":"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes.\n\nO resultado é discriminado por mensagem: `read` (lida), `ignored` (mensagem enviada pela própria instância, sem leitura a confirmar) ou `not_found` (mensagem fora do prazo de leitura ou nunca processada pela instância).\n","tags":["Mensagens"],"security":["6ab34b25-96dc-4d47-9ba9-ccd66134ac15"],"requestBody":"cdf8eec9-fd82-4e7e-bd26-278569b497db","responses":{"200":"f9f31d85-2d44-4e58-aba1-b6b88af326a0","400":"c0647294-866a-4fe4-8a80-5f149262814b","404":"dda6f0c7-d167-4d3a-9d0b-776c447d2368"},"method":"post","type":"path","servers":["47a9c70c-c4df-478d-b870-e68c65cdee2a"],"path":"/wa/messages/read","baseUrlOptions":["https://api.zapsterapi.com/v1"],"title":"Marcar Mensagens como Lidas","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["instance_id","ids"],"properties":{"instance_id":{"type":"string","description":"ID da instância que recebeu as mensagens.","example":"ozj35qv418rpmlrb","isRequired":true,"uniqueKey":"instance_id","typeLabel":"string"},"ids":{"type":"array","minItems":1,"maxItems":100,"description":"IDs das mensagens a marcar como lidas. É o mesmo `id` recebido nos webhooks de mensagem (por exemplo, no evento `message.received`). Limite de 100 por requisição.","items":{"type":"string","uniqueKey":"ids.items.[INDEX]","typeLabel":"string"},"example":["3EB0538DA65A59F6D3A926","3EB0791B2D3F4C5A6B7C8D"],"isRequired":true,"uniqueKey":"ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"instance_id":"ozj35qv418rpmlrb","ids":["3EB0538DA65A59F6D3A926","3EB0791B2D3F4C5A6B7C8D"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"f9f31d85-2d44-4e58-aba1-b6b88af326a0":{"description":"Resultado por mensagem","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID da mensagem processada.","example":"3EB0538DA65A59F6D3A926","uniqueKey":"results.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","enum":["read","ignored","not_found"],"description":"Resultado individual:\n\n- `read` - A mensagem foi marcada como lida.\n- `ignored` - A mensagem foi enviada pela própria instância e não possui leitura a confirmar.\n- `not_found` - A mensagem está fora do prazo de leitura (até 3 dias para conversas e grupos, até 24 horas para status) ou nunca foi processada pela instância.\n","example":"read","uniqueKey":"results.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":[{"id":"3EB0538DA65A59F6D3A926","status":"read"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"c0647294-866a-4fe4-8a80-5f149262814b":{"description":"Requisição inválida (por exemplo, mais de 100 IDs) ou instância WABA","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"validation_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"A maximum of 100 messages can be marked as read per request.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"validation_error","message":"A maximum of 100 messages can be marked as read per request."}}},"exampleType":"generated"}},"exampleType":"generated"},"dda6f0c7-d167-4d3a-9d0b-776c447d2368":{"description":"Instância não encontrada ou não pertence ao usuário","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"instance_not_found","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"Instance not found.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"instance_not_found","message":"Instance not found."}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"6ab34b25-96dc-4d47-9ba9-ccd66134ac15":{"bearer":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearer"}}},"servers":{"47a9c70c-c4df-478d-b870-e68c65cdee2a":{"url":"https://api.zapsterapi.com/v1","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"pt-BR/v1/openapi/openapi.json"},"subdomain":"zapsterapi","siteName":"Zapster API","title":"Marcar Mensagens como Lidas (Lote) - Zapster API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/pt-BR/v1/api-reference/messages/read-messages-batch","matchLevel":0},"en":{"href":"/en/v1/introduction","matchLevel":4}}},"lastModified":"2026-07-31T17:48:13.546Z","originalFileLocation":"pt-BR/v1/api-reference/messages/read-messages-batch.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes. O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Zapster API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Marcar Mensagens como Lidas (Lote) - Zapster API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes. O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Zapster API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zapsterapi.mintlify.app/_mintlify/api/og/v2?division=Mensagens\u0026amp;title=Marcar+Mensagens+como+Lidas+%28Lote%29\u0026amp;description=Marca+at%C3%A9+100+mensagens+recebidas+como+lidas+em+uma+%C3%BAnica+requisi%C3%A7%C3%A3o.+As+mensagens+podem+pertencer+a+conversas+diferentes.%0A%0AO+resultado+%C3%A9+discriminado+por+mensa\u0026amp;theme=6d793348c5ecf1343e906422\u0026amp;signature=4f78a64cbe21e9eeb414234063c908a65820d69bcd1f7eab1636a01937863be0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Marcar Mensagens como Lidas (Lote) - Zapster API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes. O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zapsterapi.mintlify.app/_mintlify/api/og/v2?division=Mensagens\u0026amp;title=Marcar+Mensagens+como+Lidas+%28Lote%29\u0026amp;description=Marca+at%C3%A9+100+mensagens+recebidas+como+lidas+em+uma+%C3%BAnica+requisi%C3%A7%C3%A3o.+As+mensagens+podem+pertencer+a+conversas+diferentes.%0A%0AO+resultado+%C3%A9+discriminado+por+mensa\u0026amp;theme=6d793348c5ecf1343e906422\u0026amp;signature=4f78a64cbe21e9eeb414234063c908a65820d69bcd1f7eab1636a01937863be0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/zapsterapi/cT0sfMuuEnMLr0h-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Zapster API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/v1/api-reference/messages/read-messages-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.zapsterapi.com/#organization\",\"name\":\"Zapster API\",\"url\":\"https://developer.zapsterapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zapsterapi/hkJBRd8211Vh6izL/logo/light.svg?fit=max\u0026auto=format\u0026n=hkJBRd8211Vh6izL\u0026q=85\u0026s=7f89e972a4a31e307a18ba827099ba54\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.zapsterapi.com#website\",\"name\":\"Zapster API\",\"url\":\"https://developer.zapsterapi.com\",\"publisher\":{\"@id\":\"https://developer.zapsterapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch#webpage\",\"url\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch\",\"name\":\"Marcar Mensagens como Lidas (Lote)\",\"description\":\"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes. O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).\",\"dateModified\":\"2026-07-31T17:48:13.546Z\",\"isPartOf\":{\"@id\":\"https://developer.zapsterapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mensagens\",\"item\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/sending\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Marcar Mensagens como Lidas (Lote)\",\"item\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch#apireference\",\"headline\":\"Marcar Mensagens como Lidas (Lote)\",\"name\":\"Marcar Mensagens como Lidas (Lote)\",\"description\":\"Marca até 100 mensagens recebidas como lidas em uma única requisição. As mensagens podem pertencer a conversas diferentes. O resultado é discriminado por mensagem: read (lida), ignored (mensagem enviada pela própria instância, sem leitura a confirmar) ou not_found (mensagem fora do prazo de leitura ou nunca processada pela instância).\",\"url\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch\",\"mainEntityOfPage\":{\"@id\":\"https://developer.zapsterapi.com/pt-BR/v1/api-reference/messages/read-messages-batch#webpage\"},\"dateModified\":\"2026-07-31T17:48:13.546Z\",\"publisher\":{\"@id\":\"https://developer.zapsterapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.zapsterapi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Zapster API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Zapster API","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"tabs":[{"tab":"Visão Geral","icon":"book-open","pages":[{"title":"Visão Geral","href":"/pt-BR/v1/introduction"}]},{"tab":"Referência da API","icon":"square-terminal","pages":[{"group":"Instâncias","pages":[{"title":"Listando Instâncias","openapi":"GET /wa/instances","href":"/pt-BR/v1/api-reference/instance/list-instances"},{"title":"Criando Instância","openapi":"POST /wa/instances","href":"/pt-BR/v1/api-reference/instance/create-instance"},{"title":"Dados da Instância","openapi":"GET /wa/instances/{instance_id}","href":"/pt-BR/v1/api-reference/instance/instance-details"},{"title":"Excluindo Instância","openapi":"DELETE /wa/instances/{instance_id}","href":"/pt-BR/v1/api-reference/instance/delete-instance"},{"title":"Obtendo QR Code","openapi":"GET /wa/instances/{instance_id}/qrcode","href":"/pt-BR/v1/api-reference/instance/instance-qrcode"},{"title":"Obtendo Cód. Pareamento","openapi":"POST /wa/instances/{instance_id}/pairing-code","href":"/pt-BR/v1/api-reference/instance/pairing-code"},{"title":"Reconectando uma Instância WABA","openapi":"POST /wa/instances/{instance_id}/reconnect","href":"/pt-BR/v1/api-reference/instance/reconnect-instance"},{"title":"Migrando o Tipo de Conexão","openapi":"POST /wa/instances/{instance_id}/migrate","href":"/pt-BR/v1/api-reference/instance/migrate-instance"},{"title":"Criando Webhooks","openapi":"POST /wa/instances/{instance_id}/webhooks","href":"/pt-BR/v1/api-reference/instance/create-webhook"},{"title":"Atualizando Webhooks","openapi":"PATCH /wa/instances/{instance_id}/webhooks/{webhook_id}","href":"/pt-BR/v1/api-reference/instance/update-webhook"},{"title":"Excluindo Webhooks","openapi":"DELETE /wa/instances/{instance_id}/webhooks/{webhook_id}","href":"/pt-BR/v1/api-reference/instance/delete-webhook"},{"title":"Ligando Instância","openapi":"POST /wa/instances/{instance_id}/power-on","href":"/pt-BR/v1/api-reference/instance/power-instance-on"},{"title":"Desligando Instância","openapi":"POST /wa/instances/{instance_id}/power-off","href":"/pt-BR/v1/api-reference/instance/power-instance-off"},{"title":"Reiniciando Instância","openapi":"POST /wa/instances/{instance_id}/restart","href":"/pt-BR/v1/api-reference/instance/restart-instance"},{"title":"Atualizando a Instância","openapi":"PATCH /wa/instances/{instance_id}","href":"/pt-BR/v1/api-reference/instance/update-instance"},{"title":"Atualizando Perfil","openapi":"PATCH /wa/instances/{instance_id}/profile","href":"/pt-BR/v1/api-reference/instance/update-profile"},{"title":"Atualizando Configurações","openapi":"PATCH /wa/instances/{instance_id}/settings","href":"/pt-BR/v1/api-reference/instance/update-settings"}]},{"group":"Confirmações","pages":[{"title":"Pré-autorizando uma Confirmação","openapi":"POST /confirmations","href":"/pt-BR/v1/api-reference/confirmations/issue-confirmation"}]},{"group":"Webhooks","pages":[{"title":"Listar Webhooks","openapi":"GET /webhooks","href":"/pt-BR/v1/api-reference/webhooks/list-webhooks"},{"title":"Atualizar Webhook","openapi":"PATCH /webhooks/{webhook_id}","href":"/pt-BR/v1/api-reference/webhooks/update-webhook"},{"title":"Excluir Webhook","openapi":"DELETE /webhooks/{webhook_id}","href":"/pt-BR/v1/api-reference/webhooks/delete-webhook"}]},{"group":"Mensagens","pages":[{"title":"Enviando Mensagens","openapi":"POST /wa/messages","href":"/pt-BR/v1/api-reference/messages/sending"},{"title":"Cancelar Mensagem Agendada","openapi":"DELETE /wa/messages/{id}","href":"/pt-BR/v1/api-reference/messages/cancel-message"},{"title":"Marcar Mensagem como Lida","openapi":"POST /wa/messages/{id}/read","description":"Marca uma mensagem recebida como lida sob demanda. Útil quando a leitura automática está desligada e o seu fluxo decide o momento certo de confirmar a leitura (por exemplo, depois que um atendente responde).\n\nA instância pode ser informada pelo campo `instance_id` no corpo da requisição ou pelo cabeçalho `X-Instance-Id`.\n","href":"/pt-BR/v1/api-reference/messages/read-message"},{"title":"Marcar Mensagens como Lidas (Lote)","openapi":"POST /wa/messages/read","href":"/pt-BR/v1/api-reference/messages/read-messages-batch"},{"title":"Listar Mensagens","openapi":"GET /wa/messages","description":"Lista todas as mensagens (imediatas e agendadas) dentro de um período.\nRetorna informações de status, entrega e leitura de cada mensagem.\nUsa paginação cursor-based para navegar entre páginas de resultados.\n\nO período máximo por consulta é de 90 dias. O quão longe no passado\nvocê pode consultar depende do seu plano (retenção do histórico).\n","href":"/pt-BR/v1/api-reference/messages/list-messages"}]},{"group":"Para Grupos","pages":[{"title":"Listar Grupos","openapi":"GET /wa/instances/{instance_id}/groups","href":"/pt-BR/v1/api-reference/groups/fetch-all"},{"title":"Criar um Grupo","openapi":"POST /wa/instances/{instance_id}/groups","href":"/pt-BR/v1/api-reference/groups/create"},{"title":"Atualizar um Grupo","openapi":"PATCH /wa/instances/{instance_id}/groups/{group_id}","href":"/pt-BR/v1/api-reference/groups/update-data"},{"title":"Listar Participantes","openapi":"GET /wa/instances/{instance_id}/groups/{group_id}/participants","href":"/pt-BR/v1/api-reference/groups/fetch-participants"},{"title":"Adicionar Participantes","openapi":"POST /wa/instances/{instance_id}/groups/{group_id}/participants","href":"/pt-BR/v1/api-reference/groups/add-participants"},{"title":"Remover Participantes","openapi":"DELETE /wa/instances/{instance_id}/groups/{group_id}/participants","href":"/pt-BR/v1/api-reference/groups/delete-participants"},{"title":"Rebaixar Participantes","openapi":"DELETE /wa/instances/{instance_id}/groups/{group_id}/demote-participants","href":"/pt-BR/v1/api-reference/groups/demote-participants"},{"title":"Entrar em Grupos","openapi":"POST /wa/instances/{instance_id}/groups/join","href":"/pt-BR/v1/api-reference/groups/join-group"},{"title":"Promover Participantes","openapi":"POST /wa/instances/{instance_id}/groups/{group_id}/promote-participants","href":"/pt-BR/v1/api-reference/groups/promote-participants"}]},{"group":"Utilidades","pages":[{"title":"Verificação de Número (Sem Instância)","openapi":"GET /wa/recipients/{recipient}","href":"/pt-BR/v1/api-reference/utils/check-recipient"},{"title":"Verificação de Números em Lote (Sem Instância)","openapi":"POST /wa/recipients/batch","href":"/pt-BR/v1/api-reference/utils/check-recipient-batch"},{"title":"Verificação de Número","openapi":"GET /wa/instances/{instance_id}/recipients/{recipient}","href":"/pt-BR/v1/api-reference/utils/fetch-recipient"},{"title":"Verificação de Números em Lote","openapi":"POST /wa/instances/{instance_id}/recipients/batch","href":"/pt-BR/v1/api-reference/utils/fetch-recipient-batch"},{"title":"Atualização de Presença","openapi":"PATCH /wa/instances/{instance_id}/presence","href":"/pt-BR/v1/api-reference/utils/presence-update"},{"title":"Foto de Perfil do Destinatário","openapi":"GET /wa/recipients/{recipient}/pp","href":"/pt-BR/v1/api-reference/utils/recipient-profile-picture"}]}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/pt-BR/v1/cli/introduction"}]},{"tab":"Blog","icon":"newspaper","href":"https://blog.zapsterapi.com/?utm_source=Documentation\u0026utm_medium=DropdownNavigation"}]},{"language":"en","pages":[{"title":"en","href":"/en/v1/introduction"}]}]},"title":"Marcar Mensagens como Lidas (Lote) - Zapster API","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}