개발자 포럼

필독사항1 : 질문을 올릴 경우 답변자는 뛰어난 분석학자나 심리학자가 아님을 유의하세요. 
필독사항2 : 반드시 구체적인 설명과 코드 그리고 오류 메시지 및 캡처 이미지를 함께 올려주세요. 

현재 VS2008 MFC  C++ 개발환경에서 SMS 전송 시스템 개발중입니다.

일단 API모듈은 추가 해서 문자전송하는건 테스트를 했는데요.

 

제가 구현하고 싶은 기능이 가능할지 문의드립니다.

1. 사용자가 입력한 ID,PW의 유효성 판단.

2. 입력한 ID의 잔액을 알수 있는지?

 

그리고 CSMS 클래스의 각 함수별 기능을 상세하게 알고싶습니다..

양이 좀 많지만 소스코드 올려봅니다..  답변 부탁드립니다.

 

void Add(LPCTSTR called_number, LPCTSTR calling_number, LPCTSTR message, LPCTSTR called_refname, LPCTSTR reservdate, LPCTSTR message_id, long delay_count)
    {
        static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_I4 ;
        InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms, called_number, calling_number, message, called_refname, reservdate, message_id, delay_count);
    }
    void Empty()
    {
        InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }
    void Close()
    {
        InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }
    BOOL Connect()
    {
        BOOL result;
        InvokeHelper(0x4, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
        return result;
    }
    long Credits()
    {
        long result;
        InvokeHelper(0x5, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
        return result;
    }
    CString MD5(LPCTSTR src)
    {
        CString result;
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x6, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, src);
        return result;
    }
    long Send()
    {
        long result;
        InvokeHelper(0x7, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
        return result;
    }
    void SetUser(LPCTSTR userid, LPCTSTR password)
    {
        static BYTE parms[] = VTS_BSTR VTS_BSTR ;
        InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms, userid, password);
    }
    CString LastErrorStr()
    {
        CString result;
        InvokeHelper(0x9, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
        return result;
    }
    BOOL Remain(VARIANT * cash, VARIANT * point, VARIANT * drop, VARIANT * Remain, VARIANT * resultcode)
    {
        BOOL result;
        static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0xa, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, cash, point, drop, Remain, resultcode);
        return result;
    }
    BOOL Result(LPCTSTR mid, VARIANT * status, VARIANT * resultcode)
    {
        BOOL result;
        static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0xb, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, mid, status, resultcode);
        return result;
    }
    CString KeyGen()
    {
        CString result;
        InvokeHelper(0xc, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
        return result;
    }
    void AddLMS(LPCTSTR called_number, LPCTSTR calling_number, LPCTSTR subject, LPCTSTR message, LPCTSTR called_refname, LPCTSTR reservdate, LPCTSTR message_id)
    {
        static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR ;
        InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, parms, called_number, calling_number, subject, message, called_refname, reservdate, message_id);
    }
    void Disconnect()
    {
        InvokeHelper(0xf, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }
    void SetCharset(LPCTSTR charset)
    {
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x10, DISPATCH_METHOD, VT_EMPTY, NULL, parms, charset);
    }
    BOOL Cancel(LPCTSTR messageId, VARIANT * resultcode, VARIANT * resultMessage)
    {
        BOOL result;
        static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0x11, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, messageId, resultcode, resultMessage);
        return result;
    }
    BOOL GroupCancel(LPCTSTR groupId, VARIANT * resultcode, VARIANT * resultMessage)
    {
        BOOL result;
        static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0x12, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, groupId, resultcode, resultMessage);
        return result;
    }
    void SetCrypt(LPCTSTR crypt)
    {
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms, crypt);
    }
    void SetGroupId(LPCTSTR groupId)
    {
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms, groupId);
    }
    BOOL ErrorDetected()
    {
        BOOL result;
        InvokeHelper(0x15, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
        return result;
    }
    BOOL GetResult(long index, VARIANT * messageId, VARIANT * groupId, VARIANT * resultcode, VARIANT * resultMessage)
    {
        BOOL result;
        static BYTE parms[] = VTS_I4 VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0x16, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, index, messageId, groupId, resultcode, resultMessage);
        return result;
    }
    void SetAppVersion(LPCTSTR version)
    {
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x17, DISPATCH_METHOD, VT_EMPTY, NULL, parms, version);
    }
    void AddMMS(LPCTSTR called_number, LPCTSTR calling_number, LPCTSTR subject, LPCTSTR message, LPCTSTR image_file, LPCTSTR called_refname, LPCTSTR reservdate, LPCTSTR message_id)
    {
        static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR ;
        InvokeHelper(0x18, DISPATCH_METHOD, VT_EMPTY, NULL, parms, called_number, calling_number, subject, message, image_file, called_refname, reservdate, message_id);
    }
    void EnableResale()
    {
        InvokeHelper(0x19, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }
    void SetSlnRegKey(LPCTSTR sln_reg_key)
    {
        static BYTE parms[] = VTS_BSTR ;
        InvokeHelper(0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, parms, sln_reg_key);
    }

 


댓글 '5'

profile

wiley


*.222.54.89

안녕하세요?

 

1. 사용자가 입력한 ID,PW의 유효성 판단.

Remain 메서드를 호출하여 잔액을 정상적으로 읽어오고 true가 리턴되면 ID, PW가 올바르고 false가 리턴되면 올바르지 않습니다.

 

2. 입력한 ID의 잔액을 알수 있는지?

Remain 메서드를 호출하여 cash, point를 읽어 오실 수 있습니다.

 

3. CSMS 클래스의 메서드 상세 설명은 아래 링크의 Reference를 참고해 주세요.

 

http://www.coolsms.co.kr/Legacy_DLL_API_Reference

 

미흡한 답변에 대해서는 재질문 부탁드립니다~!

 

 

kakaruno


*.221.153.194

답변감사합니다

Remain의 예제 소스는 없나요??

profile

wiley


*.222.54.89

 

MFC 예제는 없고 아래 ASP 코드를 참고하시면 될 것 같습니다.

해당 코드의 원본은 아래 링크에서 다운받으시면  되세요.

 

http://www.coolsms.co.kr/download/63197

 

 

' 사용가능 잔량 읽어오기
' 캐쉬(out), 포인트(out), 문자방울(out), 사용가능 SMS건수(캐쉬 + 포인트 + 문자방울)(out), 결과코드(out)
' RESULT-CODE:
' 00 : 정상
' 20 : 아이디 혹은 패스워드 틀림
' 30 : 잔액이 없음
' 그외 : 전송결과코드표 참조
dim cash
dim point
dim drop
dim remain
dim resultcode
if sms.Remain(cash, point, drop, remain, resultcode) = False then
    response.Write "잔액정보를 읽어오지 못했습니다.<br />"
    response.Write "Result Code: " & resultcode
    sms.disconnect()
    set sms = Nothing
    response.End
end if

 

 

 

 

kakaruno


*.221.153.194

답변 감사합니다.

한가지만 더 여쭙겠습니다.

 

지금은 회원의 상태가 선불이용이라는 가정하게 cash를  이용가능한 금액으로 표시했는데요..

후불제로 변경했을 때는 cash부분이 이용한 금액으로 리턴되는건가요?

 

아니면 회원 상태가 선불이용상태 인지 후불이용 상태인지 알수 있는 방법이 있을까요?

 

추가로 drop - 문자방울 매개변수의 용도는 무었인가요?

 

답변 감사합니다

profile

wiley


*.222.54.89

선불, 후불 구분에 따라 별도의 정보를 리턴하는 API는 현재 없습니다.

후불의 경우 남아 있는 선불 잔액이 리턴됩니다.

후불 사용자는 Classic API(현재 사용하여 개발하시려는 API)를 사용하실 수 없습니다.

drop - 문자방울은 2014년 1월 1일부로 사용이 중지된 cash 대신 사용할 수 있는 발송단위입니다.

 

List of Articles
번호 제목 글쓴이
238 Classic API Classic API 에서 개행처리 [2] 대입닷컴
237 Classic API 질문드립니다. secret [1] 주)아이에스이
» Classic API 질문드립니다. [5] kakaruno
235 Classic API 리턴값 관련 문의 secret [1] 파수닷컴
234 Classic API 인증에러 (0002) 가 나오는 경우 secret [1] (주)인화락
233 Classic API mms 메세지 [10] ymcho
232 Classic API 메세지 전송이 제대로 되지 않습니다. secret [4] (주)프로컴시스템
231 Classic API Python으로 해외문자 전송 방법 [1] 맥거핀
230 Classic API classic api 관련 질문 secret [1] yoonsoo
229 Classic API http api 관련 문의 secret [1] yoonsoo
228 Classic API 62번 에러에 대한 질문입니다. [3] 으릉이
227 Classic API EVC++에서 문자전송 [1] allwhite
226 Classic API 안녕하세요. classic API 저작권에 관련해서 질문드립니다. [2] yhsang2
225 Classic API 문자 전송 건수 문의 secret [6] 파킹클라우드
224 Classic API 정상전송 후 페이지 상태 설정하는 방법 알려주세요 [2] 김정란
223 Classic API JAVA SDK 사용중 문의사항입니다. secret [3] skrtn
222 Classic API MMS 발송 "API_KEY가 잘못 되었습니다." 오류 메시지 secret [1] 주식회사콜인어스
221 Classic API 리턴 페이지 질문 secret [1] rcmp
220 Classic API 발송 오류에 대한 문의입니다 [1] [SKKU]grademanager
219 Classic API 질문 하나 있습니다 secret [3] 소공