Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, HTTP kullanarak Azure İletişim Hizmetleri'ne yönelik istekte bulunmak için Postman'i ayarlayıp kullanacaksınız. Bu öğreticinin sonunda İletişim Hizmetleri'ni ve Postman'i kullanarak kısa mesaj hizmeti (SMS) iletisini başarıyla gönderebilirsiniz. Ardından İletişim Hizmetleri'ndeki diğer API'leri keşfetmek için Postman'i kullanabilirsiniz.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Postman'i indirin.
- Postman'i HTTP isteklerini imzalayacak şekilde ayarlayın.
- İleti göndermek için İletişim Hizmetleri SMS API'sine karşı bir istekte bulunın.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Azure aboneliğiniz yoksa, ücretsiz bir hesap oluşturabilirsiniz. Ücretsiz hesap, dilediğiniz hizmetleri bir arada deneyebilmeniz için 200 ABD Doları Azure kredisi sunar.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. Kaynağınız yoksa bkz. İletişim Hizmetleri kaynağı oluşturma.
- SMS mesajları gönderebilen bir İletişim Hizmetleri telefon numarası. Telefon numarası almak için bkz. Telefon numarası alma.
Postman'i indirme ve yükleme
Postman, herhangi bir HTTP API'sine yönelik API istekleri gönderebilen bir masaüstü uygulamasıdır. Postman, API'leri test ve araştırmak için yaygın olarak kullanılır. Bu öğreticide Postman web sitesinden en son masaüstü sürümünü indirebilirsiniz. Postman'in Windows, Mac ve Linux sürümleri vardır, bu nedenle işletim sisteminize uygun sürümü indirin.
İndirme işlemi tamamlandıktan sonra uygulamayı açın. Başlangıç ekranı oturum açmanızı veya postman hesabı oluşturmanızı ister. Hesap oluşturmak isteğe bağlıdır ve Atla ve uygulamaya git'i seçerek hesabı atlayabilirsiniz. Hesap oluşturmak API isteği ayarlarınızı Postman'a kaydeder. Ardından isteklerinizi diğer bilgisayarlardan alabilirsiniz.
Bir hesap oluşturduktan veya adımı atladıktan sonra Postman'in ana ekranını görürsünüz.
Postman koleksiyonu oluşturma ve yapılandırma
Postman istekleri birçok şekilde düzenleyebilir. Bu öğreticinin amaçları doğrultusunda bir Postman koleksiyonu oluşturursunuz. Bu görevi yapmak için uygulamanın sol tarafında Koleksiyonlar'ı seçin.
Koleksiyon oluşturma işlemini başlatmak için Yeni Koleksiyon Oluştur'u seçin. Postman'in orta alanında koleksiyonu adlandırdığınız yeni bir sekme açılır. Burada koleksiyona Azure İletişim Hizmetleri adı verilmiştir.
Koleksiyonunuzu oluşturup adlandırdıktan sonra yapılandırmaya hazır olursunuz.
Koleksiyon değişkenleri ekleme
Kimlik doğrulamasını işlemek ve istekleri kolaylaştırmak için, yeni oluşturulan İletişim Hizmetleri koleksiyonu içinde iki koleksiyon değişkeni belirtirsiniz. Bu değişkenler, koleksiyonunuzdaki tüm istekler için kullanılabilir. Değişken oluşturmaya başlamak için Değişkenler sekmesini seçin.
Koleksiyonlar sekmesinde iki değişken oluşturun:
-
key: Bu değişken, Azure portalındaki İletişim Hizmetleri Anahtarı sayfanızdaki anahtarlarınızdan biri olmalıdır.
oW...A==
bunun bir örneğidir. -
uç nokta: Bu değişken , Anahtar sayfasından İletişim Hizmetleri uç noktalarınız olmalıdır. Sondaki eğik çizgiyi kaldırdığınızdan emin olun.
https://contoso.communication.azure.com
bunun bir örneğidir.
Değişkenler sekmesinde, bu değerleri İlk Değer sütununa girin. Sağ üst köşedeki Tümünü Kalıcı Hale Getirin'i seçin. Doğru yapılandırıldığında Postman bölmeniz aşağıdaki görüntüye benzer olmalıdır.
Değişkenler hakkında daha fazla bilgi edinmek için Postman belgelerine bakın.
Ön sorgu betiği oluştur
Sonraki adım Postman'da bir ön sorgu betiği oluşturmaktır. Postman'daki her istek öncesinde bir ön istek betiği çalıştırılır. sizin için istek parametrelerini değiştirebilir veya değiştirebilir. Bu betiği, İletişim Hizmetleri'nin HTTP isteklerinizi onaylaması için imzalamak amacıyla kullanırsınız. İmzalama gereksinimleri hakkında daha fazla bilgi için kimlik doğrulama kılavuzumuza bakın.
Bu betiği, koleksiyondaki herhangi bir istekte otomatik olarak çalışacak şekilde koleksiyonda oluşturursunuz. Bu adımı gerçekleştirmek için Koleksiyonlar sekmesinde Ön İstek Betiği'ni seçin.
Şimdi metin alanına girerek bir ön sorgu betiği oluşturacaksınız. Yapıştırmadan önce Visual Studio Code gibi tam bir kod düzenleyicisine yazarsanız bu adım daha kolay olabilir. Bu öğretici, senaryo sürecinin her bölümünde size yol gösterir. Komut dosyasını direkt Postman'e kopyalamak ve kullanmaya başlamak istiyorsanız sonuna geçebilirsiniz. Senaryo yazmaya başlayalım.
Ön sorgu betiğini yazma
İlk adım, Eşgüdümlü Evrensel Saat (UTC) dizesi oluşturmak ve bunu HTTP üst bilgisine Date
eklemektir. Bu dizeyi daha sonra imzalarken kullanmak için bir değişkende depolayın.
// Set the Date header to our Date as a UTC String.
const dateStr = new Date().toUTCString();
pm.request.headers.upsert({key:'Date', value: dateStr});
Ardından, istek gövdesini SHA 256 kullanarak hash edin ve x-ms-content-sha256
başlığına yerleştirin. Postman, genel olarak karma oluşturma ve imzalama için bazı standart kitaplıklar içerdiği için bunları yüklemenize veya gerektirmenize gerek yoktur.
// Hash the request body by using SHA256 and encode it as Base64
const hashedBodyStr = CryptoJS.SHA256(pm.request.body.raw).toString(CryptoJS.enc.Base64)
// And add that to the header x-ms-content-sha256
pm.request.headers.upsert({
key:'x-ms-content-sha256',
value: hashedBodyStr
});
HTTP Konağı üst bilgisinin değerini ayırt etmek için önceden belirttiğiniz uç nokta değişkenini kullanın. Host üst bilgisi, bu betik işlendiği sırada ayarlanmamıştır.
// Get our previously specified endpoint variable.
const endpoint = pm.variables.get('endpoint')
// Remove the https prefix to create a suitable "Host" value.
const hostStr = endpoint.replace('https://','');
Bu bilgilerle artık HTTP isteği için imzaladığınız dizeyi oluşturabilirsiniz. Dize, önceden oluşturulmuş birkaç değerden oluşur.
// This gets the part of our URL that is after the endpoint, for example, in https://contoso.communication.azure.com/sms, it will get '/sms'.
const url = pm.request.url.toString().replace('{{endpoint}}','');
// Construct our string, which we'll sign, by using various previously created values.
const stringToSign = pm.request.method + '\n' + url + '\n' + dateStr + ';' + hostStr + ';' + hashedBodyStr;
Son olarak, İletişim Hizmetleri anahtarınızı kullanarak bu dizeyi imzalarsınız. Ardından üst bilgideki Authorization
isteğinize bu anahtarı ekleyin.
// Decode our access key from previously created variables into bytes from Base64.
const key = CryptoJS.enc.Base64.parse(pm.variables.get('key'));
// Sign our previously calculated string with HMAC 256 and our key. Convert it to Base64.
const signature = CryptoJS.HmacSHA256(stringToSign, key).toString(CryptoJS.enc.Base64);
// Add our final signature in Base64 to the authorization header of the request.
pm.request.headers.upsert({
key:'Authorization',
value: "HMAC-SHA256 SignedHeaders=date;host;x-ms-content-sha256&Signature=" + signature
});
Son ön sorgu betiği
Son ön inceleme betiği şu örneğe benzer olmalıdır:
// Set the Date header to our Date as a UTC String.
const dateStr = new Date().toUTCString();
pm.request.headers.upsert({key:'Date', value: dateStr});
// Hash the request body by using SHA256 and encode it as Base64.
const hashedBodyStr = CryptoJS.SHA256(pm.request.body.raw).toString(CryptoJS.enc.Base64)
// And add that to the header x-ms-content-sha256.
pm.request.headers.upsert({
key:'x-ms-content-sha256',
value: hashedBodyStr
});
// Get our previously specified endpoint variable.
const endpoint = pm.variables.get('endpoint')
// Remove the https prefix to create a suitable "Host" value.
const hostStr = endpoint.replace('https://','');
// This gets the part of our URL that is after the endpoint, for example, in https://contoso.communication.azure.com/sms, it will get '/sms'.
const url = pm.request.url.toString().replace('{{endpoint}}','');
// Construct our string, which we'll sign, by using various previously created values.
const stringToSign = pm.request.method + '\n' + url + '\n' + dateStr + ';' + hostStr + ';' + hashedBodyStr;
// Decode our access key from previously created variables into bytes from Base64.
const key = CryptoJS.enc.Base64.parse(pm.variables.get('key'));
// Sign our previously calculated string with HMAC 256 and our key. Convert it to Base64.
const signature = CryptoJS.HmacSHA256(stringToSign, key).toString(CryptoJS.enc.Base64);
// Add our final signature in Base64 to the authorization header of the request.
pm.request.headers.upsert({
key:'Authorization',
value: "HMAC-SHA256 SignedHeaders=date;host;x-ms-content-sha256&Signature=" + signature
});
Bu son betiği İstek Öncesi Betik sekmesindeki metin alanına girin veya yapıştırın.
Girdikten sonra Ctrl+S tuşlarına basın veya Kaydet'i seçerek betiği koleksiyona kaydedin.
Postman'de istek oluşturma
Artık her şey ayarlandı, Postman'da bir İletişim Hizmetleri isteği oluşturmaya hazırsınız. Başlamak için İletişim Hizmetleri koleksiyonunun yanındaki artı işaretini (+) seçin.
Postman'da isteğiniz için yeni bir sekme oluşturdunuz ve şimdi bunu yapılandırmanız gerekiyor. SMS Gönderme API'sine karşı bir istekte bulunursunuz, bu nedenle yardım için bu API'nin belgelerine başvurdığınızdan emin olun. Postman isteğini yapılandıralım.
Başlamak için istek türünü POST
olarak ayarlayın ve istek URL'si alanına girin {{endpoint}}/sms?api-version=2021-03-07
. Bu URL, daha önce oluşturduğunuz endpoint
değişkeni İletişim Hizmetleri kaynağınıza otomatik olarak göndermek için kullanır.
İsteğin Gövde sekmesinde ham öğesini seçin. Sağdaki açılan listede JSON'ı seçin.
JSON biçiminde bilgi göndermek ve almak için isteği yapılandırmışsınız.
Metin alanına aşağıdaki biçimde bir istek gövdesi girin:
{
"from":"<Your Azure Communication Services Telephone Number>",
"message":"<The message you'd like to send>",
"smsRecipients": [
{
"to":"<The number you'd like to send the message to>"
}
]
}
İletişim Hizmetleri portalında from
değeri için bir telefon numarası almanız gerekir, daha önce belirtildiği gibi. Ülke kodunuzun ön ekiyle birlikte ve boşluksuz olarak girin.
+15555551234
bunun bir örneğidir. Göndermek istediğiniz message
olabilir, ancak Hello from Azure Communication Services
iyi bir örnektir.
to
değeri, SMS mesajlarını alabilmeniz için erişiminiz olan bir telefon olmalıdır. Kendi cep telefonunuzu kullanmak iyi bir fikirdir.
Bu isteği daha önce oluşturduğunuz İletişim Hizmetleri koleksiyonuna kaydedin. Bu adım, daha önce oluşturduğunuz değişkenleri ve ön sorgu betiğini almasını sağlar. İstek alanının sağ üst kısmında Kaydet'i seçin.
Görüntülenen iletişim kutusu, isteği neyle çağırmak istediğinizi ve nereye kaydetmek istediğinizi sorar. İstediğiniz her şeyi adlandırabilirsiniz, ancak iletişim kutusunun alt yarısında İletişim Hizmetleri koleksiyonunuzu seçtiğinizden emin olun.
İstek gönderme
Artık her şey ayarlandıysa, isteği gönderebilir ve telefonunuza bir SMS mesajı alabilirsiniz. Bu adımı gerçekleştirmek için isteğinizin seçili olduğundan emin olun ve gönder'i seçin.
Her şey yolunda gittiyse, İletişim Hizmetleri'nden gelen yanıtı (202 durum kodu) görürsünüz.
Değerde to
sağladığınız numaranın sahibi olan cep telefonu bir SMS iletisi de aldı. Artık İletişim Hizmetleri ile iletişim kurabilen ve SMS mesajları gönderebilen işlevsel bir Postman yapılandırmanız var.