32afe9530 에서 게시판 반응 기능과 함께 임시 제거됐던 비즈뿌리오 메시징 플러그인 본체(137 파일)와 일본어 번들 언어팩(9 파일)을 삭제 직전 상태 (32afe9530~1)로 복구한다. 템플릿 신청·승인 개편의 기반 작업. 복구 범위 - plugins/_bundled/sirsoft-message_bizppurio 전체 + 번들 ja 언어팩 - 공유 파일의 비즈뿌리오 참조 복원: build-language-pack-ja.cjs 팩 정의, api-doc-unfilled-baseline.json(32건), docs/backend/api/README.md 표 행, audit coverage 노트·vite-sourcemap-env-gate 룰 주석, via 테스트 주석, ·AGENTS.md 확장 API 표(자동 재생성), 라우팅 패리티 스냅샷(+1) 삭제 이후 강화된 규정 2건 정합화 - TokenCheckController: 예외 원문을 메시지 키 자리에 전달하던 422 응답을 키(token_check.failed) + errors.bizppurio_message 페이로드로 분리 (GenericCatchStatusCodeContractTest 계약). 관리자 토스트는 errors 페이로드로 상세 사유를 계속 표시하도록 레이아웃 동기 수정, lang ko/en/ja 키 추가 - AlimtalkTemplateController::index: base Request 주입 금지 룰에 따라 AlimtalkTemplateListRequest FormRequest 신설 (형태 검증만 — kapi 위임 유지) 미복원(의도) - 게시판·이커머스 CHANGELOG 의 알림톡 연결 문구 2줄은 연결 방식이 로 재설계되므로 되살리지 않고, 완료 시점에 새 동작 기준으로 차기 버전에 기재 검증: TokenCheck 7 + AlimtalkController 10 + GenericCatch 계약 3 (PHPUnit), 플러그인 레이아웃 Vitest 137건, BindingShape 라우팅 패리티 8건 green. audit 는 복구 전부터 baseline 처리된 API 문서 미채움 32건만 잔존.
77 lines
3.0 KiB
PHP
77 lines
3.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Bizppurio result code → reason (English)
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Source: Bizppurio official response-code docs (https://bizppurio.github.io/response-codes/)
|
|
| As of: 2026-07-27 (aligned to the latest official docs; legacy manual wording corrected)
|
|
| Scope: common(2000~9071) + SMS(4100~4443) + LMS(6600~6641) + Alimtalk(7000~7523).
|
|
| RCS(8000s)/NaverTalkTalk(part of 5000s) are out of scope (follow-up D15).
|
|
|
|
|
*/
|
|
|
|
return [
|
|
// ── Common / send response ───────────────────────────
|
|
'1000' => 'Success',
|
|
'2000' => 'Message is invalid',
|
|
'3001' => 'Invalid authentication (Basic)',
|
|
'3002' => 'Invalid token (expired/revoked)',
|
|
'3003' => 'Invalid IP',
|
|
'3004' => 'Account is invalid',
|
|
'3005' => 'Invalid authentication (Bearer)',
|
|
'3006' => 'Account does not exist',
|
|
'3007' => 'Invalid account password',
|
|
'3009' => 'Account suspended',
|
|
'3010' => 'IP not in allowlist',
|
|
'3011' => 'Unknown error (Bizppurio)',
|
|
'3013' => 'Message not completed',
|
|
'5002' => 'Too many requests',
|
|
'5003' => 'Temporary delivery error',
|
|
'5004' => 'Temporary delivery error',
|
|
'5005' => 'Temporary delivery error',
|
|
'9000' => 'Temporary system error',
|
|
'9070' => 'Insufficient balance (SMS)',
|
|
'9071' => 'Postpaid limit exceeded',
|
|
|
|
// ── SMS report ───────────────────────────────────────
|
|
'4100' => 'Success',
|
|
'4400' => 'Out of service area',
|
|
'4401' => 'Power off',
|
|
'4402' => 'Storage full',
|
|
'4410' => 'Invalid number',
|
|
'4414' => 'Disconnected/suspended number',
|
|
'4420' => 'Other device error',
|
|
'4430' => 'Spam',
|
|
'4431' => 'Delivery-restricted opt-out (spam)',
|
|
'4443' => 'Spam blocked',
|
|
|
|
// ── LMS report ───────────────────────────────────────
|
|
'6600' => 'Success',
|
|
'6603' => 'Out of service area',
|
|
'6604' => 'Power off',
|
|
'6606' => 'Invalid number',
|
|
'6621' => 'Message length exceeded',
|
|
'6641' => 'Spam blocked',
|
|
|
|
// ── Alimtalk report ──────────────────────────────────
|
|
'7000' => 'Success',
|
|
'7103' => 'Invalid sender profile key',
|
|
'7106' => 'Deleted sender key',
|
|
'7107' => 'Blocked sender key',
|
|
'7204' => 'Message content does not match template',
|
|
'7206' => 'Serial number format mismatch',
|
|
'7306' => 'Kakao system error',
|
|
'7307' => 'Processing delayed',
|
|
'7308' => 'Phone number error',
|
|
'7320' => 'Receiver blocked',
|
|
'7325' => 'Variable length exceeded',
|
|
'7421' => 'Timeout',
|
|
'7436' => 'Insufficient wallet balance (Alimtalk)',
|
|
'7437' => 'Message request failed',
|
|
'7523' => '080 opt-out (spam)',
|
|
];
|