Genesys sdk is forcing to use NewtonSoft.Json instead of System.Text.Json

Genesys sdk is forcing to use NewtonSoft.Json instead of System.Text.Json because if we use system.Json and tried to acess any endpoint it is unable to return correct data in case of Enums.
If we use System.Text.Json it is returning Enum value and if we use NewtonSoft.Json it is returning Enum text.

We are faced the issue for /api/v2/quality/surveys/{surveyId} Endpoint.
Difference between NetwonSoft.Json and System.Text.Json serializers

Hey @Dileep_kaRanki @Dileepkaranki

Can you share a piece of client code to explain whatever is meant.
.net SDK uses NewtonSoft for all its API classes for deserialise and serialise operations from a long time. No new changes were introduces for it recently.

We upgraded our code from .NET Framework to .NET core.In .Net Core by default it uses System.Text.Json for Serialization. So we ran into issues near enum properties if any class is having enum properties while making Api requests.

Yes. When you upgrade from dotnet framework to dotnet core you have to account for the dependencies of your underlying libraries. The SDK was built using Newtonsoft.JSON therefore if you want it to behave consistent with historical you will need to also use Newtonsoft.JSON .

I am not clear what your expectation of Genesys or anyone else here. This is programming 101 and clearly outlined in the library dependencies;

Yes. You have to use the libraries your other libraries are dependent on. And?

1 Like

thanks for bringing this dependency check let me revalidate how it was lost while installing the nuget package.

@Eos_Rios, I created a new Project and installed PureCloud nuget package but none of the dependencies have been installed*But while installing the PureCloud package it showed below Popup


Your own picture shows them all installed.

They're in the Transitive Packages section below direct installs, because dependencies in Visual Studio are transitive. They can be overridden by explicit installs that meet their requirements or will be included at the default level they're required.

I agree with you that they are showing near transitive packages. If you find the transitive packages none of them have the green checkbox(installed packages will have green :heavy_check_mark: ). If i click on any of the transitive packages it is showing install button.Could you clarify me on this.


Transitive dependencies are packages that will implicitly installed due to being a requirement of other packages if you don't already have a compatible version explicitly installed.

Everything in the Installed tab IS installed at runtime. The two sections just explain how/where.