sábado, 26 de septiembre de 2015

Utilizando la Nueva Web API

Como ya os he contacto en un pasado POST (http://www.demianrasko.com/2015/08/nueva-web-api-en-update-1.html) la nueva Web API, ya está aquí, y llega para quedarse.

Esta nueva Web API abrirá un nuevo mundo en el desarrollo con Dynamics CRM, y hoy os voy a mostrar como poder empezar a “jugar” con ella desde una aplicación de consola. Tener en cuenta que está en preview y solo es para pruebas.

Lo primero que he hecho, es crearme una trial en CRM Online,o utilizar una existente pero hay que asegurarse que tiene Update 1, y luego habilitar la preview de Web API:

image

Para comprobar que funciona, podéis meter las URLs y probarlo por ejemplo:

image

SNAGHTML2f29100a

SNAGHTML2f28ce9c

Ok, ya funciona. Lo siguiente que hay que hacer es registrar nuestra aplicación de consola que vamos a desarrollar con Azure para poder dar permisos a la misma de acceder a datos de CRM. El paso a paso para hacer esto está descrito en este artículo: https://msdn.microsoft.com/dynamics/crm/mt149065.aspx

En realidad significa dos pasos:

1) Registrar el AD del CRM el de nuestro Azure, para que la autenticación de los dos ADs se “vean” bien

2) Registrar nuestra App y darle permisos

Para registrar el AD, básicamente vamos a Azure, y añadimos el AD de nuestra trial de CRM Online, y nos logueamos con las credenciales del CRM Online y autorizamos el enlace:

SNAGHTML2f2cc496

Seleccionamos “Usar directorio existente” (el de CRM Online)

SNAGHTML2f2d14aa

Nos autenticamos con las credenciales de nuestra trial:

SNAGHTML2f2d532a

SNAGHTML2f2db196

Confirmamos la relación entre ADs:

SNAGHTML2f2de884

Lo siguiente que hay que hacer es ir a ese AD, y añadir nuestra apliación y darle permisos. Como resultado tendremos un Aplication ID

SNAGHTML2f2f822f

Seleccionamos agregar la aplicación que estamos desarrollando (y seguimos los pasos siguientes):

SNAGHTML2f2fba47

Finalmente tenemos el Id de cliente, que utilizaremos en nuestro código:

SNAGHTML2f300058

Ahora hay que darle permisos a nuestra nueva aplicación, para conectarse al CRM:

SNAGHTML2f304baa

Seleccionamos Dynamics CRM Online:

SNAGHTML2f3097f5

Le damos los permisos:

SNAGHTML2f30dd1c

Genial, una “pequeña” parte del trabajo, ya está hecha.

Ahora vamos a abrir el Visual Studio por fin. En este caso voy a basarme en los ejemplo que hay en https://code.msdn.microsoft.com/Basic-Operations-with-web-67fc1d8f

Primero abrimos el proyecto y en el App.Config cambiamos lo siguiente (en ClienteID y en RedirectURL debemos introducir lo que pusimos en Azure al registrar la App):

SNAGHTML2f38ab66

Al ejecutar el código, en la línea que intenta autenticar con CRM para recoger el Token, nos aparecerá una ventana de autenticación con CRM:

SNAGHTML2f3c62a2

Luego viene la línea donde intenta crear una Cuenta, que es una petición simple de tipo “POST” con al jSON de la Cuenta a crear:

SNAGHTML2f3d3bad

Si ejecutamos esa línea podemos ver en nuestro “Fiddler” como esta Cuenta es enviada y la URL con la que nos responde:

SNAGHTML2f3dcb89

Que si la Copiamos y pegamos en nuestro navegador tenemos la misma:

SNAGHTML2f3ee5f2

Simple, sencillo, moderno, abierto y directo.

Por fin disponemos en Dynamics CRM de una API completamente RESTfull que implementa todos los métodos y actualizada a los estándares oData v4.

Emocionantes tiempos nos vienen en los próximos tiempos para los desarrolladores de Dynamics CRM. Sin duda un gran paso adelante en la plataforma y un gran trabajo del equipo de producto en este punto.

Creo que si bien este punto es muy “teki” (técnico) y no todos los implementadores de CRM son desarrolladores, el mensaje importante a destacar es que Dynamics CRM será convertida en una plataforma que si bien sigue siendo desarrollada en .NET por debajo, será abierta a todos los lenguajes de desarrollo y tecnologías y dispositivos. Será mucho mas fácil realizar integraciones, aplicaciones móviles, etc.

Espero les haya gustado!

Un abrazo!

@demian_rasko

No hay comentarios:

Publicar un comentario