fix(cafe24): 모바일 상세설명 '직접등록' 오적용·적용직후 읽기지연 수정
- PUT 시 mobile_description 필드를 더 이상 보내지 않는다. 그 필드를 보내는 순간 카페24가 모바일 상세설명 설정을 "직접 등록"으로 바꿔버림을 실물로 확인(separated_mobile_description 이 'T'가 됨). 대신 separated_mobile_description="F" 만 지정해 "PC 상세설명과 동일"을 강제하고, 카페24가 모바일 값을 PC 와 자동으로 맞추게 한다. 화면 적용(apply)과 예약 적용(worker) 양쪽 다 수정. - products.wait_for_description 추가 — 적용 직후 카페24 관리자 API 의 짧은 읽기 지연(쓰기 직후 몇 초간 이전 값을 돌려줌 — 쇼핑몰 화면에는 바로 반영됨)을 0.8초 간격 최대 3회 재확인으로 흡수. "쇼핑몰엔 반영됐는데 카페24 상품관리 화면만 적용 안 된 것처럼 보이는" 증상 완화. - CAFE24_SHOP_URL 예시를 www.miras.co.kr 로 갱신(.env.example) — 실제 값은 운영 서버 .env 에서 직접 설정해야 함(코드는 그대로 이 값을 읽어 다이렉트 주소를 만듦). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+13
-3
@@ -300,12 +300,22 @@ cafe24_oauth_tokens 저장
|
||||
추가 규칙:
|
||||
|
||||
- 빈 내용은 거부한다(상세페이지 전체를 날리는 실수 방지).
|
||||
- **PC/모바일을 구분하지 않는다.** `description` 과 `mobile_description` 에 항상 같은
|
||||
HTML 을 쓴다(운영 방침). `separated_mobile_description` 값과 무관하며, 편집 화면에도
|
||||
모바일 소스를 따로 보여주지 않는다 — 한쪽만 바뀌어 어긋나는 사고가 없어진다.
|
||||
- **PC/모바일을 구분하지 않는다.** 단, PUT 에 `mobile_description` 필드를 직접
|
||||
보내지 않는다 — 실물 확인 결과 그 필드를 보내는 순간 카페24가
|
||||
`separated_mobile_description` 을 `'T'`(관리자 화면 "직접 등록")로 바꿔버린다.
|
||||
대신 `separated_mobile_description: "F"` 만 지정하면 카페24가 모바일 값을 PC 와
|
||||
자동으로 맞춰주면서 설정도 **"PC 상세설명과 동일하게 사용"으로 유지**된다
|
||||
(`products.update_descriptions`). 편집 화면에도 모바일 소스를 따로 보여주지
|
||||
않는다 — 한쪽만 바뀌어 어긋나는 사고가 없어진다.
|
||||
분리 사용 상품의 모바일 내용이 PC 와 달랐다면 덮어쓰기 전에 **그 내용도 BACKUP
|
||||
revision 으로 남긴다**(백업이 없으면 되찾을 방법이 없다).
|
||||
- 실패해도 BACKUP 은 이미 남아 있으므로 오류 메시지에 버전 번호를 알려준다.
|
||||
- **적용 직후 짧게 재확인한다(`products.wait_for_description`).** 카페24 관리자
|
||||
API(`GET /admin/products/{no}`)는 PUT 직후 몇 초간 이전 값을 돌려줄 때가
|
||||
있다(쇼핑몰 화면에는 바로 반영됨 — 실물 관찰). 그 상태에서 다른 상품을 봤다가
|
||||
돌아오면 우리 편집기만 "적용 안 된 것"처럼 보인다. 적용/예약 실행 직후
|
||||
0.8초 간격으로 최대 3회 재조회해 새 값이 확인될 때까지 기다린 뒤 화면으로
|
||||
돌아간다(실패해도 PUT 자체는 이미 성공했으므로 예외를 던지지 않는다).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user