Integrando Microsoft CRM en nuestras aplicaciones Web
Vamos a ver como podemos integrar CRM en nuestras aplicaciones Web utilizando el SDK que nos brinda, que para este caso utilizaremos la fachada de Servicios Web, que en este caso son 2:
Crm Web Service
Metadata Web Service
Nosotros vamos a trabajar con el primero, que nos pemite obtener entidades, crearlas, actualizarlas, borrarlas y realizar consultas XML, que esto lo veremos en otra ocasión.
Lo primero que tenemos que saber es la URL del Web Service de CRM, algo como:
http://servidor:puerto/mscrmservices/2006/crmservice.asmx
y agregarla a nuestra aplicación. Una vez que pongamos la URL nos aparecerá la siguiente información:
Como podemos observar, nos muestra los métodos que soporta y una pequeña descripción sobre los mismos. Añadimos finalmente la referencia y ya estamos listos para picar algo de código.
En el ejemplo que es muestro a continuación, vamos a recuperar los datos de un cliente particular concreto. Antes de llamar la método que nos devolverá la entidad, es necesario presentar las credenciales al Servicio Web para que sepa quienes somos y nos permita ejecutar la consulta sino recibiremos un 401 Unauthorized...
protected void Page_Load(object sender, EventArgs e)
{ CrmService service = new CrmService();
string domain = "xxxxxxxxx";
string userName = "xxxxxxxxx";
string password = "xxxxxxxxx";
string authScheme = "Negotiate";
CredentialCache credentialCache = new CredentialCache();
NetworkCredential credential = new NetworkCredential(userName, password, domain);
credentialCache.Add(new Uri(service.Url), authScheme, credential);
service.Credentials = credentialCache;
service.PreAuthenticate = true;
contact clienteParticular =
(contact)service.Retrieve(EntityName.contact.ToString(),
new Guid("366deebb-8bcd-dc11-9bd4-0017a4a78956"), new AllColumns());
txtFirstName.Text = clienteParticular.firstname;
txtLastName.Text = clienteParticular.lastname;
txtTelephone.Text = clienteParticular.telephone1;
}
Al principio puede resultar confuso sino se conoce CRM, sobre todo su modelo de entidades, pero una vez que entendemos un poquillo estos conceptos no cuesta muho empezar a atacarlo.
En el siguiente artículo vamos a ver comor realizar consultas más complejas :)
Saludos