locked
Online 2013 CRM API Questions RRS feed

  • Question

  • hello,  i am investigating building an application that would need to access, and search, contact data from a MS Dynamics 2013 (online version) instance.  to those ends, below are some questions.  i'm relatively new to microsoft dynamics, so forgive me if my nomenclature is off.

    questions:

    1. from my external app, is the API we'd need to use to access CRM data the "SOAP endpoint", as seen here: http://msdn.microsoft.com/en-us/library/gg490657(v=crm.6).aspx?
    2. is this ODATA endpoint (http://msdn.microsoft.com/en-us/library/gg334279(v=crm.6).aspx) something different, and also a possibility for me?
    3. what are the authentication options i have?  i'll need some kind of app level authentication (from my app) that does not prompt the user to authenticate with the CRM prior to fetching data (from the CRM).  is this possible?
    4. where can i find a list of the CRM data access API methods that are available?  specifically what methods are available for searching content?
    5. and finally, though not related to the above external app scenario, is it possible to trigger some custom action (ie script or something of that nature) on the insert and update of a certain type of CMS data?  for example, on entry or update of a contact, can the CMS trigger a script connects to an external system (via restful API)?  furthermore, if this is possible, what options do we have for languages to build this triggered script (is it .NET only)?

    let me know if my questions need further elaboration.

    thanks.

     



    Monday, April 14, 2014 9:56 PM

All replies

  • For 2013 online, you can connect external apps via SOAP or the REST/OData endpoints. For either case, you now have the capability to use OAuth for your authentication, which is pretty well documented/supported in most common languages. If you look at the documentation and examples for the CRM endpoints you can see what is available for 'searching' the contact data.

    To trigger custom actions inside of CRM (you switched to saying CMS, I think you still meant CRM) you would typically build plugins, and yes those can reach out to external systems, and are limited to .NET.

    Tuesday, April 15, 2014 4:24 PM
  • thank you for your response, i appreciate it.   the answers helped me quite a bit.

    and you are correct, in question 5 i did mean CRM instead of CMS...

    after doing more research in the directions you've suggested, i have some of follow up questions:

    6. this pretty much a repeat of my origin question #3, but regarding the OAuth authentication, will i be able to do this at an application level (vs a CRM user level), and make it transparent to the end user (of my own external app)?  i've successfully done this with other API's using OAuth implementations, but i've not found anything clearing stating this as an option for dynamics.

    7. i'm assuming this (http://msdn.microsoft.com/en-us/library/dn531010(v=crm.6).aspx - relevant section titled "App registration for CRM online") is the guide to generate the necessary API connection credentials.  from this documentation, it's not clear to me how the "client app URL" is discovered, and when in the process this discovery should happen?  is this something that is generated (and displayed) for you after you create the application permission?  or is this something i need to programmatically discover prior to creating the application permission?  if it's the later, are there means to discover this client app url other than the .NET example provided in the documentation (same link as above, relevant section "How to obtain the redirect URL")?  this means appears to rely on a .NET library.  i'll most likely be operating in a non-.NET environment...

    thanks again.


    Tuesday, April 15, 2014 10:30 PM
  • Depending on what platform you intend to use, if you plan to integrate with SharePoint, you can easily surface CRM data into SharePoint, and use SharePoint Search to retrieve any of the information you require. 

    In order to achieve this, you would need to integrate with SharePoint. You can use BCS on the SharePoint end to index the needed CRM data. Building a few web parts and a custom search results page could solve your problem. 

    This would be the least amount of custom coding involved, but it is based on the assumption that the platform where you want to surface the data is in fact SharePoint.

    Wednesday, April 16, 2014 2:33 AM