kakaoAlimtalkTemplateSchema에는 code가 Schema.optional(Schema.String)로 정의되어 있는데 실제 fetch 요청을 하면 '검수필요' 템플릿이 조회되면 code응답이 null이라서 Effect ParseError가 발생합니다. NullOr 적용 부탁드립니다.
export const kakaoAlimtalkTemplateSchema = Schema.Struct({
name: Schema.String,
channelId: Schema.optional(Schema.NullOr(Schema.String)),
channelGroupId: Schema.optional(Schema.NullOr(Schema.String)),
content: Schema.optional(Schema.String),
isHidden: Schema.optional(Schema.Boolean),
messageType: kakaoAlimtalkTemplateMessageTypeSchema,
emphasizeType: kakaoAlimtalkTemplateEmphasizeTypeSchema,
extra: Schema.optional(Schema.NullOr(Schema.String)),
ad: Schema.optional(Schema.NullOr(Schema.String)),
emphasizeTitle: Schema.optional(Schema.NullOr(Schema.String)),
emphasizeSubtitle: Schema.optional(Schema.NullOr(Schema.String)),
securityFlag: Schema.Boolean,
imageId: Schema.optional(Schema.NullOr(Schema.String)),
assignType: Schema.optional(kakaoAlimtalkTemplateAssignTypeSchema),
buttons: Schema.optional(Schema.Array(kakaoButtonSchema)),
comments: Schema.optional(
Schema.Array(kakaoAlimtalkTemplateCommentTypeSchema),
),
commentable: Schema.optional(Schema.Boolean),
quickReplies: Schema.optional(
Schema.Array(kakaoAlimtalkTemplateQuickReplySchema),
),
header: Schema.optional(Schema.NullOr(Schema.String)),
highlight: Schema.optional(
Schema.NullOr(kakaoAlimtalkTemplateHighlightTypeSchema),
),
item: Schema.optional(Schema.NullOr(kakaoAlimtalkTemplateItemTypeSchema)),
templateId: Schema.String,
code: Schema.optional(Schema.String),
status: kakaoAlimtalkTemplateStatusSchema,
variables: Schema.optional(
Schema.Array(
Schema.Struct({
name: Schema.String,
}),
),
),
dateCreated: Schema.optional(
Schema.Union(Schema.DateFromString, Schema.Date, Schema.DateFromSelf),
),
dateUpdated: Schema.optional(
Schema.Union(Schema.DateFromString, Schema.Date, Schema.DateFromSelf),
),
});
// fetch 응답
{
templateList: [
{
highlight: null,
item: null,
name: '위마이스 - 행사완료, 리뷰 안내',
assignType: 'CHANNEL',
accountId: '22012522550671',
securityFlag: false,
categoryCode: '004001',
isHidden: false,
content: '#{eventName}, 즐거우셨나요?\n' +
'\n' +
'#{username}님, #{eventName})에 참여해주셔서 감사합니다.\n' +
'\n' +
'더 좋은 행사와 서비스를 위해 간단한 리뷰(사후 설문)를 작성해 주시면 큰 도움이 됩니다.\n' +
'\n' +
'▶ 리뷰/설문 작성하기: #{surveyurl}',
buttons: [],
quickReplies: [],
messageType: 'BA',
emphasizeType: 'NONE',
extra: null,
ad: null,
emphasizeTitle: null,
emphasizeSubtitle: null,
imageId: null,
header: null,
variables: [Array],
templateId: 'KA01TP251121092933518YtmBVIPgQyY',
dateCreated: '2025-11-21T09:29:33.519Z',
dateUpdated: '2025-11-21T09:30:15.231Z',
status: 'PENDING',
comments: [],
channelId: 'KA01PF251118070309900JiTM1TFKkOy',
channelGroupId: null,
commentable: true,
code: null,
codes: [Array]
}
],
limit: 20,
startKey: 'KA01TP251121092933518YtmBVIPgQyY',
nextKey: null
}
kakaoAlimtalkTemplateSchema에는 code가 Schema.optional(Schema.String)로 정의되어 있는데 실제 fetch 요청을 하면 '검수필요' 템플릿이 조회되면 code응답이 null이라서 Effect ParseError가 발생합니다. NullOr 적용 부탁드립니다.