13) nonos(No No Stress) - 송장 업로드 수정(feat. 트랜젝션처리)&엑셀 업로드 비밀번호 처리
조금 더 효율적으로 편리하게!
네이버스토어에서 주문건을 다운로드를 하면 비밀번호가 걸려있어서
다운로드 후 -> 새창으로 새로운 엑셀을 만들어서 처리를 하는 불편함이 있다.
조금의 불편함도 스트레스도 NO! NO!
목표 : 그냥 다운로드 받아서 바로 nonos 엑셀 업로드에 넣어서 사용자의 불편함과 시간을 절약할 수 있도록 한다.
Just Download&Upload :)
index-BjaQE6PT.js:582 Uncaught ReferenceError: Buffer is not defined
⏺ Buffer is not defined 에러!
xlsx-populate가 Node.js의 Buffer를 사용하는데 브라우저에는 없어서 발생-> Buffer polyfill을 추가하겠습니다.
추가했는데 오류나서 다른 플러그인의 polyfill을 추가 함!
파일 읽기 실패: r.getHashes is not a function
crypto 모듈도 필요-> polyfill에 crypto를 추가 함!

기존 네이버 엑셀 업로드 처럼 업체 미매핑 처리를 해주고 최종 확인하면 끝!

트랜젝션 문제
a.i가 아직은 부족하다. 역시나 트랜젝션을 알아서 잡아주지는 않았다.
DB에는 반영하고 api에서 오류가 나면 롤백을 해줘야하는데 DB에는 반영을 해버린다.
403 Forbidden on POST request for "https://api.commerce.naver.com/external/v1/oauth2/token": "{"code":"GW.IP_NOT_ALLOWED","message":"호출이 허용되지 않은 IP입니다.","timestamp":"2026-01-18T17:28:57.024+09:00","traceId":"y7JaItSMTXuxJIGeoax0JA^1767769372867^73462671"}"
그래서 재처리를 하려고 할때 이미 처리된 송장이라고 나온다.
수정! : api 실패 시 db에 반영한 내용들도 함께 롤백!(트랜젝션 처리)

API로 네이버스토어쪽 반영 이후 배송중으로 넘어와서 처리된 데이터들이 보인다.

합배송 처리도 중요하다.
주문은 2건인데 배송은 하나로 나가는 배송이다. 택배비를 아끼기 위해서 이런 task가 존재한다.
송장이 하나로 나오기 때문에 주문 건들을 체크 해줘야 한다.

매칭 실패 항목 중 문자 건들에 대해서는 매핑이 되지 않는다.
해당 실패 건들에 대해서 엑셀로 다운로드 받아서 확인을 할 수 있다.

아래는 실패항목 엑셀 다운로드!

