صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 79

نام تاپیک: درخواست راهنمایی جهت ارسال sms با وب سرويس

  1. #1
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    درخواست راهنمایی جهت ارسال sms با وب سرويس

    سلام دوستان و اساتید گرامی
    شرکت پارس گرین برای ارسال پیامک با استفاده از وب سرویس برای همه زبانهای برنامه نویسی بجز اکسس راهکار همراه با مثال ارائه کرده است
    با استفاده از DLL این شرکت و وارد کردن ان در ویژوال استودیو براحتی با کد مربوط پیامک ارسال می شود. من سعی کردم کلاس های این فایل را با استفاده از اکسس 2003 به اکسس وارد کنم. در فرم برنامه می توان کلاس های مختلف برنامه را صدا و دستور مورد نظر را اجرا کرد
    در هر صورت به جز دستور wsm_GetCredit که اعتبار باقی مانده را نشان می دهم موفق نشدم دستور دیگری را اجرا کنم.
    مهمترین گزینه کار با وب سرویس امضا دیجیتال شرکت می باشد که هریک از کاربران عضو آن را در سایت تولید و در نرم افزار استفاده می کنند

    با توجه به اینکه به نظر می رسد باید برای بکارگیری این وب سرویس در اکسس هم راهکاری باشد( جدا از اینکه از DLL فقط می توان تحت برنامه های دات نت استفاده کرد) ممنون خواهم شد اساتید محترم کمک نمایند بر این مشکل فائق شویم
    توضیح : در فرم ضمیمه کدهایی که خودم نوشته ام جواب نمی دهد- و کدهای دات نت که کاملا صحیح و درست می باشد ( مطابق لینک راهنمای داخل کدها) در کنار هم آورده شده اند
    شایان ذکر است به جهت اختصاصی بودن امضا دیجیتال امضا داخل برنامه نادرست بوده و درصورتی که هریک از عزیزان و اساتید برای تست دستورات لازم ببیند امضا را برای آنها ارسال خواهم کرد

    با تشکر فراوان
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    برای کار با وب سرویس نیازی به کمپوننت نیست،
    شما کافی هست از متد http post استفاده کنین.

    قبلا مفصل و با کد نمونه در تاپیک زیر بحث شده در موردش:
    https://barnamenevis.org/showthread.php?524097-وب-سرويس

    همینجور اینجا هم پرسش مشابه داشتیم:
    https://barnamenevis.org/showthread.php?524895-ارسال-sms-از-اکسس-با-API-webservis

    مطمئنم شما وقت بگذارین تاپیک وب سرویس رو با دقت بخونین جواب گرفتین، ولی اگر موردی بود مطرح کنین.
    نگران اسم امضای دیجیتال هم نباشید؛ در واقع همون token هست که بیشتر وب سرویس های پولی یا رایگان ولی با محدودیت دارن و مشابه user/pass هست.


  3. #3
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    ضمن تشکر از حسن توجه شما. سعیم رو می کنم
    بله در مورد امضا نگرانی ندارم چون به هر تعداد بخوام میتونم بسازم
    فقط یک سئوال رفرنس MSSOAP30 هم برای استفاده از این روش لازمه به برنامه اضافه بشه یا نه
    اینطور که متوجه شدم برای مثلا ارسال پیام از کدهای آدرس زیر استفاده و به جای STRING درون کد پارامترهای خود را میدهیم
    البته برای من که واقعا تو این زمینه کار نکردم کمی مفاهیمش ثقیله
    https://login.parsgreen.com/Api/Send...p=SendGroupSMS

    SOAP 1.1

    The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
    کد HTML:
    POST /Api/SendSMS.asmx HTTP/1.1Host: login.parsgreen.com
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://ParsGreen.com/SendGroupSMS"
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <SendGroupSMS xmlns="http://ParsGreen.com/">
          <signature>string</signature>
          <from>string</from>
          <to>
            <string>string</string>
            <string>string</string>
          </to>
          <text>string</text>
          <isFlash>boolean</isFlash>
          <udh>string</udh>
          <success>int</success>
          <retStr>
            <string>string</string>
            <string>string</string>
          </retStr>
        </SendGroupSMS>
      </soap:Body> </soap:Envelope>
    البته اگر لینک رو ملاحظه کنید کدهای دیگری نیز وجود داره که باید حداقل برای من رمز گشایی بشه


    امضا دیجیتال جهت تست: 443E70C8-1DFD-499B-B80D-98318765BC57

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    ارسال sms به نسبت ارسال نسخه تامین اجتماعی که بحثش شده به مراتب ساده تر هست،
    هم تعداد پارامترها کمتر هست و هم اینکه برخلاف تامین اجتماعی هم بهتر مستند شده و هم توسط برنامه نویسای بهتری نوشته شده!

    شما به هیچ رفرنسی به جز ms xml نیاز ندارین.

    پست 11 در همون تاپیک وب سرویس کلید کار هست
    https://barnamenevis.org/showthread....=1#post2326057

  5. #5
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام اگر درست متوجه شده باشم باید با کد زیر ارسال انجام بشه. ولی انجام نشد
    'POST /Api/SendSMS.asmx HTTP/1.1
    'Host: login.parsgreen.com
    'Content-Type: text/xml; charset=utf-8
    'Content -length: length
    'SOAPAction: "http://ParsGreen.com/SendGroupSmsSimple"
    '
    '<?xml version="1.0" encoding="utf-8"?>
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    ' <soap:Body>
    ' <SendGroupSmsSimple xmlns="http://ParsGreen.com/">
    ' <signature>string</signature>
    ' <from>string</from>
    ' <to>
    ' <string>string</string>
    ' <string>string</string>
    ' </to>
    ' <text>string</text>
    ' <isFlash>boolean</isFlash>
    ' <udh>string</udh>
    ' </SendGroupSmsSimple>
    ' </soap:Body>
    '</soap:Envelope>




    Dim XM As String


    XM = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
    "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
    "<soap:Body>" & _
    "<SendGroupSmsSimple xmlns=""http://ParsGreen.com/"">" & _
    "<signature>""995428DA-14EB-4512-859D-B4E66948A672""</signature>" & _
    "<from>""10002156713700""</from>" & _
    "<to>" & _
    "<string>""09120000000""</string>" & _
    "<string>""09120000000""</string>" & _
    "</to>" & _
    "<text>""salam""</text>" & _
    "<isFlash>" & False & "</isFlash>" & _
    "<udh>"" ""</udh>" & _
    "</SendGroupSmsSimple>" & _
    "</soap:Body>" & _
    "</soap:Envelope>"


    Const WSURL As String = "https://login.parsgreen.com/Api/SendSMS.asmx"
    Dim XML_HTTP As New MSXML2.XMLHTTP60
    XML_HTTP.Open "POST", WSURL, False
    XML_HTTP.setRequestHeader "HOST", "login.parsgreen.com"
    XML_HTTP.setRequestHeader "CONTENT-TYPE", "text/xml; charset=utf-8" '"application/soap+xml; charset=utf-8"
    XML_HTTP.setRequestHeader "SOAPACTION", "http://ParsGreen.com/SendGroupSmsSimple"
    XML_HTTP.send XM

    امضا، شماره فرستنده واقعی هستند. برای تست شماره خودتان را جایگزین بفرمایید

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    1- "" هایی که دو طرف پارامترها گذاشتین بردارین - نباید باشه!

    2- در آدرس زیر فرمت تمام عملیات api رو براتون آورده:
    https://login.parsgreen.com/Api/SendSMS.asmx

    3- برای ارسال پیامک تکی فرمت به این شکل هست:
    https://login.parsgreen.com/Api/SendSMS.asmx?op=Send
    طبق این راهنما، soapaction نیاز ندارین.

  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    4- طبق راهنمای ارسال زیر، با اطلاعاتی که دادین پیامک ارسال نمیشه و پاسخ not send برمیگرده:
    https://login.parsgreen.com/Files/Ht...umentation.pdf

    لطفا خودتون تست کنین و خبر بدین، شاید اعتبار تموم شده یا مقادیر نادرست هست.

  8. #8
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    5- یک برنامه نمونه براتون آماده میکنم، کدهای طولانی اینجا درست نمایش داده نمیشن.
    تست کنین و خبر بدین.

  9. #9
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    باتشکر از زحمات شما
    البته من با متد HTTP میتونم با کد زیر ارسال کنم( تست بفرمایید)
    اما هدفم اینه که یا از کلاسهایی که در فایل ضمیمه گذاشته بودم و یا از روش ارسال SOAP استفاده کنم
    البته با توجه به اینکه در هر دو روش HTTP و SOAP آوردن کدها در جاهای مختلفه سخته اگر بشه با اون یک تابع عمومی درست کرد عالی میشه که متاسفانه من تو این موضوع ضعف دارم
      Dim Token As String
    Dim Url As String
    Dim i As Integer
    Dim xmlDoc As New MSXML2.DOMDocument60
    Dim HttpReq As New MSXML2.ServerXMLHTTP60
    Dim Emza, az, Be, Payam As String
    Emza = "443E70C8-1DFD-499B-B80D-98318765BC57"
    az = "10002156713700"
    Be = "0912000,0939000"
    Payam = "سلام"
    Url = "http://login.parsgreen.com/UrlService/sendsms.ashx?FROM=" & az & "&TO=" & Be & "&TEXT=" & Payam & "&signature=" & Emza & ""
    HttpReq.Open "GET", Url, False
    HttpReq.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
    HttpReq.send
    Token = HttpReq.responseText
    MsgBox Token

  10. #10
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    فقط یک نکته ای رو یاداور بشم
    لطفا به شماره ای ارسال کنید که پیامک تبلیغاتی اون مسدود نباشه

  11. #11
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    استاد سلام
    پیامهای تست شما وارد سامانه شده از آنجاییکه این سامانه پیامهای سفید(پیامهای تایید شده با فرمت خاص شرکت ارسال کننده) را ارسال می کند لطفا از پیامی که به شماره ارسالی فرستادم جهت تست استفاده بفرمایید

  12. #12
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام و روز خوش

    1- signature رو از پست هاتون حذف کنین یا از پنل کاربری تغییرش بدین (اگر میشه)!

    2- روی نمونه پیوست چک کنین و خبر بدین
    کد اصلی چک شده ولی من تغییرات جزئی دادم و بعدش تست نشده

    3- این کد فقط متد ارسال تکی sendsms رو در برمیگیره، برای بقیه متدها از همین الگو بگیرین.

    4- یک راهنما در آدرس زیر هست:
    https://www.parsgreen.com/content/fi...umentation.pdf

    اون رو باید بخونین و کدهای برگشت (retstr,return value) رو از روی اون تفسیر کنین.
    در کد پیوست این مقادیر بصورت status,refrence,mobile, sendresult برمیگردن.
    فایل های ضمیمه فایل های ضمیمه

  13. #13
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA


    Option Compare Database
    Option Explicit
    Public Const WSURL = "https://login.parsgreen.com/Api/SendSMS.asmx"
    Public Const Signature = "...."
    Public Const XML = _
    "<?xml version='1.0' encoding='utf-8'?>" & _
    "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " & _
    "xmlns:xsd='http://www.w3.org/2001/XMLSchema' " & _
    "xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>" & _
    "<soap12:Body><Send xmlns='http://ParsGreen.com/'>" & _
    "<signature>@S</signature>" & _
    "<toMobile>@M</toMobile>" & _
    "<smsBody>@T</smsBody>" & _
    "<retStr></retStr></Send></soap12:Body></soap12:Envelope>"
    Public Type SendResponse
    SendResult As Integer
    Mobile As String
    Status As String
    Refrence As String
    http_status As Integer
    http_status_text As String
    End Type


  14. #14
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Public Function SendSMS(Mobile As String, Text As String) As SendResponse
    Dim X As String
    X = Replace(XML, "@S", Signature)
    X = Replace(X, "@M", Mobile)
    X = Replace(X, "@T", Text)
    With New XMLHTTP60
    .Open "POST", WSURL, False
    .setRequestHeader "HOST", "login.parsgreen.com"
    .setRequestHeader "CONTENT-TYPE", "application/soap+xml; charset=utf-8"
    .Send X
    SendSMS.http_status = .Status
    SendSMS.http_status_text = .statusText
    If .Status = 200 Then
    Dim Doc As New DOMDocument60
    Doc.SetProperty "SelectionNamespaces", "xmlns:pg='http://ParsGreen.com/'"
    Doc.loadXML .responseText
    SendSMS.SendResult = Doc.selectSingleNode("//pg:SendResult").Text
    Dim retStr As Variant
    retStr = Split(Doc.selectSingleNode("//pg:retStr").Text, ";")
    SendSMS.Mobile = retStr(0)
    SendSMS.Status = retStr(1)
    SendSMS.Refrence = retStr(2)
    End If
    End With
    End Function

  15. #15
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA


    سلام استاد. خیلی عالی بود. تونستم پیامک تکی ارسال کنم
    البته نتیجه ارسال پیامک هم با استفاده از بخش انتهایی کد شما بسیار عالی بود
    نمی دونم چه جوری ازتون تشکر کنم . فقط میتونم دعا کنم همیشه سالم و تندرست باشید و خوب و خوش باشید
    در خصوص ارسال گروهی هم باید خودم رو محک بزنم ببینم میتونم از رو دست استاد خروجی مورد انتظار رو بگیرم یا نه. هر چند میدونم شما مثل همیشه یار و یاور همه بچه های تالار هستید و بی منت دانش خود را نشر میدید

  16. #16
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    نظر لطف شماست،
    خوشحالم جواب گرفتین.

    پیشنهاد میکنم از مدیر بخش درخواست تغییر نام تاپیک به یک عنوان مناسبتر رو بدین.

    و خواهش میکنم پس از این به نهایتا یک "آقا" در خطاب بسنده کنین.

  17. #17
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    بله حتما این کار را خواهم کرد.
    فقط یک نکته اگر بخوام روش ارسال گروهی رو کد نویسی کنم ساختار تابع ارسال همینه یا باید در این هم تغییراتی بدم. با الگوبرداری از کدهای شما بخش اول تعاریف و رشته xml رو نوشتم و با تابع ارسال فراخوانی کردم ظاهرا خطاهایی وجود داشت که کار نکرد. راستش یه منبع خوب می خوام که مفهوم این کدهای ارتباط وبی را شسته و رفته درک کنم. منابع در گوگل زیاده ولی به نظرم همه پراکنده است

  18. #18
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    اگر زیاد با ارسال گروهی سر و کار ندارین (چه از نظر فاصله زمانی، چه اندازه گروه و ...) شاید ارزش نداشته باشه براش کد بنویسین.
    میتونین همین کد رو تو حلقه استفاده کنین، چون در هر صورت در همون کد جدید هم ناچار به استفاده از حلقه هستین.

    اما قبل از هر کار دیگه اول باید طراحی دیتابیس رو تموم کنین تا کد رو بر اساس اون بنویسین.

    بعنوان مثال یک جدول برای اشخاص که شماره موبایل هم یکی از فیلدهاست ،
    یک جدول برای پیام ها ،
    و یک جدول هم برای سابقه ارسال شامل فیلدهایی مثل کد پیام، شماره موبایل (یا کد شخص)، تاریخ و زمان ارسال و نتایج (کد رهگیری و کد وضعیت و ...)

    حالا در تابع ارسال گروهی میتونین کد پیام و یک رکوردست (یا array یا ....) رو بعنوان پارامتر بفرستین و تابع باید نتایج ارسال رو در جدول سابقه بنویسه.

    برای تابع گروهی باید از لینک زیر استفاده کنین:
    https://login.parsgreen.com/Api/Send...p=SendGroupSMS

  19. #19
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    منظورتون از "کدهای وبی" رو متوجه نشدم که dom structure هست
    یا http post و ...
    یا خود وب سرویس.

    واقعیتش اینه که بهترین و سریعترین راه یادگیری کلاس حضوری هست بنظرم!

  20. #20
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام. منظورم همین نحوه پارامتر دهی در کدهای XML , HTTP POST , DOM STRUCTURE هست
    من سعی کردم مثل شما ابتدا بیام ثوابت رو تعریف کنم:

    Public Const WSURL = "https://login.parsgreen.com/Api/SendSMS.asmx"
    Public Const Signature = "0000"
    Public Const from = "10006713700"
    Public Const isFlash = False
    Public Const udh = ""
    Public Const success = 0
    بعد از اون کد XML و تعاریف رو به شکل زیر انجام دادم

    Public Const XML = _
    "<?xml version='1.0' encoding='utf-8'?>" & _
    "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " & _
    "xmlns:xsd='http://www.w3.org/2001/XMLSchema' " & _
    "xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>" & _
    "<soap12:Body><SendGroupSMS xmlns='http://ParsGreen.com/'>" & _
    "<signature>@S</signature>" & _
    "<from>@F</from>" & _
    "<to>" & _
    "<string>@M</string>" & _
    "</to>" & _
    "<text>@T</text>" & _
    "<isFlash>@IS</isFlash>" & _
    "<udh>@U</udh>" & _
    "<success>@SC</success>" & _
    "<retStr></retStr></SendGroupSMS></soap12:Body></soap12:Envelope>"






    Public Type SendGroupSMSResponse
    SendGroupSMSResult As Integer
    to As String
    Status As String
    Refrence As String
    http_status As Integer
    http_status_text As String
    End Type
    تابع ارسال را هم به شکل زیر نوشتم:


    Public Function SendGroupSMS(Text As String) As SendGroupSMSResponse
    Dim X As String
    X = Replace(XML, "@S", Signature)
    X = Replace(X, "@F", from)
    X = Replace(X, "@M", to)
    X = Replace(X, "@T", Text)
    X = Replace(X, "@IS", isFlash)
    X = Replace(X, "@U", udh)
    X = Replace(X, "@SC", success)


    With New XMLHTTP60


    .Open "POST", WSURL, False
    .setRequestHeader "HOST", "login.parsgreen.com"
    .setRequestHeader "CONTENT-TYPE", "application/soap+xml; charset=utf-8"
    .Send X

    SendGroupSMS.http_status = .Status
    SendGroupSMS.http_status_text = .statusText
    If .Status = 200 Then
    Dim Doc As New DOMDocument60
    Doc.SetProperty "SelectionNamespaces", "xmlns:pg='http://ParsGreen.com/'"
    Doc.loadXML .responseText
    SendGroupSMS.SendGroupSMSResult = Doc.selectSingleNode("//pg:SendGroupSMSResult").Text
    Dim retStr As Variant
    retStr = Split(Doc.selectSingleNode("//pg:retStr").Text, ";")
    SendGroupSMS.Mobile = retStr(0)
    SendGroupSMS.Status = retStr(1)
    SendGroupSMS.Refrence = retStr(2)
    End If
    End With
    End Function
    می خواستم بدونم اینکار رو درست انجام دادم یا خیر؟ البته تو تعریف شماره گیرنده که در کد اصلی به شکل زیر نوشته

    <to>
    <string>string</string>
    <string>string</string>
    </to>


    در خط ریپلیس کردن نمی دونم چرا ایراد می گیره.البته حتما یه اشکالی وجود داره و to رو قبول نمیکنه

    X = Replace(X, "@M", to)

    به هرصورت خیلی به نظرم پیچیده اومد.چند روز هم دارم کلنجار میرم و یه مقدار اصول کلی xml رو هم خوندم ولی با کدهای قشنگی که شما زدید کلی راه باید برم تا اونها را درک کنم. این رو میدونم که برای یادگیری باید تلاش کرد تا همه جوانب را یاد گرفت. ولی ازتون درخواست می کنم محبت کنید زحمت این بخش رو هم بکشید مثل قبلی.
    در مورد پارامترهای isflash, success,udh مقادیر false,0,null داخل کد چه جوری باید نوشته بشه. یا اصلا لازمه چیزی نوشته بشه یا همون طور خالی بمونه

    توی کد .NET مثل زیرنوشته:

    int cnt = 0;
    string _apikey ="D0C42A2D-6862-49B4-819E-FBD29A762978";
    int ret = new PARSGREEN.API.SMS.Send.SendSMS().SendGroupSMS(_api key, "", number, "salam", false, "", ref cnt, ref txt);
    ملاحظه می کنید که تلاش زیاد کردم ولی هنوز در جا میزنم.

  21. #21
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    1- برای ارسال گروهی باید در request ، در تگ to بازای هر شماره یک تگ string با مقدار شماره بفرستین.
    حالا یا باید کل محتوای درون تگ to رو قبلا بسازین و بعنوان پارامتر به تابع پاس کنین
    یا
    شماره ها رو به شکلی (رکوردست، ارایه، کالکشن، ...) به تابع پاس کنین و درون تابع این مجموعه رو بسازین.

    2- همینجور در response ، بازای هر شماره ای که در to آوردین، یک تگ string در تگ retstr برمیگرده،
    بنابراین دیگه مثل قبل فقط با متد selectsinglenode بتنهایی نمیشه جواب گرفت.


    یک نمونه براتون آماده میکنم تا روش کار رو متوجه بشین.

  22. #22
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام جناب mazoolagh
    منتظر زحمت شما هستم

  23. #23
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام
    کد زیر رو تست کنین و خبرش رو بدین.
    فرض بر این هست که :
    1- ساختار جدول ها رو مثل همین که گفتم ساختین
    2- لیست شماره ها بصورت رکوردست به تابع منتقل میشه
    فرضا select * from persons where
    3- نتیجه برای هر شماره در جدول سابقه نوشته میشه (در خود تابع) ولی چیزی برنمیگرده - این نتیجه مثل همون ارسال تکی هست.
    4- تابع فقط مقدار کلی success رو همراه با وضعیت http برمیگردونه

  24. #24
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Private Const WSURL = "https://login.parsgreen.com/Api/SendSMS.asmx"
    Private Const Signature = "...."
    Private Const Sender = "...."
    Private Const XML = _
    "<?xml version='1.0' encoding='utf-8'?>" & _
    "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " & _
    "xmlns:xsd='http://www.w3.org/2001/XMLSchema' " & _
    "xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>" & _
    "<soap12:Body><SendGroupSMS xmlns='http://ParsGreen.com/'>" & _
    "<signature>@SGN</signature>" & _
    "<from>@SDR</from>" & _
    "<to>@M</to>" & _
    "<text>@T</text>" & _
    "<isFlash>false</isFlash>" & _
    "<udh></udh>" & _
    "<success></success>" & _
    "<retStr></retStr></SendGroupSMS ></soap12:Body></soap12:Envelope>"

  25. #25
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Public Type SendGroupSMSResponse
    SendGroupSMSResult As Integer
    success As Integer
    http_status As Integer
    http_status_text As String
    End Type

  26. #26
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Public Function SendGroupSMS(Mobiles As Recordset, MessageID As Long) As SendGroupSMSResponse
    Dim SendTime As Date
    Dim X As String
    X = Replace(XML, "@SGN", Signature)
    X = Replace(X, "@SDR", Sender)
    X = Replace(X, "@T", DLookup("Message", "Messages", "MessageID=" & MessageID))
    Dim M As String
    Do Until Mobiles.EOF
    M = M + "<string>" & Mobiles!Mobile & "</string>"
    Mobiles.MoveNext
    Loop
    X = Replace(X, "@M", M)
    With New XMLHTTP60
    .Open "POST", WSURL, False
    .setRequestHeader "HOST", "login.parsgreen.com"
    .setRequestHeader "CONTENT-TYPE", "application/soap+xml; charset=utf-8"
    .Send X
    SendTime = Now
    SendGroupSMS.http_status = .Status
    SendGroupSMS.http_status_text = .statusText
    If .Status = 200 Then
    Dim Doc As New DOMDocument60
    Doc.SetProperty "SelectionNamespaces", "xmlns:pg='http://ParsGreen.com/'"
    Doc.loadXML .responseText
    SendGroupSMS.SendGroupSMSResult = Doc.selectSingleNode("//pg:SendGroupSMSResult").Text
    SendGroupSMS.success = Doc.selectSingleNode("//pg:success").Text
    Dim node As MSXML2.IXMLDOMNode
    Dim a As Variant
    Dim s As String
    Const sql = "INSERT INTO History (Mobile,MessageID,Status,Refrence,SendTime) VALUES ('@MN',@MID,@S,@R,#@T#)"
    For Each node In Doc.selectSingleNode("//pg:retStr").childNodes
    a = Split(node.Text, ";")
    s = Replace(sql, "@MN", a(0))
    s = Replace(s, "@MID", MessageID)
    s = Replace(s, "@T", SendTime)
    s = Replace(s, "@S", a(1))
    s = Replace(s, "@R", a(2))
    DoCmd.RunSQL s
    Next
    End If
    End With
    End Function

  27. #27
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام
    ممنون از زحمات شما که واقعا رحمت است برای همه اعضای این تالار
    از تابع شما مطابق کدهای زیر استفاده کردم اما ارسال انجام نشد. از جدول پیامها پیام شماره یک را به شماره های جدول موبایلها . ضمنا برای نتیجه نیز جدول با تصویر زیر را ساختم
     Dim db As DAO.Database
    Set db = CurrentDb
    Dim RS As Recordset
    Dim strSql As String
    strSql = "SELECT Mobile FROM tblMobiles"
    Set RS = db.OpenRecordset(strSql, dbOpenDynaset)
    SendGroupSMS RS, 1

    آخرین ویرایش به وسیله mohammadsaleh : جمعه 09 خرداد 1399 در 18:21 عصر

  28. #28
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    این کد رو فقط کامپایل کردم ولی اجرا نکردم، بنابراین ممکنه ایراد منطقی ویا اجرایی داشته باشه.

    اگر 3-4 شماره واقعی برای من ایمیل کنین، کد رو در عمل تست میکنم ببینم اشکال کجاست.

    به mazoolagh در yahoo بفرستین.

  29. #29
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام
    ارسال کردم

  30. #30
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    مشکل در ساخت رشته شماره ها و بدلیل بی دقتی من بود!
    در ضمن شماره پیگیری رو به string تغییر دادم.

    جدول نمونه history دو ارسال گروهی اخیر هم هست که میتونین بررسی کنین.
    فایل های ضمیمه فایل های ضمیمه

  31. #31
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Private Const WSURL = "https://login.parsgreen.com/Api/SendSMS.asmx"
    Private Const Signature = "----"
    Private Const Sender = "...."

    Private Const XM = "<?xml version='1.0' encoding='utf-8'?>" & _
    "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>" & _
    "<soap12:Body><SendGroupSMS xmlns='http://ParsGreen.com/'>" & _
    "<signature>@SGN</signature>" & _
    "<from>@SDR</from>" & _
    "<to><string>@M</string></to>" & _
    "<text>@T</text>" & _
    "<isFlash>false</isFlash>" & _
    "<udh></udh>" & _
    "<retStr></retStr>" & _
    "</SendGroupSMS></soap12:Body></soap12:Envelope>"


    Public Type SendGroupSMSResponse
    SendGroupSMSResult As Integer
    success As Integer
    http_status As Integer
    http_status_text As String
    End Type

  32. #32
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    Public Function SendGroupSMS(Mobiles As Recordset, MessageID As Long) As SendGroupSMSResponse
    Dim SendTime As Date
    Dim X As String
    X = Replace(XM, "@SGN", Signature)
    X = Replace(X, "@SDR", Sender)
    X = Replace(X, "@T", DLookup("Message", "Messages", "MessageID=" & MessageID))
    Dim M As String
    Do Until Mobiles.EOF
    M = IIf(M = "", Mobiles!Mobile, M + vbCrLf + Mobiles!Mobile)
    Mobiles.MoveNext
    Loop
    X = Replace(X, "@M", M)
    With New XMLHTTP60
    .Open "POST", WSURL, False
    .setRequestHeader "HOST", "login.parsgreen.com"
    .setRequestHeader "CONTENT-TYPE", "application/soap+xml; charset=utf-8"
    .Send X
    SendTime = Now
    SendGroupSMS.http_status = .Status
    SendGroupSMS.http_status_text = .statusText
    If .Status = 200 Then
    Dim Doc As New DOMDocument60
    Doc.SetProperty "SelectionNamespaces", "xmlns:pg='http://ParsGreen.com/'"
    Doc.loadXML .responseText
    SendGroupSMS.SendGroupSMSResult = Doc.selectSingleNode("//pg:SendGroupSMSResult").Text
    SendGroupSMS.success = Doc.selectSingleNode("//pg:success").Text
    Dim node As MSXML2.IXMLDOMNode
    Dim a As Variant
    Dim s As String
    Const sql = "INSERT INTO History (Mobile,MessageID,Status,Refrence,SendTime) VALUES ('@MN',@MID,@S,'@R',#@T#)"
    For Each node In Doc.selectSingleNode("//pg:retStr").childNodes
    a = Split(node.Text, ";")
    s = Replace(sql, "@MN", a(0))
    s = Replace(s, "@MID", MessageID)
    s = Replace(s, "@T", SendTime)
    s = Replace(s, "@S", a(1))
    s = Replace(s, "@R", a(2))
    DoCmd.RunSQL s
    Next
    End If
    End With
    End Function

  33. #33
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    یک نمونه روش استفاده از تابع ارسال گروهی:

    Sub test()
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select mobile from persons where personid>0")
    Dim response As SendGroupSMSResponse
    response = SendGroupSMS(rs, 1)
    rs.Close
    Set rs = Nothing
    End Sub


  34. #34
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    در ضمن قرار بود از مدیر بخش درخواست تغییر نام تاپیک به یک عنوان مربوط و مناسب با موضوع رو بدین.

  35. #35
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت تبدیل کد VB.net به VBA

    سلام
    ممنون خیلی زحمت کشیدید
    گوهر اندیشه نابتان فروزان باد

  36. #36
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت ارسال sms با وب سرويس

    سلام خدمت اساتید و دوستان عزیز به ویژه جناب
    mazoolagh عزیز
    یکی از قابلیتهای استفاده از این وب سرویس ارسال پیام نظیر به نظیر ( پیام اختصاصی برای هر شماره ) به صورت یکجا می باشد
    من کدها رو با استفاده از کدهای قبلی که جناب
    mazoolagh زحمت اون رو کشیدند در متد
    SendGroupSMSP2P استفاده کردم ولی نمیدونم چرا پیامها رو به جای ارسال به هریک از شماره به صورت یکجا به همه شماره ها میفرسته
    کدهایی که نوشتم اینهاست:

    '------------  send GroupSms P2P ---------------------


    Private Const GroupSMSP2pXML = "<?xml version='1.0' encoding='utf-8'?>" & _
    "<soap12:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap12='http://www.w3.org/2003/05/soap-envelope'>" & _
    "<soap12:Body><SendGroupSMSP2P xmlns='http://ParsGreen.com/'>" & _
    "<signature>@SGN</signature>" & _
    "<from>@SDR</from>" & _
    "<to><string>@M</string></to>" & _
    "<texts><string>@T</string></texts>" & _
    "<isFlash>false</isFlash>" & _
    "<udh></udh>" & _
    "<status></status>" & _
    "<retStr></retStr>" & _
    "</SendGroupSMSP2P></soap12:Body></soap12:Envelope>"


    Private Type SendGroupSMSP2PResponse
    SendGroupSMSP2PResult As Integer
    ' status As Integer
    success As Integer
    http_status As Integer
    http_status_text As String
    End Type




    Private Function SendGroupSMSP2P(Mobiles As Recordset) As SendGroupSMSP2PResponse
    Dim SendTime As Date
    Dim X As String
    Dim Msg As String
    Dim M As String


    X = Replace(GroupSMSP2pXML, "@SGN", Signature)
    X = Replace(X, "@SDR", Sender)


    Do Until Mobiles.EOF
    Msg = IIf(Msg = "", Mobiles!Message, Msg + vbCrLf + Mobiles!Message)
    M = IIf(M = "", Mobiles!Mobile, M + vbCrLf + Mobiles!Mobile)


    Mobiles.MoveNext
    Loop
    X = Replace(X, "@T", Msg)
    X = Replace(X, "@M", M)




    With New XMLHTTP60
    .Open "POST", WSURL, False
    .setRequestHeader "HOST", "login.parsgreen.com"
    .setRequestHeader "CONTENT-TYPE", "application/soap+xml; charset=utf-8"
    .Send X
    SendTime = CStr(Now)
    SendGroupSMSP2P.http_status = .Status
    SendGroupSMSP2P.http_status_text = .statusText
    If .Status = 200 Then
    Dim Doc As New DOMDocument60
    Doc.SetProperty "SelectionNamespaces", "xmlns:pg='http://ParsGreen.com/'"
    Doc.loadXML .responseText
    SendGroupSMSP2P.SendGroupSMSP2PResult = Doc.selectSingleNode("//pg:SendGroupSMSP2PResult").Text
    SendGroupSMSP2P.success = Doc.selectSingleNode("//pg:success").Text
    Dim node As MSXML2.IXMLDOMNode
    Dim a As Variant
    Dim s As String
    ' Const sql = "INSERT INTO History (Mobile,MessageID,Status,Refrence,SendTime) VALUES ('@MN',@MID,@S,'@R','@T')"
    Const sql = "INSERT INTO History (Mobile,Status,Refrence,SendTime) VALUES ('@MN',@S,'@R','@T')"

    For Each node In Doc.selectSingleNode("//pg:retStr").childNodes

    MsgBox node.Text
    a = Split(node.Text, "#")
    s = Replace(sql, "@MN", a(0))
    ' s = Replace(s, "@MID", MessageID)
    s = Replace(s, "@T", SendTime)
    s = Replace(s, "@S", a(1))
    s = Replace(s, "@R", a(2))
    DoCmd.RunSQL s
    Next
    End If


    End With
    End Function


    Private Sub Command0_Click()


    Dim db As DAO.Database
    Set db = CurrentDb
    Dim RS As Recordset
    Dim strSql As String
    strSql = "SELECT Message, Mobile FROM tblMobilesMSG"
    Set RS = db.OpenRecordset(strSql, dbOpenDynaset)
    SendGroupSMSP2P RS
    Me.List2.Requery
    End Sub



  37. #37

    نقل قول: درخواست راهنمایی جهت ارسال sms با وب سرويس

    سلام
    اگر خود فایل را قرار میدادید شاید اساتید دیگر هم بتوانند به شما کمک کنند .ضمن اینکه دوستان دیگر هم از فایل شما استفاده میکردند

  38. #38
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    679

    نقل قول: درخواست راهنمایی جهت ارسال sms با وب سرويس

    سلام فایل و کدها در پستهای قبلی وجود داره

  39. #39
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت ارسال sms با وب سرويس

    همین که پیامک ارسال میشه یعنی کد مشکل اجرایی نداره ،
    ولی یک احتمال هست که بجای یک ارایه از تک شماره ها ، یک آرایه از لیست شماره ها رو میسازین - هرچند که ظاهر کد این رو نشون نمیده.

    برای اطمینان قبل از ارسال X محتوای اون رو چک کنین.

    قبل از اون با ارسال از طریق پنل یا یک برنامه دات نت مطمئن بشین که این رفتار by design نیست و مستندات درست هست.

  40. #40
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: درخواست راهنمایی جهت ارسال sms با وب سرويس

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک
    سلام
    اگر خود فایل را قرار میدادید شاید اساتید دیگر هم بتوانند به شما کمک کنند .ضمن اینکه دوستان دیگر هم از فایل شما استفاده میکردند
    یک دور پست های این تاپیک رو مطالعه کنین، برنامه کامل و کدها قبلا گذاشته و تاپیک از نگاه فنی عملا تمام شده.
    همچنین استارتر تاپیک در پرسش آخر کد رو هم پیوست کرده که کاملا کافی هست و اگر نیازی به فایل باشه قطعا کسی که راهنمایی میده خودش هم درخواست میکنه.

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. استوديو مژده - نياز به يك برنامه نويس و كدنويس حرفه اي - پروژه اي
    نوشته شده توسط tenaonline در بخش آگهی های استخدام
    پاسخ: 0
    آخرین پست: یک شنبه 22 شهریور 1394, 11:07 صبح
  2. راه اندازي وب سرويس ها بر روي IIS - تنظيمات IIS ​براي اجراي وب سرويس ها
    نوشته شده توسط kienshien در بخش WCF , Web Services , .Net Remoting
    پاسخ: 1
    آخرین پست: پنج شنبه 14 اردیبهشت 1391, 18:39 عصر
  3. سوال: صفحه وب سرويس در هاست run نميشه !؟
    نوشته شده توسط bamzi software در بخش WCF , Web Services , .Net Remoting
    پاسخ: 0
    آخرین پست: یک شنبه 22 خرداد 1390, 11:52 صبح
  4. درخواست همكار برنامه نويس دلفي 7
    نوشته شده توسط parsidev در بخش آگهی های استخدام
    پاسخ: 1
    آخرین پست: سه شنبه 14 دی 1389, 18:23 عصر
  5. درخواست كمك براي دريافت چند لينك در برنامه نويس
    نوشته شده توسط jingiliboyz در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: چهارشنبه 19 اسفند 1388, 12:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •