Atualizar
POST https://api.pushwoosh.com/messaging/v2/update
Substitui uma mensagem criada anteriormente, identificada pelo seu message_code, por uma nova definição. A substituição é uma substituição completa, não uma correção (patch): a nova definição é aplicada exatamente como enviada, e o message_code não muda.
A atualização está disponível apenas enquanto a mensagem ainda estiver pendente — agendada para um envio futuro e ainda não selecionada para processamento ou entrega.
Para verificar se uma mensagem ainda está em um estado atualizável, consulte Verificando o status da mensagem.
Solicitação
Anchor link toAutentique com seu token de API do Servidor no cabeçalho Authorization: Token <API_TOKEN>.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
message_code | string | Sim | Código da mensagem da mensagem a ser atualizada, conforme retornado por Notify em result.message_code. |
request | object | Sim | A nova definição completa da mensagem. Mesma estrutura do corpo da solicitação Notify — um objeto segment ou transactional. Validado exatamente como Notify. |
Exemplo de solicitação
Anchor link toReagende uma mensagem de segmento e altere seu conteúdo:
curl -X POST https://api.pushwoosh.com/messaging/v2/update \ -H "Authorization: Token YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "message_code": "XXXX-XXXXXXXX-XXXXXXXX", "request": { "segment": { "application": "XXXXX-XXXXX", "platforms": ["IOS", "ANDROID"], "code": "active_users", "payload": { "content": { "localized_content": { "en": { "ios": { "body": "Updated message" }, "android": { "body": "Updated message" } } } } }, "schedule": { "at": "2026-05-02T12:00:00Z" }, "message_type": "MESSAGE_TYPE_MARKETING" } } }'Resposta
Anchor link toEm caso de sucesso, retorna HTTP 200 com o resultado da mensagem atualizada. O message_code permanece inalterado.
{ "result": { "message_code": "XXXX-XXXXXXXX-XXXXXXXX", "unknown_identifiers": [] }}message_code(string): o mesmo código que foi passado na solicitação.unknown_identifiers(array de string): identificadores na nova definição que não foram encontrados, quando aplicável (consulteNotify).
Erros
Anchor link toOs erros usam o envelope de erro padrão do gRPC-Gateway: { "code": ..., "message": ..., "details": [...] }.
| Status HTTP | Condição |
|---|---|
400 | message_code está ausente. |
400 | A nova definição de request está ausente ou é inválida (é validada exatamente como Notify). |
400 | A mensagem não está em um estado atualizável (não está mais pending). |
403 | A mensagem pertence a outra conta. |
404 | Nenhuma mensagem existe para o message_code fornecido. |
500 | Ocorreu um erro interno ao carregar a mensagem ou aplicar a atualização. Tente a solicitação novamente. |
Exemplo
Atualizar uma mensagem que não existe mais retorna HTTP 404:
{ "code": 5, "message": "message not found", "details": []}Verificando o status da mensagem
Anchor link toAntes de atualizar, você pode verificar se uma mensagem ainda está em um estado atualizável. Além de ler a coluna Status na tabela de mensagens no Painel de Controle (Campanhas → Mensagens únicas), você pode consultar o status programaticamente com messages:list:
- Passe o
message_codeno arrayfilters.messages_codes(juntamente com ofilters.applicationobrigatório). - Leia o campo
statusda entrada correspondente emitems[].