Nesse exemplo a idéia é mostrar um pouco sobre o Live Alerts. Para criar grupos e enviar mensagens, seguindo a seguinte ordem:
1. Como obter uma conta do Live Alerts;
2. Criação de grupos;
3. Envio de Alerts para grupos;
4. Visualização de todos os grupos existentes.
1. Para utilização do Live Alerts é preciso enviar um email para alertsdk@microsoft.com com as seguintes informações:
-Site Name;
-Lista de Endereços IP parceiro para o Desenvolvimento e Produção de máquinas (Live Alerts usa Filtragem de IP para implementações SDK);
-Linguagem;
Os dados da sua conta será enviado no seu email, pela microsoft.
No site http://msdn.microsoft.com/en-us/library/bb259769.aspx , podemos obter mais informação de como conseguir sua conta do Live Alerts.
2.Para começar vamos criar um projeto web Application e fazer referencia a 2 web services, sendo eles:
- http://services.alerts.live-ppe.com/axis/services/Message?wsdl (Folder Name: Message)
- http://services.alerts.live-ppe.com/axis/services/Subscription?wsdl (Folder Name: Subscription)
Método para criar grupos:
public int CreateGroup(string groupName, string groupDescription)
{
Subscription.AlertsWebServicesService liveAlerts = new
Subscription.AlertsWebServicesService();
Subscription.RecServicesRequestResponse response;
response = liveAlerts.AddGroup(CreateHeader(), CreateIdentification(),
groupName, groupDescription);
return response.response.statusCode;
}
Nesse método usamos o webService Subscription para criar o grupo (AddGroup), que retorna um objeto do tipo RecServicesRequestResponse, sendo a propriedade statusCode a mais importante, ou seja, quando a criação do grupo consegue ser realizada com sucesso o statusCode é setado como 0. (No link a seguir é possivel ver todos os codigos e suas respectivas mensagens de erro: http://msdn.microsoft.com/en-us/library/bb259727.aspx ) .
Método CreateHeader:
private Subscription.RecServicesHeader CreateHeader()
{
Subscription.RecServicesHeader header = new Subscription.RecServicesHeader();
header.messageID = string.Format("{0}.{1}.{2}", DateTime.Now.ToString("yyyy-MM-dd"),
Guid.NewGuid().ToString().Replace("-", string.Empty),
alertsPIN.ToString());
header.version = "1.0";
header.timestamp = String.Format("{0}T{1}", DateTime.Now.ToString("yyyy-MM-dd"),
DateTime.Now.ToString("HH:mm:sszzz"));
return header;
}
Método CreateIdentification:
private Subscription.RecServicesIdentification CreateIdentification()
{
Subscription.RecServicesIdentification id = new Subscription.RecServicesIdentification();
id.PINID = 123456;
id.PW = “passaword123”;
return id;
}
Os dois métodos acima são usados em quase todos os métodos que mostraremos nesse artigo.
Esses métodos servem para criar dois objetos:
- RecServicesIdentification : identifica a conta do Alerts onde você informa o número do PIN e senha que foi enviada.
- RecServicesHeader: serve para criar um cabeçalho.
Pronto! Nesse momento você já conseguiu criar um grupo para o Alerts, sendo possivel ver o resultado no site de Administração do Alerts, o qual a Microsoft enviará o endereço junto com seu PIN e senha.
3.Esse método demonstra como fazer o envio de mensagens para o grupo criado:
public int SendGroupMessage(string from, string groupName, string content,
string emailMessage, string messengerMessage, string actionUrl)
{
Message.MessageWebServicesService messageService = new
Message.MessageWebServicesService();
Message.RecServicesContact contact = new Message.RecServicesContact();
contact.transport = transportType;
contact.from = from;
Message.RecServicesGroupMessage msg = new Message.RecServicesGroupMessage();
msg.groupName = groupName;
msg.content = content;
msg.fromContacts = new Message.RecServicesContact[] { contact };
msg.messengerMessage = messengerMessage;
msg.emailMessage = emailMessage;
msg.actionURL = actionUrl;
Message.RecServicesRequestResponse response;
response = messageService.GroupDeliver(CreateMessageHeader(),
CreateMessageIdentification(),msg);
return response.response.statusCode;
}
Note que esse método informa ao Live Alerts, o grupo e a mensagem que queremos enviar. Do mesmo modo que o CreateGroup ele retorna o statusCode, caso obtenha sucesso retornará o codigo 0.
Abaixo Segue os metodos para criar o Cabeçalho e a identificação para o Alerts, mas nesse caso em relação ao webservice Message.
private Message.RecServicesHeader CreateMessageHeader()
{
Message.RecServicesHeader header = new Message.RecServicesHeader();
header.messageID = string.Format("{0}.{1}.{2}",
DateTime.Now.ToString("yyyy-MM-dd"),
Guid.NewGuid().ToString().Replace("-", string.Empty),
alertsPIN.ToString());
header.version = "1.0";
header.timestamp = String.Format("{0}T{1}", DateTime.Now.ToString("yyyy-MM-dd"),
DateTime.Now.ToString("HH:mm:sszzz"));
return header;
}
private Message.RecServicesIdentification CreateMessageIdentification()
{
Message.RecServicesIdentification id = new Message.RecServicesIdentification();
id.PINID = 123456;
id.PW = “passaword123”;
return id;
}
4.Como recuperar todos os grupos:
public string[] FindAllGroups()
{
Subscription.AlertsWebServicesService liveAlerts = new
Subscription.AlertsWebServicesService();
Subscription.RecGroupsRequestResponse response;
response = liveAlerts.FindAllGroups(CreateHeader(), CreateIdentification());
return response.subscriptionGroups;
}
Precisamos apenas chamar o método FindAllGroups que o mesmo retornará um array com todos os grupos que você tem em seu alerts.
Com esses passos é possível trabalhar com o envio de mensagens através do alerts.
Nenhum comentário:
Postar um comentário