Hi Everyone;
I'm trying to create retail transaction using external app integration; I achieved to query some data like sales orders, customers and create new customer, but I haven't create sales. Does anyone know what is the minimum fields that are required?
namespace MyCustom.Integracion
{
class Program
{
static void Main(string[] args)
{
GetConfiguration();
Cart newCart = new Cart()
{
//fields minimun requiered
}
var createdCart = Task.Run(async () => await CreateCart(newCart)).Result;
Console.WriteLine(string.Format("New cart created: {0}", createdCart?.Name));
}
private static void GetConfiguration()
{
clientId = ConfigurationManager.AppSettings["aadClientId"];
clientSecret = ConfigurationManager.AppSettings["aadClientSecret"];
authority = new Uri(ConfigurationManager.AppSettings["aadAuthority"]);
retailServerUrl = new Uri(ConfigurationManager.AppSettings["retailServerUrl"]);
operatingUnitNumber = ConfigurationManager.AppSettings["operatingUnitNumber"];
resource = ConfigurationManager.AppSettings["resource"];
}
private static async Task<ManagerFactory> CreateManagerFactory()
{
//System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext authenticationContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(authority.ToString(), false);
Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult authResult = null;
authResult = await authenticationContext.AcquireTokenAsync(resource, new Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential(clientId, clientSecret));
Microsoft.Dynamics.Commerce.RetailProxy.Authentication.ClientCredentialsToken clientCredentialsToken = new Microsoft.Dynamics.Commerce.RetailProxy.Authentication.ClientCredentialsToken(authResult.AccessToken);
RetailServerContext retailServerContext = RetailServerContext.Create(retailServerUrl, operatingUnitNumber, clientCredentialsToken);
ManagerFactory factory = ManagerFactory.Create(retailServerContext);
return factory;
}
private static async Task<Cart> CreateCart(Cart cart)
{
ManagerFactory managerFactory = await CreateManagerFactory();
ICartManager cartManage = managerFactory.GetManager<ICartManager>();
return await cartManage.Create(cart);
}
}
}
Thanks in advance.