Customer Engagement & Dynamics CRM Forum

Expand all | Collapse all

SDK and API

  • 1.  SDK and API

    GOLD CONTRIBUTOR
    Posted May 05, 2020 04:50 PM
    Hello,
    Though the SDK is available for Dynamics 365 on-premise, what can be used for development with Dynamics 365 in the cloud? For example, how can I get started with perhaps an API to push and pull information to and from custom fields on CRM forms?
    Thanks

    ------------------------------
    Rod Carlson
    Database Administrator
    Chicago
    ------------------------------
    Academy - Online Interactive Learning from Experts


  • 2.  RE: SDK and API

    TOP CONTRIBUTOR
    Posted May 05, 2020 05:30 PM
    Hello Rod,
    API is pretty similar for onprem and online.
    Can you please describe your scenario?

    ------------------------------
    Andrew Butenko
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 3.  RE: SDK and API

    MICROSOFT MVP
    Posted May 06, 2020 06:38 AM
    From a consumers perspective, the SDK works the same for on-prem as it does online.  Or am I not understanding your question?

    ------------------------------
    Daryl LaBar
    President, MVP
    Gap Integrity
    Fishers IN
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 4.  RE: SDK and API

    GOLD CONTRIBUTOR
    Posted May 06, 2020 09:53 AM
    Thanks All,

    What is the difference between the API and SDK in terms of power and functionality? I am researching new customizations and am planning some changes to the Dynamics 365 online environment. I used to be able to make changes to the SQL database with stored procedures and custom fields, but 365 online does not allow me to get to the database. Where can I start to learn the API? For some reason, the web sites that I read, it gives me the impression that the SDK only works with the on-premise version. Am I wrong?


    ------------------------------
    Rod Carlson
    Database Administrator
    Chicago
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 5.  RE: SDK and API

    MICROSOFT MVP
    Posted May 06, 2020 05:34 PM
    Maybe you need to define the term API, but I'm assuming you're just talking about the Endpoints CRM exposes publicly.  The SDK is just a .net wrapper around those interfaces, handling all the low level plumbing for you.  So unless using the .net framework is not an option (Maybe you're a Java shop, or PHP, whatever), I always recommend using the SDK.

    The SDK has worked online and on-prem since day 1 of online.

    There are 100's of places to get started.  You can search YouTube, the MS Docs sites, use my Visual Studio Accelerator in the XrmToolBox.  Tons of options.  Although I would say you're much better off starting with a simple thing you're trying to accomplish and learn only what's needed to learn that, rather than everything.

    Also, direct access to the CRM database for anything more than Reads has never been supported by Microsoft, on Prem or otherwise.

    ------------------------------
    Daryl LaBar
    President, MVP
    Gap Integrity
    Fishers IN
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 6.  RE: SDK and API

    GOLD CONTRIBUTOR
    Posted May 07, 2020 03:42 PM

    Hi @Rod Carlson,


    The CRM online expose 2 endpoints publicly :

    The older one (2011) is SOAP. This is the one used by the SDK

    The newer one is Odata. This is the one referenced as "WebApi"

    You can see in Microsoft documentation(https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/work-with-data-cds)  that SDK is the way to go for plugins, and webApi for calls from outside the CRM.

    Personnaly, I always prefer using the SDK. When used properly, it create clean code, easy to write, read, and debug.
    Yet, the fact that it use an old endpoint is annoying... 

    So we are now trying to use WebApi for our new projects.
    To help using it, we discovered Xrm.Tools.WebApi. ​It is an odata client library that let us works with CRM entities. It can generate early binding entities from your CRM to help development. This is done trough a plugin in XrmToolBox.

    Best Regards,



    ------------------------------
    Laurent Maneville
    Nmédia
    Drummondville QC
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 7.  RE: SDK and API

    MICROSOFT MVP
    Posted May 08, 2020 08:09 AM
    Microsoft has committed to transferring the calls in the SDK over to the WebApi.  Some have even attached Fiddler and told me that this transition has already started for some calls in the SDK.  So this means that this statement:

    Yet, the fact that it use an old endpoint is annoying... 

    Will become less and less "annoying" ;)

    ------------------------------
    Daryl LaBar
    President, MVP
    Gap Integrity
    Fishers IN
    ------------------------------

    Academy - Online Interactive Learning from Experts


  • 8.  RE: SDK and API

    GOLD CONTRIBUTOR
    Posted May 08, 2020 08:32 AM

    Hi @Daryl LaBar,

    2 or 3 years ago, I have read from Microsoft that the will transfert ​SDK call to the odata WebApi, that is why I kept using it and was very happy with this.

    But this year I read this from Microsoft Documentation : 

    "Because the Web API is built on open standards, we don't provide assemblies for a specific developer experience"

    So this is the status for me :

    - Microsoft told us several years ago that they will update the SDK, but no news since
    - Microsoft advise us to use the WebApi
    - Microsoft tell us that they don't provide assemblies for it

    I was getting the feeling that the transfer to SDK was not a priority for microsoft and will just never happens!

    This is why your information about proof with fiddler that transition has started for some of the call is great news for me! I will definitively try to follow this to!

    Best Regards,



    ------------------------------
    Laurent Maneville
    Nmédia
    Drummondville QC
    ------------------------------

    Academy - Online Interactive Learning from Experts


If you've found this thread useful, dive deeper into User Group community content by role