For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/pl/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/pl/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/pl/guides/web-cloud/messaging/sms/sending-via-api-c.md.
Dowiedz się, jak wysyłać wiadomości SMS za pomocą API RESTful OVHcloud w języku C#: utwórz dane uwierzytelniające API, połącz się i wyślij swój pierwszy SMS
Wprowadzenie
Wiadomości SMS są powszechnie wykorzystywane do przekazywania praktycznych informacji, śledzenia statusu zamówienia lub procesu transakcyjnego, otrzymywania alertów o nietypowych zdarzeniach czy przypominania o spotkaniach. Ten przewodnik szczegółowo opisuje metodę wysyłania pierwszego SMS za pomocą API OVHcloud w języku C#.
Dowiedz się, jak wysyłać wiadomości SMS za pomocą API RESTful OVHcloud w języku C#.
Wymagania początkowe
Środowisko programistyczne C#.
Konto OVHcloud z zasileniami SMS.
Zatwierdzony nadawca SMS.
W praktyce
Wywołania API
Wywołanie usługi sieciowej zaimplementujemy bezpośrednio w kodzie. Ze względu na czytelność i prostotę część dotycząca korzystania z API nie została wyodrębniona ani w pełni zaimplementowana (deserializacja JSON itp.).
Aby zaimplementować wywołanie usługi sieciowej, zalecamy zapoznanie się z naszym przewodnikiem dotyczącym pierwszych kroków z API OVHcloud.
Dane uwierzytelniające API są niezbędne do korzystania z API SMS; tworzy się je pojedynczo, aby zidentyfikować aplikację, która będzie wysyłać wiadomości SMS. Czas życia tych danych uwierzytelniających można konfigurować.
Utwórz dane uwierzytelniające skryptu (wszystkie klucze naraz) na tej stronie: .
W tym prostym przykładzie pobieramy uprawnienia umożliwiające dostęp do informacji o koncie, możliwość wyświetlania oczekujących wysyłek oraz możliwość wysyłania wiadomości SMS.
GET /sms/
GET/sms/*/jobs
POST /sms/*/jobs
Gwiazdka (*) aktywuje wywołania tych metod dla wszystkich Twoich kont SMS; możesz ograniczyć wywołania do jednego konta, jeśli zarządzasz kilkoma kontami SMS w ramach swojego konta OVHcloud.
Kliknij Create, aby pobrać dane uwierzytelniające dla swojego skryptu:
Odpowiedź SMS (numer skrócony za pomocą senderForResponse) jest dostępna wyłącznie we Francji.
Parametr senderForResponse umożliwia użycie numeru skróconego, co pozwala wysyłać wiadomości SMS bezpośrednio, bez konieczności tworzenia nadawcy (np. Twojej nazwy).
Numery skrócone umożliwiają również odbieranie odpowiedzi od osób, które otrzymały SMS, co może być przydatne w przypadku ankiety satysfakcji, aplikacji do głosowania, gry itp.
private void sendSms() { String AK = "your_app_key"; String AS = "your_app_secret"; String CK = "your_consumer_key"; //Parametry wywoływanej metody String ServiceName = "sms-XX00000-1"; String METHOD = "POST"; String QUERY = "https://eu.api.ovh.com/1.0/sms/"+ServiceName+"/jobs"; String BODY =@"{ ""charset"": ""UTF-8"", ""receivers"": [ ""+33660000000"" ], ""message"": ""Test SMS OVH"", ""priority"": ""high"", ""senderForResponse"": true, ""sender"": ""YOURSENDER""}"; Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; String TSTAMP = (unixTimestamp).ToString(); String signature = "$1$" + HashSHA1(AS + "+" + CK + "+" + METHOD + "+" + QUERY + "+" + BODY + "+" + TSTAMP); Console.WriteLine(signature); //Tworzenie żądania HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(QUERY); req.Method = METHOD; req.ContentType = "application/json"; req.Headers.Add("X-Ovh-Application:"+ AK); req.Headers.Add("X-Ovh-Consumer:" + CK); req.Headers.Add("X-Ovh-Signature:"+ signature); req.Headers.Add("X-Ovh-Timestamp:" + TSTAMP); //Zapisywanie parametrów BODY using (System.IO.Stream s = req.GetRequestStream()) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(s)) sw.Write(BODY); } try { //Pobieranie wyniku wywołania HttpWebResponse myHttpWebResponse = (HttpWebResponse)req.GetResponse(); String[] l = null; using (var respStream = myHttpWebResponse.GetResponseStream()) { var reader = new StreamReader(respStream); String result = reader.ReadToEnd().Trim(); Console.WriteLine(result); } myHttpWebResponse.Close(); } catch (WebException e) { Console.WriteLine("Error : "); Console.WriteLine("Error : "); using (WebResponse response = e.Response) using (Stream data = ((HttpWebResponse)response).GetResponseStream()) using (var reader = new StreamReader(data)) { Console.WriteLine(reader.ReadToEnd()); } } }
Otrzymujemy odpowiedź z 1 zużytym zasileniem dla prawidłowego numeru. Domyślna wiadomość zawiera komunikat STOP, który umożliwia odbiorcom rezygnację z subskrypcji.
Możesz wyłączyć STOP za pomocą parametru noStopClause. Pamiętaj, że przy włączonym STOP nie możesz wysyłać wiadomości SMS między 20:00 a 8:00 rano.
Sprawdź również
Konsola API umożliwi Ci odkrycie innych metod ułatwiających integrację usług takich jak: odpowiedzi SMS, wysyłka masowa z plikiem CSV, mailing, śledzenie potwierdzeń odbioru itp.