Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   SMS API απο .Net σε VBA (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5516-sms-application-programming-interface-apo-net-se-visual-basic-applications.html)

γιώργοςΚ 16-04-20 14:51

SMS API απο .Net σε VBA
 
1 Συνημμένο(α)
Φίλοι μου γειά σας,

Πιστεύω ότι το θέμα μου απασχολεί πάρα πολλούς σχεδιαστές εφαρμογών και εάν και εφόσον βρούμε κάποια λύση αυτό θα βοηθήσει όλους.

Απο κάποιο provider μου έχει σταλεί ένας κώδικας .Net μέσω του οποίου μπορει κάποιος εφόσον δημιουργήσει λογαριασμό στην εν λόγο υπηρεσία να στέλνει μαζικά ή ένα-προς ένα αυτόματα SMS μεσω της Access. Προσπάθησα να προσαρμόσω τον κώδικα για να δουλέυει σε VBA αλλά κάπου έχω κολλήσει....Επισυνάπτω την βάση μου και θα εκτιμήσω εάν κάποιος μπορέσει να με βοηθήσει για να δημιουργήσουμε μια λειτουργική μονάδα σε VBA για να μπορεί τελικά να λειτουργεί.

Ευχαριστω εκ προτέρων

Παραθέτω επίσης αυτούσιο τον κωδικα ίσως και φανεί χρήσιμο

Dear George

I am sending you the api manual as well as a piece of vb code

‘’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim usr, psw, mobnu, title, message As String
usr = HttpUtility.UrlEncode("email@email.com")
psw = HttpUtility.UrlEncode("7fhd8y8erwe")
mobnu = HttpUtility.UrlEncode("35799999999")
title = HttpUtility.UrlEncode("Amlex")
message = HttpUtility.UrlEncode("Test API")

send_sms("http://api.microsms.net/sendapidirect.asp?usr=" & usr & "&psw=" & psw & "&dtype=1&title=" & title & "&mobnu=" & mobnu & "&message=" & message)
End Sub
Public Shared Function send_sms(pass_url As String)
Dim strurl As String
strurl = pass_url
Dim rtnvalue As String
Try


Dim s As HttpWebRequest
Dim enc As UTF8Encoding
Dim postdata As String
Dim postdatabytes As Byte()
s = HttpWebRequest.Create(strurl)
enc = New System.Text.UTF8Encoding()
Dim connection_guid, api_guid As String
connection_guid = System.Guid.NewGuid.ToString()
api_guid = "xxx_guid"
postdata = postdata & "&api_guid=" & api_guid
postdata = postdata & "&connection_guid=" & connection_guid


postdatabytes = enc.GetBytes(postdata)
s.Method = "POST"
s.ContentType = "application/x-www-form-urlencoded"
s.ContentLength = postdatabytes.Length

Try
Using stream = s.GetRequestStream()
stream.Write(postdatabytes, 0, postdatabytes.Length)
End Using
'' Dim result = s.GetResponse()
Dim httpWebResponse As System.Net.HttpWebResponse = s.GetResponse()

If httpWebResponse.StatusCode = System.Net.HttpStatusCode.OK Then

Dim responseReader As System.IO.StreamReader = New System.IO.StreamReader(httpWebResponse.GetResponse Stream())
rtnvalue = responseReader.ReadToEnd()

Else
rtnvalue = "no return"
End If
Catch ex As Exception
rtnvalue = ex.ToString
'' Log_error("Err0663", "error in 'sendsmsmessage()' " & strurl, ex.Message.ToString(), "", "")
End Try
Catch ex As Exception
'' Log_error("Err0664", "error in 'sendsmsmessage()' " & strurl, ex.Message.ToString(), "", "")
End Try
Return rtnvalue
End Function
‘’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’ ’’’’’’’’’’’’’’’’

vraxnakisg 16-04-20 18:18

1 Συνημμένο(α)
Καλησπέρα Γιώργο,

Χρόνια Πολλά, καλή Ανάσταση με υγεία και Ευτυχία.

Δες μια πρόταση.

Ευχαριστώ.

γιώργοςΚ 16-04-20 19:51

Παράθεση:

Αρχική Δημοσίευση από vraxnakisg (Μήνυμα 30888)
Καλησπέρα Γιώργο,

Χρόνια Πολλά, καλή Ανάσταση με υγεία και Ευτυχία.

Δες μια πρόταση.

Ευχαριστώ.

Καλησπέρα Γιώργο και πρώτα απο όλα σε ευχαριστω.

Θα κοιτάξω την βάση και αν υπάρχει κάποιο θεμα θα επανέλθω. Ευχομαι και ελπίζω μέσα σε όλο αυτό τον κυκεώνα να εισαι καλά εσυ και η οικογένεια σου..

Καλό Πάσχα (με ότι αυτό συνεπάγεται)

γιώργοςΚ 16-04-20 22:57

Γιώργο καλησπέρα πάλι,

Έχω κοιτάξει το παράδειγμα και δουλεύει μια χαρά, αφου εχω βαλει τους σχετικοϋς κωδικοϋς απο τον παροχέα. Ωστόσο, δουλεύει για αποστολή ενός μηνύματος καθε φορά. Το ιδανικό θα ήταν εάν απο τον πίνακα Patients παίρνει τα κινητά απευθείας και με Loop να στέλνει σε όλους αυτόματα το μήνυμα, αυτό είναι εφικτό?

Ευχαριστω πάλι και εκτιμω την βοήθεια

vraxnakisg 17-04-20 09:19

1 Συνημμένο(α)
Καλημέρα Γιώργο,

Δες μια πρόταση.

Καλό θα ήταν να κάνεις και έλεγχο αν ο αριθμός τηλεφώνου είναι σωστός σε μορφή και μήκος και αν έχεις περιορισμό στο μέγεθος του sms.

Να προσέξεις και τις τιμές που σου επιστρέφει το service.

Ευχαριστώ.

γιώργοςΚ 17-04-20 21:14

Καλησπέρα Γιώργο αλλά και σε όλους τους φίλους,

Γιώργο το παράδειγμα δουλεϋει μόνο που εφόσον σταλεί το μήνυμα στα κινητά, δεν εμφανίζονται οι χαρακτήρες (λέξεις, προτάσεις κλπ) παρά μόνο εμφανίζονται ερωτηματικά συνεχόμενα (??????). Ψάχνωντας να λύσω το πρόβλημα κατόρθωσα και μίλησα με κάποιο τεχνικό της υπηρεσίας και μου εξήγησε οτι το μηνυμα πρέπει να αποστέλνεται σε UTF8 encoding...

Παραθέτω και ενα μικρό παράδειγμα ενος αρχείου που μου δόθηκε

Παράδειγμα: Ελληνικά, απλό sms
Για να στείλουμε sms με ελληνικούς χαρακτήρες ακολουθείται η εξής
διαδικασία πριν καλέσουμε το παραπάνω url, προκειμένου να
μετατρέψουμε τους χαρακτήρες σε 7bit encoding :
$text = mb_convert_case($text, MB_CASE_UPPER, "UTF-8"); //μετατρέπουμε όλο το
κείμενο σε κεφαλαία
$text = urlencode($text); //κωδικοποίηση χαρακτήρων σε url encoding
$text = to7bit($text); // εφαρμόζουμε την παρακάτω συνάρτηση
function to7bit($text){
$text = str_replace('%CE%91', 'A', $text );
$text = str_replace('%CE%86', 'A', $text ); // Ά
$text = str_replace('%CE%92', 'B', $text );
$text = str_replace('%CE%93', '%13', $text ); // Γ
$text = str_replace('%CE%94', '%10', $text ); // Δ
$text = str_replace('%CE%95', 'E', $text );
$text = str_replace('%CE%88', 'E', $text ); // Έ
$text = str_replace('%CE%96', 'Z', $text );
$text = str_replace('%CE%97', 'H', $text );
$text = str_replace('%CE%89', 'H', $text );
$text = str_replace('%CE%98', '%19', $text ); // Θ
$text = str_replace('%CE%99', 'I', $text );
$text = str_replace('%CE%8A', 'I', $text );
$text = str_replace('%CE%AA', 'I', $text ); // Ϊ
$text = str_replace('%CE%90', 'I', $text );// ΐ
$text = str_replace('%CE%9A', 'K', $text );
9
www.smsbox.gr HTTP API v1.7
$text = str_replace('%CE%9B', '%14', $text ); // Λ
$text = str_replace('%CE%9C', 'M', $text );
$text = str_replace('%CE%9D', 'N', $text );
$text = str_replace('%CE%9E', '%1A', $text );// Ξ
$text = str_replace('%CE%9F', 'O', $text );
$text = str_replace('%CE%8C', 'O', $text ); // Ό
$text = str_replace('%CE%A0', '%16', $text ); // Π
$text = str_replace('%CE%A1', 'P', $text );
$text = str_replace('%CE%A3', '%18', $text ); // Σ
$text = str_replace('%CE%A4', 'T', $text );
$text = str_replace('%CE%A5', 'Y', $text );
$text = str_replace('%CE%8E', 'Y', $text );
$text = str_replace('%CE%AB', 'Y', $text ); // Ϋ
$text = str_replace('%CE%B0', 'Y', $text ); // ΰ
$text = str_replace('%CE%A6', '%12', $text ); // Φ
$text = str_replace('%CE%A7', 'X', $text );
$text = str_replace('%CE%A8', '%17', $text );
$text = str_replace('%CE%A9', '%15', $text ); // Ω
$text = str_replace('%CE%8F', '%15', $text ); // Ώ
$text = str_replace('%E2%82%AC', '%80', $text ); // €
return $text;

Για να στείλουμε sms με ελληνικούς χαρακτήρες, υπάρχει και πιό απλός
τρόπος με τη χρήση της παραμέτρου coding=UTF8 κατά την κλήση*:
$from = urlencode("smsboxt");
$text = urlencode("για να δούμε ένα... παράδειγμα με τον απλό τρόπο");
$fp = fopen('http://www.smsbox.gr/httpapi/sendsms.php?
coding=UTF8&username=xxx&password=xxx&from='.
$from.'&to=306947992777&text='.$text, 'r');
$content = '';
while ($line = fread($fp, 1024)) { $content .= $line;
}
fclose($fp);
*Για να λειτουργήσει σωστά η κλίση με coding=UTF8, θα πρέπει το file
encoding του αρχείου php να είναι UTF-8.

vraxnakisg 18-04-20 03:57

1 Συνημμένο(α)
Καλημέρα σε όλους.

Για δες τώρα.

Ευχαριστώ.

γιώργοςΚ 18-04-20 07:01

2 Συνημμένο(α)
Καλημέρα Γιωργο, ευχαριστω για την προσπαθεια να με βοηθησεις και για τον χρόνο σου,

Δυστυχως ομως δεν επιλυθηκε το θεμα..Παλι λαμβανω ερωτη,ατικα στο κινητο....Εχω δοκιμασει και να διαφοροποιησω τη γραμμη του message=UCase(message) δηλααδη δοκιμασα μηπως και το προβλημα ειναι τα κεφαλαια κλπ, αλλα δυστυχως τα ιδια..

Θα μιλησω και σημερα με τον παροχεα να δω αν ειναι κατι αλλο.. Σε καθε περιπτωση σε ευχαριστω και ευχομαι Καλο Πάσχα σε εσενα και στην οικογένεια σου αλλα και σε όλους τους φίλους του φόρουμ

Tasos 18-04-20 10:45

Καλημέρα και Χρόνια πολλά σε όλους!

Δεν θα χρειαστεί κωδικοποίηση UTF-8 επειδή δεν αποστέλλεται κάποιο περιεχόμενο.

Λαμβάνοντας υπ' όψη ότι τα δεδομένα SMS εμπεριέχονται στη διεύθυνση (URL) και ότι ο διακομιστής SMS δεν μπορεί να τα διαχειριστεί τους χαρακτήρες Unicode ως απλό κείμενο , αυτό που πρέπει να γίνει είναι η κωδικοποίηση (Percent-decoding) των τμημάτων "title" και "message" ώστε να υπάρξει συμβατότητα στην αποκωδικοποίηση.


Προτείνω τα εξής:

Προσθήκη αναφορών :Microsoft Object HTML Library και Microsoft WinHTTP Services, Version x,x

Προσθήκη του παρακάτω κώδικα σε μια φόρμα:

Κώδικας:

Option Explicit
Option Compare Database

Private Function EncodeURL(strText As Variant)
    Dim oDoc As New HTMLDocument
    With oDoc.parentWindow
        .execScript "function encode(s) {return encodeURIComponent(s)}", "jscript"
        EncodeURL = .encode(strText)
    End With
    Set oDoc = Nothing
End Function

Public Function SendSMS(strUrl As String) As String
    Dim oweb As New WinHttp.WinHttpRequest
    oweb.Open "POST", strUrl, False
    oweb.send
    SendSMS = oweb.responseText
    Set oweb = Nothing
End Function

Private Sub BtnSendSMS_Click()
    Dim usr As String
    Dim psw As String
    Dim mobnu As String
    Dim title As String
    Dim message As String
    Dim strResult As String

    usr = "email@email.com"
    psw = "7fhd8y8erwe"
    mobnu = "35799999999"
    title = "Amlex"
    message = "Κάτι γραμμένο στα ελληνικά για δοκιμή"
   
    strResult = SendSMS( _
            "http://api.microsms.net/sendapidirect.asp?usr=" _
            & usr & "&psw=" & psw & "&dtype=1&title=" & EncodeURL(title) & _
            "&mobnu=" & mobnu & "&message=" & EncodeURL(message))
            MsgBox strResult, vbInformation, "SMS Result"
End Sub

Καλή συνέχεια και καλή Ανάσταση!

Τάσος

vraxnakisg 18-04-20 11:19

Καλήμερα σας,

Τάσο είσαι άψογος και πάντα σαφέστατος.

Καλή Ανάσταση σε όλους με υγειά και ευτυχία.

Ευχαριστώ.

γιώργοςΚ 18-04-20 12:01

2 Συνημμένο(α)
Τάσο καλημέρα και ευχαριστω πολϋ για την βοήθεια,

Δυστυχώς εχω κανει τις απαιτούμενες αλλαγές οπως τις παραθέτεις αλλα ο κωδικας κτυπά στο σημειο της Function που φαίνεται στην φωτο που επισυνάπτω. Πάντως, πιστεύω ότι εϊμαστε κοντά στην λύση του προβλήματος αφου και με την βοηθεια και του φϊλου Γιώργου Βραχνάκη (τον οποίο ευχαριστω ξανά) μεταφράστηκε ο κώδικας απο .Net σε VBA και κατορθώσαμε να στέλνουμε κανονικά μηνύματα με αγγλικούς αγγλικούς χαρακτήρες.

Σημειώστε ότι έχω και σήμερα μιλήσει πάλι με τον παροχέα ο οποίο επιμένει ότι είναι εφικτή η αποστολή μηνυμάτων με ελληνικούς χαρακτήρες και το μόνο που πρέπει να γίνει είναι τα όσα έχω ήδη παραθέση στο προηγούμενο μου Post.

Τάσο, παραθετω αυτούσια την βάση που δουλεύει ως προς την αποστολή αγγλικων χαρακτήρων και στην οποία έχω προσαρμόσει τον κώδικα οπως μας έχει επισυνάψει. Δυστυχώς κολλάει...

Γιώργο, έχω αναβάσει την πρώτη version της βάση που αποστέλνει ένα-προς ένα μηνύματα ετσι ωστε να απολοποιήσω το ζητούμενο και όταν και εφόσον και με την βοήθεια του Τάσου αλλα και την δικιά σου φτάσουμε στην λύση του προβλήματος με τα εληνικά, τότε φίλε μου θα επιχειρήσω να τα προσαρμόσω και στην δεύτερη version που στέλνει μαζικά σε όλους τους πελάτες sms.

Σε κάθε περίπτωση Τάσο και Γιώργο εύχομαι Καλό Πάσχα σε εσας και στις οικογένειες σας, και Τάσο θα ειναι χαρά μου να τα πουμε και πάλι όποτε νιώσεις έτοιμος όπως και πιο παλιά.

Ευχαριστω και Καλές Γιορτές

γιώργοςΚ 18-04-20 12:06

1 Συνημμένο(α)
Λάβετε υπόψη οτι λαβάνω και το πιο πανω σφάλμα

γιώργοςΚ 18-04-20 12:38

1 Συνημμένο(α)
Τάσο επανέρχομαι με ευχάριστα,

Εχω τροποποιήσει λίγο ακυρώνωντας απλά την Function δίνει error και τώρα στέλνει κανονικά και ελληνικά, απλά ειναι πάντα ολα κεφαλαία και δεν αναγνωρίζει εάν δώσεις ελληνικό Title..

Παραθέτω την βαση για να της ρίξεις μια ματια μπας και βρούμε άκρη

ευχαριστω παλι

Tasos 19-04-20 08:51

Καλημέρα σε όλους! Χριστός Ανέστη!

Γιώργο φρόντισε να προσθέσεις την αναφορά Microsoft WinHTTP Services, Version x,x στον VBE για να λειτουργήσει ο κώδικας.

Εναλλακτικά μπορείς να χρησιμοποιήσεις την παρακάτω συνάρτηση:

Κώδικας:

Public Function URLEncode(strText As String) As String
    Dim i As Integer
    Dim iLen As Integer
    Dim strTemp As String
    i = 1: iLen = Len(strText) + 1
    While i < iLen
        Select Case Asc(Mid(strText, i, 1))
            Case 48 To 57, 65 To 90, 97 To 122
                strTemp = strTemp & Mid(strText, i, 1)
            Case 32
                    strTemp = strTemp & "%" & Hex(32)
            Case Else
                strTemp = strTemp & "%" & Format(Hex(Asc(Mid(strText, i, 1))), "00")
        End Select
        i = i + 1
    Wend
    URLEncode = strTemp
End Function

Με εκτίμηση

Τάσος

γιώργοςΚ 20-04-20 09:41

2 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από Tasos (Μήνυμα 30900)
Καλημέρα σε όλους! Χριστός Ανέστη!

Γιώργο φρόντισε να προσθέσεις την αναφορά Microsoft WinHTTP Services, Version x,x στον VBE για να λειτουργήσει ο κώδικας.

Εναλλακτικά μπορείς να χρησιμοποιήσεις την παρακάτω συνάρτηση:

Κώδικας:

Public Function URLEncode(strText As String) As String
    Dim i As Integer
    Dim iLen As Integer
    Dim strTemp As String
    i = 1: iLen = Len(strText) + 1
    While i < iLen
        Select Case Asc(Mid(strText, i, 1))
            Case 48 To 57, 65 To 90, 97 To 122
                strTemp = strTemp & Mid(strText, i, 1)
            Case 32
                    strTemp = strTemp & "%" & Hex(32)
            Case Else
                strTemp = strTemp & "%" & Format(Hex(Asc(Mid(strText, i, 1))), "00")
        End Select
        i = i + 1
    Wend
    URLEncode = strTemp
End Function

Με εκτίμηση

Τάσος

Καλημέρα Τάσο και Χριστός Ανέστη και Χρόνια Πολλά,

¨Εχω δοκιμασει τον κωδικα και έχω δηλώσει και την reference Microsoft WinHTTP Services αλλά δοκιμάζοντας το λαμβάνω και πάλι error στο σημείο που επισυνάπτω στην φωτο. Δεν ξέρω αν κάνω κάτι λάθος φίλε και δεν θέλω να ταλαιπωρώ και εσάς....Αν βρεθει κάποια λυση καλώς, διαφορετικά θα το δουλέψω με τα ελληνικά κεφαλαία που δούλεψε, και θα βάζω αγγλικό τίτλο μηνύματος.

Σε κάθε περίπτωση σε ευχαριστω πάρα πολύ για τον χρόνο σου και θα χαρώ να μιλήσουμε πάλι οποτε μπορεις

alex 20-04-20 14:59

1 Συνημμένο(α)
Χριστός Ανέστη σε όλη την κοινότητα,
στους φίλους Τάσο Χρόνια Πολλά φίλε μου,
επίσης Γιώργο τα φιλιά στη Κύπρο.
Κοίταξε το συνημμένο αυτό που σου στέλνω αν σου δουλεύει αφού πρώτα βάλεις το όνομα χρήστη και κωδικό πρόσβασης της εταιρίας που αγοράζεις αλλά και τα αντίστοιχα website της εταιρίας που αγοράζεις πάλι τα δίνει δωρεάν το πρώτο είναι για την αποστολή μηνυμάτων και το δεύτερο για το υπόλοιπο μηνυμάτων. Μπορεί να σου δουλέψει. Αν βάλεις πολλά κινητά με διαχωριστικό ένα κομμα τότε θα μπορείς να στέλνεις αυτόματα πολλαπλά μηνύματα αλλα στον αποστολέα μπορείς να βάλεις και νούμερο και κείμενο.Οπότε δεν φαίνεται ο παραλήπτης του μηνύματος
Πρόσθεσε και το παρακάτω κώδικα: Άλλαξε Reference από το Microsoft XML V.6 σε Microsoft XML V,3

Κώδικας:

Private Sub btn1SendSMS_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim data As String
   
    data = "username=" & Nz(Me.txtUsername) & _
          "&password=" & Nz(Me.txtPassword) & _
          "&from=" & Nz(Me.txtFrom) & _
          "&to=" & Nz(Me.txtTo) & _
          "&message=" & URLEncode(Nz(Me.txtMessage))
   
    Dim Result As String
   
    Result = WinHTTPPostRequest(Me.txtWebsite2, data)
    Me.Credits = Result
    'MsgBox result
End Sub]

' Επικύρωση πεδίων μηνυμάτων(SMS) (Validate SMS fields)
Private Function ValidateSMSFields() As Boolean
    If IsEmptyStr(txtMessage) Then MsgBox "Παρακαλώ εισάγετε το κείμενο του μηνύματος.",
    vbExclamation: Exit Function
    If IsEmptyStr(txtTo) Then MsgBox "Παρακαλώ εισάγετε τον αριθμό τηλεφώνου του
    παραλήπτη.", vbExclamation: Exit Function
    ValidateSMSFields = True
End Function


Tasos 20-04-20 17:33

1 Συνημμένο(α)
Χριστός Ανέστη σε όλoυς!

Αλέξη μου ευχαριστώ για τις ευχές σου.

Γιώργο επισυνάπτω ένα αρχείο Zip που περιέχει μια μικρή εφαρμογή (SMS Center.exe) που απλά προϋποθέτει Microsoft .Net Framework 4.6.1 για να λειτουργήσει.

Η εφαρμογή τρέχει με διπλό κλικ χωρίς εγκατάσταση και βασίζεται στον κώδικα του πρώτου μηνύματος αυτού του θέματος.

Επίσης υπάρχουν τα κατάλληλα πεδία για να καταχωρήσεις τα στοιχεία χρήστη, τηλ. αριθμό, τίτλο και μήνυμα.

Θέλω να αποσυμπιέσεις και να τρέξεις την εφαρμογή.

Αν δεις ότι λειτουργεί όπως πρέπει τότε θα φτιάξουμε κάτι αντίστοιχο στην VBA.

Ο κώδικας που περιέχεται στη φόρμα της εφαρμογής είναι ο παρακάτω:

Κώδικας:

Imports System.Net
Imports System.Text
Imports System.Web

Public Class frmMain

    Public Function SendSMS(pass_url As String)

        Dim s As HttpWebRequest
        Dim enc As UTF8Encoding
        Dim postdata As String = ""
        Dim postdatabytes As Byte()
        Dim strurl As String
        strurl = pass_url
        Dim rtnvalue As String = ""
        Try
            s = HttpWebRequest.Create(strurl)
            enc = New System.Text.UTF8Encoding()
            Dim connection_guid, api_guid As String
            connection_guid = System.Guid.NewGuid.ToString()
            api_guid = "xxx_guid"
            postdata &= "&api_guid=" & api_guid
            postdata = postdata & "&connection_guid=" & connection_guid
            postdatabytes = enc.GetBytes(postdata)
            s.Method = "POST"
            s.ContentType = "application/x-www-form-urlencoded"
            s.ContentLength = postdatabytes.Length

            Try
                Using stream = s.GetRequestStream()
                    stream.Write(postdatabytes, 0, postdatabytes.Length)
                End Using
                Dim httpWebResponse As System.Net.HttpWebResponse = s.GetResponse()

                If httpWebResponse.StatusCode = System.Net.HttpStatusCode.OK Then

                    Dim responseReader As System.IO.StreamReader =
                        New System.IO.StreamReader(httpWebResponse.GetResponseStream)
                    rtnvalue = responseReader.ReadToEnd()

                Else
                    rtnvalue = "no return"
                End If
            Catch ex As Exception
                rtnvalue = ex.Message
            End Try
        Catch ex As Exception
            rtnvalue = ex.Message
        End Try
        Return rtnvalue
    End Function

    Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnSendSMS.Click
        Dim usr, psw, mobnu, title, message As String
        Dim emptyTextBoxes =
            From txt In Me.Controls.OfType(Of TextBox)()
            Where txt.Text.Length = 0 And txt.Tag <> ""
            Select txt.Tag

        If emptyTextBoxes.Any Then
            MsgBox(String.Format("Συμπληρώστε τα παρακάτω πεδία για να στνεχίσετε: {0}",
                    String.Join(", ", emptyTextBoxes)) & ".", MsgBoxStyle.Exclamation, "SMS Center")
            Return
        End If
        usr = HttpUtility.UrlEncode(txtUSR.Text.Trim) ' HttpUtility.UrlEncode("email@email.com")
        psw = HttpUtility.UrlEncode(txtPass.Text.Trim) 'HttpUtility.UrlEncode("7fhd8y8erwe")
        mobnu = HttpUtility.UrlEncode(txtMobilNumbers.Text.Trim) ' HttpUtility.UrlEncode("35799999999")
        title = HttpUtility.UrlEncode(txtTitle.Text) 'HttpUtility.UrlEncode("Amlex")
        message = HttpUtility.UrlEncode(txtBody.Text.Trim) 'HttpUtility.UrlEncode("Test API")
        txtResponse.Text = SendSMS("http://api.microsms.net/sendapidirect.asp?usr=" & usr _
            & "&psw=" & psw & "&dtype=1&title=" & title & "&mobnu=" & mobnu & "&message=" & message)
    End Sub

    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.txtUSR.Text = My.Settings.USR
        Me.txtPass.Text = My.Settings.PASS
    End Sub

    Private Sub btnSaveSettings_Click(sender As Object, e As EventArgs) Handles btnSaveSettings.Click
        My.Settings.USR = Me.txtUSR.Text
        My.Settings.PASS = Me.txtPass.Text
        My.Settings.Save()
    End Sub
End Class

Καλή συνέχεια

Τάσος

γιώργοςΚ 21-04-20 19:25

1 Συνημμένο(α)
Καλησπέρα, Χριστός Ανέστη και Χρόνια Πολλά σε όλους,

Θα ήθελα να ευχαριστήσω ολους σας αλλά και τον κάθε ένα ξεχωριστά (Τάσο, Γιώργο και Αλέξανδρο) για την πολύτιμη βοήθεια σας.


Τάσο ευχαριστω πολύ για την εφαρμογή, θα το δοκιμάσω και θα σε ενημερώσω αυριο κάποια στιμγή και θα σε ενημερώσω φίλε μου.

Αλέξανδρε ευχαριστω και εσένα προσωπικά για την λύση που προτείνεις την οποια θα μελετήσω επίσης και θα κάνω και τις δοκιμές μου αυριο.

Λέω οτι θα δοκιμάσω αυριο διότι ειμαι σε επαφή με το τεχνικό τμήμα της εταιρίας που αγοράζω την υπηρεσία SMS και με ενημέρωσαν ότι θα κάνουν κάποιες αλλαγές και οτι το προφιλ μου ειναι ανενεργο για την ώρα εως αυριο.

Παρόλα αυτά, επισυνάπτω ένα βοηθητικό αρχείου (τεχνικής υποστήριξης) που μου έστειλαν ετσι ωστε να επιλυθούν τα προβλήματα που υπάρχουν με την ελληνική γλώσσα αποστολής μηνυμάτων.

Σε καθε περίπτωση, σας ευχαριστω παρα πολύ όλους και θα τα πουμε

γιώργοςΚ 22-04-20 12:02

4 Συνημμένο(α)
Καλημέρα σε όλους,

Τάσο έχω δοκιμάσει το προγραμματάκι που έστειλε (.exe file) και στέλνει κανονικά το μήυνημα όπως θα δεις και στις φωτογραφές που επισυνάπτω, μόνο που και πάλι τα ελληνικά τα κανει κεφαλαία...Επίσης απο την εταιρία μου έχουν στείλει σήμερα νέες ρυθμίσεις έτσι ώστε να μπορώ μέσω ενός νέου URL να βλέπω το υπόλοιπο του λογαριασμού μου. Επισυνάπτω τις φώτο 1 & 2 σχετικά με την αποστολή μηνύματος καθως και οτι μου έχουν στειλει απο την εταιρία σημερα.

Αλεξανδρε,
Εχω δοκιμασει να κανω τις αλλαγες που μου ειπες στην βαση που μου έστειλες αλλα δυστχως λαμβάνω καποια error στον κωδικα τα οποια επισυνάπτω στις φωτο 3 & 4.

Πάντως, θέλω ειλικρηνα να ευχαριστησω όλους για το ενδιαφέρον να βρούμε κάποια λύση και εκτιμω κάθε βοηθεια.

Οι ρυθμίσεις που μου έστειλαν απο την εταιρια σήμερα

Dear George,

I am sending you the information regarding Credit balance.

You will post an xml to http://api.microsms.net/GetNbOfCreditsByNameAndPwd.asp
request

<?xml version="1.0" encoding="UTF-8"?>
<XMLREQUEST>
<SMSUSERNAME>email@email.com</SMSUSERNAME>
<SMSPASSWORD>userpassword</SMSPASSWORD>
</XMLREQUEST>

And the system will reply
Reply

<?xml version="1.0" encoding="UTF-8"?>
<XMLREPLY>
<CREDITS>1000</CREDITS>
</XMLREPLY>

Have in mind that credits are calculated by current_balance / CY_rate (e.g if my current balance is 10 euro and the sms cost 1 cent then 10 / 0.01 = 1000 credits )

alex 22-04-20 15:15

Καλησπέρα Γιώργο,
η δική μου βάση δεν στέλνει με τον internet explorer .Πρέπει να αλλάξεις τα δύο web site με τα αντίστοιχα της δικής σου εταιρίας. Κοίταξε το pdf που σου έστειλα. Αν και βλέπω είναι η ίδια εταιρία. Εάν μπεις στο link αυτό που σου στέλνω θα πάρεις πληροφορίες.
https://bulksmsn.gr/index.php αλλά είναι για Ελλάδα για Κύπρο μάλλον αλλάζει.Αν μπείς και κάνεις Login σου δίνει 5 μηνύματα και μπορείς να κάνεις δοκιμή.


Η Διασύνδεση SMS γίνεται Μέσω http API
Στο PDF από κάτω το Link που σου στέλνω έχει όλες τις πληροφορίες.

https://bulksmsn.gr/examples/http-api-bulksmsn.gr.pdf

απλά επειδή είναι Κύπρο υπάρχουν αλλαγές.Η εταιρία μάλλον είναι ίδια. Αλλά είναι API και όχι .NET. Αν βρεις τα αντίστοιχα στη Κύπρο για API και τα αντικαταστήσεις με τα τα δυο παρακάτω και βάλεις τα δικά σου.πρέπει να δουλέψει.
http://bulksmsn.gr/api/http/send.php
http://bulksmsn.gr/api/http/credits.php
εγώ πάντως έχω και δουλεύει. Αγοράζω 500 μηνύματα με 22 ευρώ χωρίς ΦΠΑ με ΦΠΑ 27.
Στην Κύπρο από ότι είδα η ίδια εταιρία τα δίνει φθηνότερα.

Είχε ξανά τεθεί το θέμα πάλι αυτό στο forum και είχαμε συζητήσει με το Τάσο αν ψάξει θα το βρείς. Δεν μπόρεσα και τότε να το κάνω με τον internet explorer αλλά το δούλεψα με το τρόπο αυτό με API.
Μπορείς να βάλεις και άλλα link να σου λέει την παράδοση των μηνυμάτων. Με λίγα λόγια μπορείς να κάνει διαχείριση μαζικής αποστολής μηνυμάτων. Εγώ δεν έκανα επέκταση γιατί δεν την χρειάστηκα.Αλλά είχα φτιάξει ένα πρόγραμμα μαζικής αποστολής μηνυμάτων και μαζικής αποστολής Emails και ενσωμάτωσα τους Μαθητές ή (πελάτες) με μία φόρμα με (Πίνακα) όπου περιλάμβανε όλα τα στοιχεία τηλέφωνα και emails και το κάθε πρόγραμμα (SMS ή EMAILS) τραβούσε τα δεδομένα από τον πίνακα. Μετά αυτό το ενσωμάτωσα σε μια βάση διαχείρισης του σχολείου που έκανα και έστελνα μηνύματα στους γονείς όταν ήταν ανάγκη για γρήγορη ενημέρωση γιατί το κινητό το βλέπει ο γονέας άμεσα ή emails στους γονείς όταν ήθελα να στείλω κάτι σε συνημμένο αρχείο.

KOITA TO ΚΩΔΙΚΑ ΤΗΣ ΑΛΕΞΙΑΣ ΑΠΟ ΤΟ ΦΟΡΟΥΜ
http://www.ms-office.gr/forum/access...po-access.html


ΚΟΙΤΑ ΤΟ ΘΕΜΑ ΠΟΥ ΕΙΧΑ ΠΑΛΙΑ ΜΕ ΤΟ ΤΑΣΟ
http://www.ms-office.gr/forum/access...stoli-sms.html

ΤΩΡΑ ΜΕ ΤΗΝ ΤΕΧΝΙΚΗ ΤΟΥ ΤΑΣΟΥ ΔΕΝ ΠΑΙΖΟΥΜΕ ΓΙΑΤΙ Ο ΤΑΣΟΣ ΕΙΝΑΙ ΕΝΑΣ ΚΑΙ ΜΟΝΑΔΙΚΟΣ!!!!!!!
ΟΠΟΤΕ ΠΕΡΙΜΕΝΟΥΜΕ ΝΑ ΔΟΥΜΕ ΚΑΤΙ ΣΕ ΝΕΤ.

Tasos 23-04-20 11:48

Καλημέρα σε όλους!

Γιώργο χρόνια πολλά για τη γιορτή σου!

Χρόνια πολλά σε όλους τους Γιώργηδες και Γεωργίες!

Τ γεγονός του ότι ο παραλήπτης λαμβάνει SMS με κεφαλαία, προφανώς οφείλεται στον Διακομιστή SMS. Δεν έχει να κάνει με το πρόγραμμα σου.

Καλή συνέχεια!

Τάσος

γιώργοςΚ 24-04-20 09:44

Παράθεση:

Αρχική Δημοσίευση από Tasos (Μήνυμα 30930)
Καλημέρα σε όλους!

Γιώργο χρόνια πολλά για τη γιορτή σου!

Χρόνια πολλά σε όλους τους Γιώργηδες και Γεωργίες!

Τ γεγονός του ότι ο παραλήπτης λαμβάνει SMS με κεφαλαία, προφανώς οφείλεται στον Διακομιστή SMS. Δεν έχει να κάνει με το πρόγραμμα σου.

Καλή συνέχεια!

Τάσος


Καλημέρα Τάσο, ευχαριστω για τις ευχές και ανταποδίδω φίλε μου,

Υποψιάστηκα απο την αρχή ότι το γεγονώς ότι ο παραλήπτης λαμβάνει τα μηνύματα στα ελληνικά (μετά απο τις τροποποιήσεις που κάναμε) οτι αυτο δεν σχετίχεται με το πρόγραμμα μας. Προσπάθησα να το συζητήσω μάλιστα με τον τεχνικό στην εξυπηρέτηση της εταιρίας που αγοράζω την υπηρεσία, αλλά επιμένει ότι είναι θέμα προγραμματισμού.

Οπως και να εχει το πράγμα φιλε μου, μάλλον θα αφήσω ώς έχει το πρόγραμμα απλά κάνωντας τις πιο κάτω τροποποιήσεις:

1. Θα ενσωματώσω πίνακα πελατών έτσι ώστε να μπορώ να επιλέγω σε ποιόν/ποιούς πελάτες να αποστέλνονται τα μηνύματα.

2. Θα δημιουργήσω ένα πίνακα αποστολής μηνυμάτων μέσω του οποίου θα κάνω προγραμματισμό για αυτόματη αποστολή μυνυμάτων σε ένα ή πολλοϋς πελάτες ταυτοχρονα. Δηλαδή, ανοίγωντας την εφαρμογή να μπορεί και να γνωρίζει ποια μηνύματα θα σταλούν σήμερα, σε ποιόν ή ποιούς.

3. Απο την εταιρία μου έχουν δώσει ένα URL έτσι ώστε να μπορώ να λαμβάνω το υπόλοιπο του λογαρισμού μου μετά απο την καθε αποστολή μηνυμάτος. Οπότε το ιδανικό είναι και αυτό ως διαδικασία στο πρόγραμμα.

Σας ευχαριστω όλους για την πρόθεση βοήθειας και θα χαρώ να μιλήσουμε και να τα πούμε εκτενέστερα.


Η ώρα είναι 08:49.

Ms-Office.gr - ©2000 - 2025, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2