지난 달에 이베이에서 몇 만 원 정도하는 물건을 중국 판매자에게 주문했다. 무료 배송인데, 다들 알겠지만, 중국에서 한국까지 무료로 오는 저가 제품은 운송장 번호도 없고 그냥 마냥 한 달을 기다려서 받아야 한다. 한 달을 기다렸는데, 물건이 안 왔다.
예전에도 이베이에서 물건을 여러 번 사 봤지만 늦으면 늦었지 못 받은 적은 없었다. 한 달이 지나도 안 오면, 이베이 사이트에 가서 판매자에게 연락하기 옵션을 눌러 못 받았다고 메시지를 보내면, 좀 더 기다려 보라는 등의 답장은 판매자로부터 받을 수 있다.
그런데 이번에는 판매자가 묵묵부답이다. 예정 도착일은 10월 7일까지였다. 도착 안 하길래 7일 밤에 판매자에게 메시지를 보냈다. 그런데 아무런 답장이 없었다. 그래서 10월 10일에 이베이 사이트에서 "물건 못 받았다" 케이스를 열었다. 판매자가 10월 13일까지 응답을 안 하면 이베이 측으로 알려 달라는 메시지가 나왔다.
10월 13일이 되었는데도 판매자로부터 아무 응답이 없었다. 14일이 되자 이베이 측에서 자동 메일이 왔다. "물건을 받았느냐? 판매자가 응답을 하지 않았으면 우리에게 연락해라. 11월 9일까지 연락 안 하면 물건을 받은 걸로 알겠다."라는 내용이었다. 그래서 이베이 홈페이지에 가 봤다. 그런데 해당 케이스에 대해 판매자의 무응답을 이베이측에 알리는 기능이 없었다. 케이스에는 "판매자에게 메일 보내기"와 "문제가 해결되었다"라는 두 가지 옵션만 있었다. 이게 뭐야...
그래서 이베이 고객센터에 바로 연락하는 방법을 찾아 봤다. 고객센터 연락 메뉴는 있었고, 그걸 누르니 연락 옵션은 두 개밖에 없었다. "전화를 내가 걸기"와 "내게 전화를 걸어라". 말로 하는 것보다 이메일이 편한데, 메일 옵션이 없었다. 국제 전화비를 아끼고자 "내개 전화를 걸어라"를 고르려고 했는데, 전화 번호 입력란에 한국이 없었다. 내가 전화를 거는 옵션을 누르니 866으로 시작하는 미국 전화 번호와 "너의 신원과 너의 문제를 빨리 확인할 수 있는" 7자리 one-time passcode가 나왔다. 물건도 못 받아서 짜증나는데 국제 전화비까지 내가 써야 하나 싶어서, (잔액이 0원이어서 유료 전화는 안 걸리는) 스카이프로 테스트해 봤다. 그런데 걸리더라. 검색해 보니 866도 800처럼 무료 전화 번호였다. 다만 800 등은 미국 내에서만 무료이고, 한국에서 걸면 무료가 아니라는 걸 예전에 어디에서 들었기 때문에 스카이프로 걸어야만 무료일 것이다.
전화는 곧바로 연결되었다. 자연스러운 영어 음성이 나오는데, 처음에는 사람인 줄 알았다. 하지만 곧 프로그램임을 확신했다. 내 아이디의 첫 네 글자를 말하라는데, 말을 하고 나니 엉뚱하게 읽고는 그 네 글자가 맞느냐는 것이었다. 즉, 음성 인식 기능을 이용한 프로그램으로, 전화를 건 사람의 신원과 문제의 분류를 확인하는 것까지는 자동으로 하고, 그 후 실제 상담원에게 연결하는 것이다. 문제는... 몇 번 말했는데 자꾸 틀리게 인식하길래, 아까 나왔던 7자리 one-time passcode를 그냥 눌러 봤다. 안 통했다. 이러려면 7자리 코드는 왜 생성한 건가?
어쨌든 몇 번 다시 시도해 아이디를 인식시켰더니, 그 다음은 문제를 짧게 말하라고 한다. 간단하게 말했더니 "케이스에 관한 것이다. 맞지?" 이런 응답이 나왔다. 아마 문장에서 "케이스"라는 단어를 추출해서 인식한 것 같다. 사실 꼭 Siri나 Google Now 음성과 대화하는 것 같았다. "YES", "NO"같은 대답을 인식한다. "Yes"라고 했더니 상담원을 연결해 준다고 하고, 곧바로 상담원과 연결되었다.
상담원 비용을 아끼려고 미국 업체가 인도 상담원을 쓰는 걸 풍자하는 걸 많이 봐서 이상한 억양의 상담원을 예상했는데, 의외로 그냥 평범한 미국 아줌마 목소리가 나왔다. 내 이메일 주소를 불러 달라고 해서 불러 주었다. 그리고는 아이디 앞 네 자리 부르라고 하고, 그리고는 전화 번호를 묻는데 무슨 전화 번호로 등록했는지 잘 기억이 안 났다. 미국 사이트라... 한국 전화 번호로 등록 안 했을 수도 있기 때문이다. 뭐 어쨌든 그냥 한국 전화 번호 불러 주었다. 우편 번호를 말하라는데 예전에 가입한 거라 우편 번호를 뭘로 했는지 기억이 안 났다. 최근 우편 번호가 다 바뀌기도 했고. 그래서 그냥 옛날 우편 번호 불러 줬는데, 지금 확인해 보니 계정에 등록한 우편 번호는 그 게 아니었다. 우편 번호가 틀렸는데도 그냥 넘어간 걸 보면 별로 중요한 건 아닌 것 같다. 그리고는 해당 물품의 item number를 불러 달라고 한다.
내 예상으로는 one-time passcode를 누르면 자동으로 내 계정과 해당 물품 번호 등이 자동으로 다 연결되어 상담원에게 보여질 거라고 생각했기 때문에, 이런 복잡하고 긴 절차를 왜 하는지 의문이었다. 상담원에게 "홈페이지에 one-time passcode가 있었는데 그 걸 불러 줄까"했더니, (내가 제대로 알아 들었다면) 상담원이 "그 번호는 계정 확인 등 지금까지의 절차를 빠르게 하기 위해 있는 거다"라는 응답을 했다. 사실 내 말이 그 거다. 애초에 그러면 그냥 그 one-time passcode가 있느냐고 바로 묻지, 왜 아이디니, 메일 주소니, 우편 번호니 이런 걸 귀찮게 묻느냐는 거다. 뭐 상담원하고 따질 건 아니니까 그냥 대강 넘어갔다. 아마 이베이 시스템이 유기적으로 제대로 구성된 게 아닌 것 같다.
상담원이 문제가 뭐냐고 해서, "날짜가 지났는데 물건도 못 받았고, 케이스를 열었는데 답장도 안 온다"고 했더니, 잠시 확인한다고 기다리라고 한 후, "판매자가 응답을 안 하면 이베이 측이 개입해서 전액 환불해 줄 수 있다. 그런데 그 게 10월 17일부터 가능하다"고 대답했다. 이런 내용이 왜 홈페이지에서 확인이 안 되는 건가! 애초에 홈페이지 케이스 페이지에서 10월 17일까지 판매자로부터 응답이 없으면 이베이가 개입해 환불하도록 신청할 수 있다고 나와 있었으면 굳이 내가 오늘 전화를 안 걸었을 것이 아닌가.
뭐 어쨌든.... 10월 17일이 되면 이베이 측에서 다시 메일이 갈 것이고, 그 메일의 지시에 따르면 다시 고객센터로 전화하는 번거로움 없이, 홈페이지에서 이베이가 개입해 환불해 주도록 요구할 수 있다고 한다.
Sunday, October 16, 2016
Tuesday, October 11, 2016
이마트에서 점포 상품만 표시하게 하기
Chrome 브라우저의 최대 장점은 익스텐션일 것이다. 그동안 남들이 만든 익스텐션들을 유용하게 쓰고 있었고, 가끔 나도 익스텐션을 만들어 볼까 하는 생각은 했지만, Javascript를 안 건드린 지가 거의 10년 가까이 되었고, 그동안 Javascript의 사용이 폭발적으로 늘면서 너무나 많이 바뀌고 늘어나서, 다시 하려면 시간이 많이 걸릴 것 같아 매번 그냥 지나쳤었다.
그런데, 결국 이마트 사이트의 불편함을 견디지 못하고 직접 익스텐션을 만들게 되었다. 이마트 사이트에는 점포 물건과 택배 물건이 있다. 점포 물건만 합쳐서 배송이 가능하다. 그래서 점포 물건만 골라 담아야 하는데, 문제는 상품 목록에 저것들이 섞여 있다는 것이다. 점포 상품만 표시하도록 체크박스에 체크를 하면 되지만, 페이지가 바뀔 때마다 매번 체크하는 게 아주 귀찮고 시간이 드는 일이었다. 그래서 디폴트로 점포 물건만 보이게 하는 익스텐션을 만들었다.
구글이 제공하는 개발 문서와, 구글 검색해 찾은 예제, 그리고 Stack Overflow 등을 참조해서 만들었고, 완전히 처음부터 시작했는데 90% 완성하는 데까지 6시간 정도밖에 안 걸렸다. 그 후에는 버그 수정이나 아이콘 작성, 코드 줄 맞추기... (Javascript의 기본 코딩 스타일이 내가 좋아하는 스타일이 아닌데, 에디터가 자꾸 그렇게 바꾸고, 어떻게 그걸 끄는지 못 찾았다) 등에 시간이 좀 걸렸다. 개발에 특별한 도구는 필요하지 않고, 그냥 일반적 텍스트 에디터와 Chrome 브라우저의 개발자 도구 (F12 누르면 나옴)를 이용하면 된다. 언어는 Javascript 그리고 웹의 기본인 HTTP, HTML, XPath 등을 이해하면 된다.
다만, 소위 gotcha라고 하는 게 역시 좀 있어서, 당연히 문제가 없는 코드라고 작성하고 실행해 보면 원하는 결과가 안 나와서 디버깅하느라 시간을 많이 보내다가 Stack Overflow 검색해 보면 이상한 이유가 있는 경우가 있다. 예를 들면 popup.html에 Javascript를 넣었더니 동작을 하지 않았다. 스크립트 자체가 잘못되었나 싶어 수정하고 계속해 봐도 안 된다. 알고 보니 popup.html에 바로 Javascript를 넣으면 안 되고 링크를 해야 한단다. 그래서 code.js로 빼고 실행해 봤더니 그래도 일부가 동작을 안 한다. 테스트 결과 결론은, code.js 파일에서도 이벤트 핸들러 등록하는 등의 코드만 동작하고 alert("test") 등의 일반 코드는 함수 외부에서 동작을 안 한다는 것이었다. 여기서 한 시간은 소모한 것 같다.
어쨌든 완성을 하고 보니, 자기가 만든 익스텐션이라도 그냥은 쓸 수가 없었다. 개발자 모드로 압축되지 않은 익스텐션을 등록해 놓으면, Chrome 브라우저를 실행할 때마다 브라우저가 멈추면서 개발자 모드로 등록한 익스텐션은 위험할 수 있다는 경고 문구가 뜬다. 물론 내가 만든 익스텐션이니 경고 문구를 그냥 무시하고 닫으면 되지만, 브라우저를 실행할 때마다 경고를 보려니 짜증이 났다. 경고를 안 나오게 하는 방법이 있나 찾아 보니, 보안 문제로 없다고 한다. CRX로 만들어 마치 예전에 웹 사이트에서 익스텐션을 다운로드해 설치하듯이 설치를 해 봤다. 처음에는 잘 동작을 했는데, Chrome을 재시작하면 보안 문제로 스토어에서 받지 않은 익스텐션은 제거해야 한다면서 비활성화해 버린다. 제거하지 않는 옵션은 없었다. 즉, 쓸 수가 없었다. 결국, 자기가 만든 익스텐션이라도 마음 편하게 쓰려면 스토어에 등록하고 스토어에서 다시 받아서 설치해야 하는 것이다.
그래서 내가 만든 익스텐션을 스토어에 등록(publish)하려니 요금을 내라고 한다. 5 달러라는데... 굳이 5 달러를 받아야 하는가 하는 생각이 들었지만, 안 내면 등록이 안 되었기 때문에 결제를 했다. 결제 후 등록 버튼은 곧바로 눌러졌고 등록된 것처럼 보였지만, 실제 스토어 검색 결과에 내가 등록한 게 나오기까지는 몇 시간 정도 걸렸다. 그리고 외국에서는 필요가 없는 익스텐션이라 접근 가능한 국가를 한국만으로 한정하려고 했는데, 국가 목록에 한국이 안 보였다. 일본이나 중국, 대만, 베트남 등도 있는데 한국이 왜 없는지 의문이다. 결국 포기하고 그냥 전세계에서 접근 가능하도록 설정했다.
익스텐션 개발의 기본을 익혔으니... 이제 나머지 다른 사이트의 불편한 점도 익스텐션을 만들어 해결해 봐야겠다.
그런데, 결국 이마트 사이트의 불편함을 견디지 못하고 직접 익스텐션을 만들게 되었다. 이마트 사이트에는 점포 물건과 택배 물건이 있다. 점포 물건만 합쳐서 배송이 가능하다. 그래서 점포 물건만 골라 담아야 하는데, 문제는 상품 목록에 저것들이 섞여 있다는 것이다. 점포 상품만 표시하도록 체크박스에 체크를 하면 되지만, 페이지가 바뀔 때마다 매번 체크하는 게 아주 귀찮고 시간이 드는 일이었다. 그래서 디폴트로 점포 물건만 보이게 하는 익스텐션을 만들었다.
구글이 제공하는 개발 문서와, 구글 검색해 찾은 예제, 그리고 Stack Overflow 등을 참조해서 만들었고, 완전히 처음부터 시작했는데 90% 완성하는 데까지 6시간 정도밖에 안 걸렸다. 그 후에는 버그 수정이나 아이콘 작성, 코드 줄 맞추기... (Javascript의 기본 코딩 스타일이 내가 좋아하는 스타일이 아닌데, 에디터가 자꾸 그렇게 바꾸고, 어떻게 그걸 끄는지 못 찾았다) 등에 시간이 좀 걸렸다. 개발에 특별한 도구는 필요하지 않고, 그냥 일반적 텍스트 에디터와 Chrome 브라우저의 개발자 도구 (F12 누르면 나옴)를 이용하면 된다. 언어는 Javascript 그리고 웹의 기본인 HTTP, HTML, XPath 등을 이해하면 된다.
다만, 소위 gotcha라고 하는 게 역시 좀 있어서, 당연히 문제가 없는 코드라고 작성하고 실행해 보면 원하는 결과가 안 나와서 디버깅하느라 시간을 많이 보내다가 Stack Overflow 검색해 보면 이상한 이유가 있는 경우가 있다. 예를 들면 popup.html에 Javascript를 넣었더니 동작을 하지 않았다. 스크립트 자체가 잘못되었나 싶어 수정하고 계속해 봐도 안 된다. 알고 보니 popup.html에 바로 Javascript를 넣으면 안 되고 링크를 해야 한단다. 그래서 code.js로 빼고 실행해 봤더니 그래도 일부가 동작을 안 한다. 테스트 결과 결론은, code.js 파일에서도 이벤트 핸들러 등록하는 등의 코드만 동작하고 alert("test") 등의 일반 코드는 함수 외부에서 동작을 안 한다는 것이었다. 여기서 한 시간은 소모한 것 같다.
어쨌든 완성을 하고 보니, 자기가 만든 익스텐션이라도 그냥은 쓸 수가 없었다. 개발자 모드로 압축되지 않은 익스텐션을 등록해 놓으면, Chrome 브라우저를 실행할 때마다 브라우저가 멈추면서 개발자 모드로 등록한 익스텐션은 위험할 수 있다는 경고 문구가 뜬다. 물론 내가 만든 익스텐션이니 경고 문구를 그냥 무시하고 닫으면 되지만, 브라우저를 실행할 때마다 경고를 보려니 짜증이 났다. 경고를 안 나오게 하는 방법이 있나 찾아 보니, 보안 문제로 없다고 한다. CRX로 만들어 마치 예전에 웹 사이트에서 익스텐션을 다운로드해 설치하듯이 설치를 해 봤다. 처음에는 잘 동작을 했는데, Chrome을 재시작하면 보안 문제로 스토어에서 받지 않은 익스텐션은 제거해야 한다면서 비활성화해 버린다. 제거하지 않는 옵션은 없었다. 즉, 쓸 수가 없었다. 결국, 자기가 만든 익스텐션이라도 마음 편하게 쓰려면 스토어에 등록하고 스토어에서 다시 받아서 설치해야 하는 것이다.
그래서 내가 만든 익스텐션을 스토어에 등록(publish)하려니 요금을 내라고 한다. 5 달러라는데... 굳이 5 달러를 받아야 하는가 하는 생각이 들었지만, 안 내면 등록이 안 되었기 때문에 결제를 했다. 결제 후 등록 버튼은 곧바로 눌러졌고 등록된 것처럼 보였지만, 실제 스토어 검색 결과에 내가 등록한 게 나오기까지는 몇 시간 정도 걸렸다. 그리고 외국에서는 필요가 없는 익스텐션이라 접근 가능한 국가를 한국만으로 한정하려고 했는데, 국가 목록에 한국이 안 보였다. 일본이나 중국, 대만, 베트남 등도 있는데 한국이 왜 없는지 의문이다. 결국 포기하고 그냥 전세계에서 접근 가능하도록 설정했다.
익스텐션 개발의 기본을 익혔으니... 이제 나머지 다른 사이트의 불편한 점도 익스텐션을 만들어 해결해 봐야겠다.
Subscribe to:
Posts (Atom)