SlideShare una empresa de Scribd logo
- Mayo 2019
Programación
enfocada a Web API
• David F. Martinez (Innovar
Tecnologías)
• Oriol Peñuela Ortega (Innovar
Tecnologías)
Dynamics saturday madrid 2019   web api
Ponentes!
• David Fernando Martinez.
• Consultor Senior de Innovar
• Conocimientos en Dynamic 365 CE
• Conocimientos en Dynamics F&O.
• Desarrollador
• Arquitecto y Scrum Master.
• Originario de la tierra más bella del mundo Colombia!!!
• Adicto a las motos.
• Fan de GoT
• LinkenId: https://www.linkedin.com/in/david-fernando-
martinez-bustos-6a159018/
Ponentes!
• Oriol Peñuela Ortega
• Desarrollador Senior.
• Actualmente esta detrás de los proyectos de Chat
Bots usando Bot Framework.
• Estudiante de informática UPC.
• Friki en tecnologías web.
• Defensor de Star wars los últimos Jedi.
• Fan de las cervezas artesanales .
LinkedIn: https://www.linkedin.com/in/oriolpenuela/
Y el menú de hoy!
1
2
3
4 Web API – Pruebas de rendimiento (SOAP Vs Web API)
Web API Dynamics 365
ODATA V2 y V4
Diferencias entre Organization Data Service, Web API y Organization
Service.
Llegando mas a fondo!
5
6
7
8
Xrm.WebApi y Postman.
Ejemplo de consumo desde Flows y Power Apps.
Limitaciones actuales de la Web API.
Funciones y Acciones
Programación asíncrona con js e integración con Typescript.
• La API web, para Microsoft Dynamics 365 (en línea y local), proporciona
una experiencia de desarrollo que puede usarse en una gran
variedad de lenguajes de programación, plataformas, y dispositivos.
• Web API en Dynamics 365 -> Release 2.0.
Web API Dynamics 365
¿Qué contiene la web Api?
• Implementa Odata (Open Data Protocol), V 4.0.
• Norma OASIS, para consumir API.
• Web api combina funcionalidad de SOAP y REST
endpoint.
• Mejoras del REST endpoint (Odata 2.0 – Estaba
limitado a operaciones CRUD).
Odata V2.0 / Odata v4.0
OData V2 in Dynamics CRM OData V4 in Dynamics 365/2016
Dynamics CRM Client URL +”
/XRMServices/2011/OrganizationData.svc” –
Dynamics CRM Client URL +” /api/data/v9.1″
Necesidad de agregar referencia de ensamblaje o utilidad
de JavaScript.
No necesita ninguna referencia de ensamblado de
JavaScript.
Sufijo adicional "Conjunto" con nombre de entidad
(ejemplo - ContactSet)
Solo sufijo "s" con nombre de entidad (ejemplo -
Contacts)
Diferencias
Organization Service Web API Organization Data Service
• Usa WCF to SOAP endpoint
• Implementa IorganizationService Interface
• XML
• Requiere el Assembly para autenticar Dynamics
CRM
• Assign Records , Retrieve Metadata, Execute
Message and Anything.
• Máximo de registros 5000
• Usa WCF to Rest Endpoint
• Implementa Odata V4
• JSON, TEXT,XML
• NO Requiere el Assembly para autenticar
Dynamics CRM
• Create, Retrieve, Update, Delete , Associate,
Diassociate, Assign, Retrieve metadata.
• Máximo de registros 5000
• Usa WCF to Rest Endpoint
• Implementa Odata V2
• JSON, ATOM
• NO Requiere el Assembly para autenticar
Dynamics CRM
• Create, Retrieve, Update, Delete ,
Associate, Disassociate
• Máximo de registros 50
Manos a la obra…
Web API pruebas de
rendimiento…
Dynamics saturday madrid 2019   web api
Xrm.WebApi en Dynamics
365 V 9.X
Xrm.WebApi - Creación de un registro
Xrm.WebApi - Busqueda
Parámetros de filtrado
• $select: Lista de campos que queremos recuperar de la WebApi
• $filter: Filtrado de registros
• $expand: Devuelve campos de entidades relacionadas (Ej:
$expand=customerid_contact($select=fullname))
• $orderby: Orden de los registros devueltos (Ej: $orderby=name desc,revenue asc)
• $top: Limita los resultados devueltos
• $apply: Permite agregar campos y agrupar registros (Ej:
$apply=groupby((statuscode),aggregate(estimatedvalue with average as averagevalue)
• $count: Devuelve un campo @odata.count que contiene el numero de registros
devueltos en la consulta
Xrm.WebApi – Busqueda con FetchXML
Nuestro amigo Postman…
Funciones
• Operaciones nativas que no producen efectos secundarios.
• Pueden ser globales (unbound) o ligadas a una entidad (bound)
• Si la función esta ligada a un entidad se deberá indicar el GUID del registro al que hace referencia y el
namespace de la función.
Funciones de query: Funciones que se usan en una búsqueda de registros, por ejemplo
la función contains() o startsWith()
Acciones
• Flujos de trabajo que permiten realizar operaciones aisladas y reutilizables.
• También pueden ser globales o ligadas a una entidad.
• Se ejecutan realizando una llamada POST a la WebApi con objeto que representa los parámetros de la función.
Ejemplo practico con
Postman
Promesas
• Una promesa representa el resultado (o fallo) de una operación asíncrona.
• Usando el método then() en una promesa podemos tratar el resultado/error de la operación asíncrona.
Fetch()
• Alternativa a XMLHttpRequest , devuelve una promesa.
• Ademas de la URL se le puede pasar como parámetro un objeto con el tipo de petición, headers, datos…
Async/await
Dynamics 365 y Typescript
Flow y Power Apps
• La actualización de los campos de búsqueda a NULL no se admite
actualmente, ya que no hay una forma eficiente de hacerlo cuando se
utiliza WebAPI.
• Existen dos limitaciones cuando se utiliza una Alternate Key como
criterio de coincidencia para la acción Upsert o Update en un
componente de destino de CRM.
• Primero, no informa ningún valor para las columnas de salida IsNew
y CrmRecordId en su Salida predeterminada, ya que el servidor
Dynamics 365 / CRM no CE devuelve dicha información cuando se usa
WebAPI. En segundo lugar, no funciona si alguno de los campos clave
tiene un valor NULL.  SOAP
Cosas por mejorar en Web API
• No se recomienda utilizar la Detección de duplicados
como criterios coincidentes para la acción Upsert o
Update, ya que la función RetrieveDuplicates en la
que confiamos no devuelve esos registros duplicados
existentes de manera confiable.  SOAP
• Cuando trabaje con la opción EntityChanges en el
componente de origen CRM, no debe seleccionar
ningún campo de búsqueda, ya que esto provoca un
error esperado en el servidor.
Cosas por mejorar en Web API
• La opción AuditLogs en el componente fuente de CRM
no se admite actualmente, ya que la función
RetrieveRecordChangeHistory en la que confiamos
está generando un error inesperado en el servidor.
• La acción de eliminación masiva no funciona, ya que la
función FetchXmlToQueryExpression informará un
error inesperado en el servidor.
• El uso de la acción Delete para la
campaignactivityitem no está funcionando
actualmente debido a la disparidad del mensaje de
solicitud de servicio utilizado
Cosas por mejorar en Web API
• La escritura en la entidad de campaignitem no está funcionando
actualmente debido a la disparidad del mensaje de solicitud de
servicio utilizado.
• El uso de la acción Delete para la entidad listmember no está
funcionando actualmente debido a la disparidad del mensaje de
solicitud de servicio utilizado.
• La acción de envío para la entidad de “email" no funciona, ya que
genera un error del lado del servidor cuando la solicitud se publica
en el servidor.
• Al realizar una actualización de los campos de la lista de partes en una
entidad de actividad (como los campos 'from', 'to', 'cc', 'bcc' fields of
'email' entity), debe asegurarse de escribir a todos campos de la lista
de partes en la misma entidad; de lo contrario, los campos de la lista
de partes que no tienen una entrada se borrarán, lo que podría
ocasionar pérdidas inesperadas de datos
Cosas por mejorar en Web API
Enlaces de interés
• Documentación Webapi: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-
api/about?view=dynamics-ce-odata-9
• Documentación Xrm.WebApi: https://docs.microsoft.com/en-us/dynamics365/customer-
engagement/developer/clientapi/reference/xrm-webapi
• Postman: https://www.getpostman.com/
• Promises: https://developer.mozilla.org/ca/docs/Web/JavaScript/Referencia/Objectes_globals/Promesa
• Fetch: https://developer.mozilla.org/es/docs/Web/API/Fetch_API/Utilizando_Fetch
• Async/await: https://javascript.info/async-await
• Polyfill fetch (para usar en internet explorer): https://github.com/github/fetch
• Typescript: https://www.typescriptlang.org/
• Tutorial Typescript + Dynamics 365 1:
https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/10/26/detailed-guide-on-how-to-use-typescript-
with-dynamics-365-part-1-setting-up-the-environment
• Tutorial Typescript + Dynamics 365 2:
https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/10/27/detailed-guide-on-how-to-use-typescript-
with-dynamics-365-part-1-deploying-typescript-into-dynamics-365
• Tutorial Typescript + Dynamics 365 3:
https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/11/05/detailed-guide-on-how-to-use-typescript-
with-dynamics-365-part-3-debugging-typescript-within-dynamics-365
• Spkl (Libreria para subir web resources desde visual): https://www.nuget.org/packages/spkl/
• Fiddler: https://www.telerik.com/fiddler
• Imposter(Plugin de fiddler para depurar WebResources): https://github.com/gotdibbs/Imposter.Fiddler
¡Muchas gracias!

Más contenido relacionado

PPTX
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
PDF
Dynamics crm-es
PPTX
Introducción a ASP.NET Web API
PPTX
Roadmap sap hana 2
PPTX
Dynamics saturday madrid 2019 conecta business central con el mundo v2
PDF
NexTReT AgilePoint XRM Introducción
PPTX
Mis APIs. Tus APIs. Las APIs de todos.
PPTX
El Rol del Desarrollador en la Transformación Digital
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Dynamics crm-es
Introducción a ASP.NET Web API
Roadmap sap hana 2
Dynamics saturday madrid 2019 conecta business central con el mundo v2
NexTReT AgilePoint XRM Introducción
Mis APIs. Tus APIs. Las APIs de todos.
El Rol del Desarrollador en la Transformación Digital

Similar a Dynamics saturday madrid 2019 web api (20)

PDF
Web api, más allá del 'hola mundo'
PDF
OpenERP:Presentacion_olivier_jornadas_bilbao2010
PPTX
Mulesoft Meetup Murcia - Connecting People
PPTX
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
PPTX
Novedades en BCS en SharePoint 2013
PDF
Apis Agregadas computomasivo
PPTX
Arquitectura de una Apis Rest en C.pptx
PPTX
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
PDF
Servicios w eb
PDF
S4D437 Col24 Aplicaciones transaccionales con el modelo de programación de ap...
PDF
CLD900 Col20 SAP Integration Suite in SAP BTP
PPT
Ajax Huancayo
PPTX
La transformacion digital en nuestra vida cotidiana. Un vistazo a las APIs
PDF
Introducción al análisis e inteligencia social en Microsoft Graph con Office365
PPTX
Como desarrollar una api en .NET Core como un autentico Avenger
PPTX
RAML
PPTX
Novedades en Desarrollo en SharePoint 2013
PPTX
Integración de Tecnologías y Plataformas.pptx
PDF
Ponencia global planning
PDF
BOLD WorkPlanner: Novedades tecnológicas y funcionales
Web api, más allá del 'hola mundo'
OpenERP:Presentacion_olivier_jornadas_bilbao2010
Mulesoft Meetup Murcia - Connecting People
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
Novedades en BCS en SharePoint 2013
Apis Agregadas computomasivo
Arquitectura de una Apis Rest en C.pptx
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
Servicios w eb
S4D437 Col24 Aplicaciones transaccionales con el modelo de programación de ap...
CLD900 Col20 SAP Integration Suite in SAP BTP
Ajax Huancayo
La transformacion digital en nuestra vida cotidiana. Un vistazo a las APIs
Introducción al análisis e inteligencia social en Microsoft Graph con Office365
Como desarrollar una api en .NET Core como un autentico Avenger
RAML
Novedades en Desarrollo en SharePoint 2013
Integración de Tecnologías y Plataformas.pptx
Ponencia global planning
BOLD WorkPlanner: Novedades tecnológicas y funcionales

Más de Demian Raschkovan (20)

PPTX
Que ha sido de wally
PPTX
Power automate como solucion para integraciones
PPTX
Dynamics saturday online 2020 gestion de credito v1.0
PPTX
Victor sanchez saturdaymadrid2020
PPTX
Hjp saturday 2020_v2
PDF
Despliegue continuo en dev ops para multiples entornos de dync 365
PPTX
Chateando con power apps
PPTX
Alm orientado a power platform
PPTX
Humanizacion de java script con typescript para d365
PDF
Dynamics 365 human resources and business continuity pdf
PPTX
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
PPTX
Automatizando flujos con teams y power automate
PPSX
Power bi fromzeroto bi hero
PDF
Definir un Gobierno en Power Platform: todo bajo control
PPTX
Todo lo que te gustaría saber de Field Services - Enrique Romero
PPTX
Real CI/CD para MSDyn365FO… Be a hero!
PDF
Empower digital transformation in your organization with the power platform
PPTX
Solución estándar: ¿Amigo o enemigo? PAC(K)
PPTX
Máquinas de estado con Logic App & Automate sobre CDS
PPTX
Mejora tus procesos de negocio con Adaptive Cards
Que ha sido de wally
Power automate como solucion para integraciones
Dynamics saturday online 2020 gestion de credito v1.0
Victor sanchez saturdaymadrid2020
Hjp saturday 2020_v2
Despliegue continuo en dev ops para multiples entornos de dync 365
Chateando con power apps
Alm orientado a power platform
Humanizacion de java script con typescript para d365
Dynamics 365 human resources and business continuity pdf
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Automatizando flujos con teams y power automate
Power bi fromzeroto bi hero
Definir un Gobierno en Power Platform: todo bajo control
Todo lo que te gustaría saber de Field Services - Enrique Romero
Real CI/CD para MSDyn365FO… Be a hero!
Empower digital transformation in your organization with the power platform
Solución estándar: ¿Amigo o enemigo? PAC(K)
Máquinas de estado con Logic App & Automate sobre CDS
Mejora tus procesos de negocio con Adaptive Cards

Último (20)

PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
clase auditoria informatica 2025.........
PDF
Maste clas de estructura metálica y arquitectura
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
introduccion a las_web en el 2025_mejoras.ppt
El-Gobierno-Electrónico-En-El-Estado-Bolivia
clase auditoria informatica 2025.........
Maste clas de estructura metálica y arquitectura
Estrategia de apoyo tecnología grado 9-3
Power Point Nicolás Carrasco (disertación Roblox).pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
REDES INFORMATICAS REDES INFORMATICAS.pptx
Sesion 1 de microsoft power point - Clase 1
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Influencia-del-uso-de-redes-sociales.pdf
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Calidad desde el Docente y la mejora continua .pdf
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Diapositiva proyecto de vida, materia catedra
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN

Dynamics saturday madrid 2019 web api

  • 1. - Mayo 2019 Programación enfocada a Web API • David F. Martinez (Innovar Tecnologías) • Oriol Peñuela Ortega (Innovar Tecnologías)
  • 3. Ponentes! • David Fernando Martinez. • Consultor Senior de Innovar • Conocimientos en Dynamic 365 CE • Conocimientos en Dynamics F&O. • Desarrollador • Arquitecto y Scrum Master. • Originario de la tierra más bella del mundo Colombia!!! • Adicto a las motos. • Fan de GoT • LinkenId: https://www.linkedin.com/in/david-fernando- martinez-bustos-6a159018/
  • 4. Ponentes! • Oriol Peñuela Ortega • Desarrollador Senior. • Actualmente esta detrás de los proyectos de Chat Bots usando Bot Framework. • Estudiante de informática UPC. • Friki en tecnologías web. • Defensor de Star wars los últimos Jedi. • Fan de las cervezas artesanales . LinkedIn: https://www.linkedin.com/in/oriolpenuela/
  • 5. Y el menú de hoy! 1 2 3 4 Web API – Pruebas de rendimiento (SOAP Vs Web API) Web API Dynamics 365 ODATA V2 y V4 Diferencias entre Organization Data Service, Web API y Organization Service.
  • 6. Llegando mas a fondo! 5 6 7 8 Xrm.WebApi y Postman. Ejemplo de consumo desde Flows y Power Apps. Limitaciones actuales de la Web API. Funciones y Acciones Programación asíncrona con js e integración con Typescript.
  • 7. • La API web, para Microsoft Dynamics 365 (en línea y local), proporciona una experiencia de desarrollo que puede usarse en una gran variedad de lenguajes de programación, plataformas, y dispositivos. • Web API en Dynamics 365 -> Release 2.0. Web API Dynamics 365
  • 8. ¿Qué contiene la web Api? • Implementa Odata (Open Data Protocol), V 4.0. • Norma OASIS, para consumir API. • Web api combina funcionalidad de SOAP y REST endpoint. • Mejoras del REST endpoint (Odata 2.0 – Estaba limitado a operaciones CRUD).
  • 9. Odata V2.0 / Odata v4.0 OData V2 in Dynamics CRM OData V4 in Dynamics 365/2016 Dynamics CRM Client URL +” /XRMServices/2011/OrganizationData.svc” – Dynamics CRM Client URL +” /api/data/v9.1″ Necesidad de agregar referencia de ensamblaje o utilidad de JavaScript. No necesita ninguna referencia de ensamblado de JavaScript. Sufijo adicional "Conjunto" con nombre de entidad (ejemplo - ContactSet) Solo sufijo "s" con nombre de entidad (ejemplo - Contacts)
  • 10. Diferencias Organization Service Web API Organization Data Service • Usa WCF to SOAP endpoint • Implementa IorganizationService Interface • XML • Requiere el Assembly para autenticar Dynamics CRM • Assign Records , Retrieve Metadata, Execute Message and Anything. • Máximo de registros 5000 • Usa WCF to Rest Endpoint • Implementa Odata V4 • JSON, TEXT,XML • NO Requiere el Assembly para autenticar Dynamics CRM • Create, Retrieve, Update, Delete , Associate, Diassociate, Assign, Retrieve metadata. • Máximo de registros 5000 • Usa WCF to Rest Endpoint • Implementa Odata V2 • JSON, ATOM • NO Requiere el Assembly para autenticar Dynamics CRM • Create, Retrieve, Update, Delete , Associate, Disassociate • Máximo de registros 50
  • 11. Manos a la obra…
  • 12. Web API pruebas de rendimiento…
  • 15. Xrm.WebApi - Creación de un registro
  • 17. Parámetros de filtrado • $select: Lista de campos que queremos recuperar de la WebApi • $filter: Filtrado de registros • $expand: Devuelve campos de entidades relacionadas (Ej: $expand=customerid_contact($select=fullname)) • $orderby: Orden de los registros devueltos (Ej: $orderby=name desc,revenue asc) • $top: Limita los resultados devueltos • $apply: Permite agregar campos y agrupar registros (Ej: $apply=groupby((statuscode),aggregate(estimatedvalue with average as averagevalue) • $count: Devuelve un campo @odata.count que contiene el numero de registros devueltos en la consulta
  • 18. Xrm.WebApi – Busqueda con FetchXML
  • 20. Funciones • Operaciones nativas que no producen efectos secundarios. • Pueden ser globales (unbound) o ligadas a una entidad (bound) • Si la función esta ligada a un entidad se deberá indicar el GUID del registro al que hace referencia y el namespace de la función. Funciones de query: Funciones que se usan en una búsqueda de registros, por ejemplo la función contains() o startsWith()
  • 21. Acciones • Flujos de trabajo que permiten realizar operaciones aisladas y reutilizables. • También pueden ser globales o ligadas a una entidad. • Se ejecutan realizando una llamada POST a la WebApi con objeto que representa los parámetros de la función.
  • 23. Promesas • Una promesa representa el resultado (o fallo) de una operación asíncrona. • Usando el método then() en una promesa podemos tratar el resultado/error de la operación asíncrona.
  • 24. Fetch() • Alternativa a XMLHttpRequest , devuelve una promesa. • Ademas de la URL se le puede pasar como parámetro un objeto con el tipo de petición, headers, datos…
  • 26. Dynamics 365 y Typescript
  • 27. Flow y Power Apps
  • 28. • La actualización de los campos de búsqueda a NULL no se admite actualmente, ya que no hay una forma eficiente de hacerlo cuando se utiliza WebAPI. • Existen dos limitaciones cuando se utiliza una Alternate Key como criterio de coincidencia para la acción Upsert o Update en un componente de destino de CRM. • Primero, no informa ningún valor para las columnas de salida IsNew y CrmRecordId en su Salida predeterminada, ya que el servidor Dynamics 365 / CRM no CE devuelve dicha información cuando se usa WebAPI. En segundo lugar, no funciona si alguno de los campos clave tiene un valor NULL.  SOAP Cosas por mejorar en Web API
  • 29. • No se recomienda utilizar la Detección de duplicados como criterios coincidentes para la acción Upsert o Update, ya que la función RetrieveDuplicates en la que confiamos no devuelve esos registros duplicados existentes de manera confiable.  SOAP • Cuando trabaje con la opción EntityChanges en el componente de origen CRM, no debe seleccionar ningún campo de búsqueda, ya que esto provoca un error esperado en el servidor. Cosas por mejorar en Web API
  • 30. • La opción AuditLogs en el componente fuente de CRM no se admite actualmente, ya que la función RetrieveRecordChangeHistory en la que confiamos está generando un error inesperado en el servidor. • La acción de eliminación masiva no funciona, ya que la función FetchXmlToQueryExpression informará un error inesperado en el servidor. • El uso de la acción Delete para la campaignactivityitem no está funcionando actualmente debido a la disparidad del mensaje de solicitud de servicio utilizado Cosas por mejorar en Web API
  • 31. • La escritura en la entidad de campaignitem no está funcionando actualmente debido a la disparidad del mensaje de solicitud de servicio utilizado. • El uso de la acción Delete para la entidad listmember no está funcionando actualmente debido a la disparidad del mensaje de solicitud de servicio utilizado. • La acción de envío para la entidad de “email" no funciona, ya que genera un error del lado del servidor cuando la solicitud se publica en el servidor. • Al realizar una actualización de los campos de la lista de partes en una entidad de actividad (como los campos 'from', 'to', 'cc', 'bcc' fields of 'email' entity), debe asegurarse de escribir a todos campos de la lista de partes en la misma entidad; de lo contrario, los campos de la lista de partes que no tienen una entrada se borrarán, lo que podría ocasionar pérdidas inesperadas de datos Cosas por mejorar en Web API
  • 33. • Documentación Webapi: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web- api/about?view=dynamics-ce-odata-9 • Documentación Xrm.WebApi: https://docs.microsoft.com/en-us/dynamics365/customer- engagement/developer/clientapi/reference/xrm-webapi • Postman: https://www.getpostman.com/ • Promises: https://developer.mozilla.org/ca/docs/Web/JavaScript/Referencia/Objectes_globals/Promesa • Fetch: https://developer.mozilla.org/es/docs/Web/API/Fetch_API/Utilizando_Fetch • Async/await: https://javascript.info/async-await • Polyfill fetch (para usar en internet explorer): https://github.com/github/fetch
  • 34. • Typescript: https://www.typescriptlang.org/ • Tutorial Typescript + Dynamics 365 1: https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/10/26/detailed-guide-on-how-to-use-typescript- with-dynamics-365-part-1-setting-up-the-environment • Tutorial Typescript + Dynamics 365 2: https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/10/27/detailed-guide-on-how-to-use-typescript- with-dynamics-365-part-1-deploying-typescript-into-dynamics-365 • Tutorial Typescript + Dynamics 365 3: https://community.dynamics.com/365/b/arsenaghajanyansblog/archive/2018/11/05/detailed-guide-on-how-to-use-typescript- with-dynamics-365-part-3-debugging-typescript-within-dynamics-365 • Spkl (Libreria para subir web resources desde visual): https://www.nuget.org/packages/spkl/ • Fiddler: https://www.telerik.com/fiddler • Imposter(Plugin de fiddler para depurar WebResources): https://github.com/gotdibbs/Imposter.Fiddler

Notas del editor

  • #55: Colors can be inverted by formatting background
  • #56: Colors can be inverted by formatting background
  • #57: Colors can be inverted by formatting background