콘텐츠로 건너뛰기

업데이트

POST https://api.pushwoosh.com/messaging/v2/update

message_code로 식별되는 이전에 생성된 메시지를 새로운 정의로 교체합니다. 교체는 패치가 아닌 전체 교체입니다. 즉, 새로운 정의는 전송된 그대로 적용되며 message_code는 변경되지 않습니다.

업데이트는 메시지가 아직 보류 중(pending) 상태일 때만 가능합니다. 즉, 미래의 전송으로 예약되었지만 아직 처리 또는 전송을 위해 선택되지 않은 상태입니다.

메시지가 아직 업데이트 가능한 상태인지 확인하려면 메시지 상태 확인을 참조하세요.

Authorization: Token <API_TOKEN> 헤더에 서버 API 토큰으로 인증합니다.

필드유형필수설명
message_codestring업데이트할 메시지의 메시지 코드. Notifyresult.message_code에서 반환한 값입니다.
requestobject메시지의 전체 새 정의. Notify 요청 본문과 동일한 형태(segment 또는 transactional 객체)입니다. Notify와 똑같이 유효성 검사를 받습니다.

요청 예시

Anchor link to

세그먼트 메시지를 다시 예약하고 내용을 변경합니다:

Terminal window
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"
}
}
}'

성공 시, 업데이트된 메시지의 결과와 함께 HTTP 200을 반환합니다. message_code는 변경되지 않습니다.

{
"result": {
"message_code": "XXXX-XXXXXXXX-XXXXXXXX",
"unknown_identifiers": []
}
}
  • message_code (문자열): 요청에서 전달된 것과 동일한 코드입니다.
  • unknown_identifiers (문자열 배열): 해당되는 경우, 새 정의에서 찾을 수 없는 식별자입니다 (Notify 참조).

오류는 표준 gRPC-Gateway 오류 봉투(envelope)를 사용합니다: { "code": ..., "message": ..., "details": [...] }.

HTTP 상태조건
400message_code가 누락되었습니다.
400request 정의가 누락되었거나 유효하지 않습니다 (Notify와 똑같이 유효성 검사를 받습니다).
400메시지가 업데이트 가능한 상태가 아닙니다 (더 이상 pending 상태가 아님).
403메시지가 다른 계정에 속해 있습니다.
404주어진 message_code에 대한 메시지가 존재하지 않습니다.
500메시지를 로드하거나 업데이트를 적용하는 동안 내부 오류가 발생했습니다. 요청을 다시 시도하세요.

예시

더 이상 존재하지 않는 메시지를 업데이트하면 HTTP 404가 반환됩니다:

{
"code": 5,
"message": "message not found",
"details": []
}

메시지 상태 확인

Anchor link to

업데이트하기 전에 메시지가 아직 업데이트 가능한 상태인지 확인할 수 있습니다. Control Panel의 메시지 테이블(캠페인 → 일회성 메시지)에서 상태 열을 읽는 것 외에도, messages:list를 사용하여 프로그래밍 방식으로 상태를 쿼리할 수 있습니다:

  • filters.messages_codes 배열에 message_code를 전달합니다 (필수 filters.application과 함께).
  • items[]에서 일치하는 항목의 status 필드를 읽습니다.

관련 항목

Anchor link to