2017-11-20 2 views
1

OpenCart 상점의 관리자 앱인 내 앱용 API를 개발하고 있습니다. 내 API의 webhook에서 SMS 또는 푸시 알림을 통해 매장 관리자에게 알릴 수 있도록 내 앱에 연결된 스토어에 배치 된 모든 주문에 대한 알림을 받길 원합니다.OpenCart의 새로운 주문에서 맞춤 SMS/이메일을 실행하는 방법은 무엇입니까?

지금까지 OpenCart의 핵심 컨트롤러와 상호 작용할 필요가 없었기 때문에 지금까지 대부분의 관리 작업을 수행 할 수있었습니다. 이제 기존 컨트롤러를 변경할 수는 없지만 컨트롤러와 모델을 직접 추가 할 수 있습니다. OpenCart에 대한 많은 경험이 없지만 구조를 이해하고 있습니다. 어떤 제안? 나는이 질문의 범위를 벗어난 유료 플러그인을 제외하고는 많이 찾을 수 없었다.

내가 생각할 수있는 가능한 해결책 중 하나는 연결된 API를 통해 연결된 저장소의 OpenCart 서버에 핑을 걸고 매분마다 새로운 주문을 기록하고 이전 분과 다음 순간의 로그가 변경 될 때마다 해당 사용자에게 알리는 것입니다.

업데이트 :

내가 생각할 수있는 또 다른 방법은 그래서 메일이 새로운 주문을 발사 할 때마다, 내 수업이 트리거됩니다 내 사용자 정의 클래스와 라이브러리 클래스 Mail을 확장하는 것입니다 내 API를 할 것이다 통보! 다른 사람이 라이브러리 파일을 다시 변경하는 경우에는 분명히 실패합니다. 또한 라이브러리 파일을 변경하는 것이 나에게 좋은 해결책이 아닌 것 같습니다.

+0

opencart에서 주문을 작성하는 방법을 이해하려고하면 결제가 완료되기 전에 주문 레코드가 테이블에 추가됩니다. checkout/model.php 모델을 확인하여 성공적인 주문을 위해 고객과 사용자에게 발송 된 이메일의 상태를 확인해야합니다. 자신 만의 컨트롤러를 만들어 구현할 수 있지만 체크 아웃/주문에서 자신의 메서드를 호출해야하기 때문에 코어를 변경해야합니다. –

+0

감사합니다! 코드를 살펴 봤는데 메일 주문이 완료되면 기존 메일 클래스를 무시할 수 있다고 생각했습니다. 그러나 라이브러리 파일이므로 변경하지 않아야합니다. 나는 또한 내가들을 수있는 사건들을 찾고있다. Lemme이 도움을 줄 수 있는지 알고 있습니다. – Sayed

+1

이벤트에 대해 잘 모르겠습니다. 알아낼 수 있다면 알려 드리겠습니다. –

답변

1

문제는 지불 게이트웨이가 다른 방식으로 지불되었는지를 확인하는 것입니다. 예를 들어 PayPal은 PayPal 게이트웨이 코드의 콜백 URL에 대한 IPN 요청을 사용합니다.

그래서 cron을 사용하여 정기적으로 주문을 확인하는 것이 좋지 않은 해결책은 아닙니다.

+0

라이브러리 메일 클래스를 변경하고 사용자 정의 클래스로 확장하는 것은 어떻습니까? 그렇게하면 '새 주문'메일이 전송 될 때마다 자동으로 알림을 받게됩니까? – Sayed

+0

@Sayed 메일 라이브러리를 다루는 대신, 메일이 실제로 새로운 주문을 위해 전송되는 체크 아웃/주문 모델에서 메소드를 호출하면 안됩니다. 나는 당신에게 방법을 부를 곳으로 인도 할 수 있습니다. mail.php를 바꾸는 것보다 낫다. –

+0

API와 상호 작용할 제 3 자 라이브러리를 개발 중이기 때문에. 이 라이브러리는 상점 유효성 검증의 일부로 자동 설치됩니다. 따라서 기존의 코드를 변경하는 것은 나에게 좋은 습관으로 보이지 않습니다. 게다가, 나는 내 코드를 고립되고 독립적으로 만들고 싶다. 나는 사건에 관해 읽었고 그들은 나에게 좋은 접근법처럼 보인다. 일단 내가 결정을 완료하면 게시물을 업데이트해야합니다. – Sayed

관련 문제