콘텐츠로 이동

발신 우편 삭제

DeleteSentMailAsync()를 호출해 발신 우편을 삭제합니다. 발신 우편 삭제는 발송 이력을 정리하거나 회수한 우편을 우편함 UI에서 보이지 않게 할 때 사용합니다.

1. 삭제 대상과 식별자 확인

발신 우편 삭제에는 발송할 때 저장한 MailId를 사용합니다. 수신 우편 삭제에 사용하는 MailRecipientId와 다른 값이므로 혼동하지 않도록 주의합니다. 앱 화면에 최신 상태를 표시하려면 삭제 전에 같은 MailId로 발신 우편 정보 조회를 다시 실행해 회수 여부와 만료 여부를 함께 확인합니다. 발신 우편을 삭제하면 발신 우편 목록과 상세 조회 대상에서 제외됩니다.

회수된 우편

회수된 우편은 발신 우편 상세 정보 조회 응답의 Data.MailStatus가 Revoked인 우편입니다. 회수된 발신 우편은 삭제 메서드를 별도로 호출하지 않아도 90일 이후에 자동으로 완전 삭제(HARD DELETE)됩니다.

만료된 우편

만료된 발신 우편도 삭제 메서드를 별도로 호출하지 않아도 90일 이후에 자동으로 완전 삭제(HARD DELETE)됩니다. 회수된 발신 우편과 만료된 발신 우편은 발송 이력 확인을 위해 발신 우편 목록 조회 결과에 계속 포함됩니다. 목록에서 제외하려면 삭제 메서드를 호출해야 하며, 삭제한 발신 우편은 이후 목록 조회와 상세 조회 결과에 나타나지 않습니다.

2. 발신 우편 삭제

Method

DeleteSentMailAsync

DeleteSentMailAsync()의 삭제 처리 결과는 반환 객체로 전달되며, 성공 시 삭제된 MailId와 삭제 시각이 함께 반환됩니다.

삭제 수명 주기

삭제 메서드를 호출하면 발신 우편은 먼저 우편함 UI에서 보이지 않도록 임시 삭제(SOFT DELETE) 상태로 전환됩니다. 삭제 표시된 데이터는 서버 보관 정책에 따라 유지되다가 90일 이후에 자동으로 완전 삭제(HARD DELETE)됩니다.

호출 파라미터

필드명 타입 필수 여부 설명
request DeleteSentMailRequest Required 삭제할 발신 우편을 지정하는 요청
context ApiCallContext? Optional 호출 단위 설정 객체입니다. 생략하면 기본값이 사용됩니다.

DeleteSentMailRequest

필드명 타입 필수 여부 설명
MailId string Required 삭제할 발신 우편의 식별자

호출 예시

MailboxDeleteSentMailResult의 성공 결과와 이 메서드의 도메인별 결과(Outcome)는 아래 예시와 응답 상태에서 확인합니다. 요청을 수행할 수 없을 때 반환하는 공통 실패(Failure)의 결과 모델과 처리 원칙은 공통 오류 처리를 참조하세요.

using Hive.Axyl.Mailbox;
using Hive.Axyl.Core;

IMailboxService mailbox = HiveCore.Resolve<IMailboxService>();

var result = await mailbox.DeleteSentMailAsync(new DeleteSentMailRequest {
    MailId = storedMailId,
});

switch (result)
{
    case MailboxDeleteSentMailResult.Success success:
        DeletedSentMailResponseData data = success.Data;
        Debug.Log($"발신 우편 삭제: {data.MailId} ({data.DeletedAt})");
        break;

    case MailboxDeleteSentMailResult.Failure failure:
        HiveError err = failure.Problem;
        Debug.LogError($"[{err.Code}] {err.Message} (trace: {err.TraceId})");
        break;

    default:
        Debug.LogWarning($"처리되지 않은 결과: {result.GetType().Name}");
        break;
}

응답 데이터

성공 시 MailboxDeleteSentMailResult.Success의 Data(DeletedSentMailResponseData)에 결과가 담깁니다.

두 필드 모두 null을 담을 수 있는 형식으로 선언되어 있으므로, 값을 화면에 표시하거나 다음 호출에 넘기기 전에 null인지 먼저 확인하세요.

필드명 타입 필수 여부 설명
Data.MailId string? Optional 삭제된 발신 우편 식별자
Data.DeletedAt DateTimeOffset? Optional 발신 우편이 삭제된 시각

응답 예시

// success.Data (DeletedSentMailResponseData)
string? mailId = success.Data.MailId;
DateTimeOffset? deletedAt = success.Data.DeletedAt;

응답 상태

반환 객체 MailboxDeleteSentMailResult는 아래 케이스 중 하나로 분기됩니다. switch 구문으로 처리를 권장합니다.

응답 케이스 설명 앱 클라이언트 대응
Success 발신 우편 삭제에 성공했습니다. 발신 우편 목록과 상세에서 제거
Failure 공통 Failure입니다. 공통 오류 처리를 참조하세요. 공통 오류 처리 기준에 따라 처리
UnknownOutcome 이 SDK 버전이 알지 못하는 신규 결과입니다. 실패로 처리하고 결과 코드를 기록

3. 삭제 결과와 우편 상태 반영

삭제에 성공하면 발신 우편을 우편함 UI의 발신 우편 목록에서 제거합니다. 삭제 전에 회수 여부나 상세 상태를 다시 확인해야 했다면 발신 우편 정보 조회를 참조하세요. 회수 기능이 필요하면 우편 회수도 참조하세요.