using System.Collections.Generic;
using System.Threading.Tasks;
using System.Net.Http.Headers;
public static void Main()
var _tokenUrl = "https://idcs-db141be79510411c9f1de554ab5dd74f.identity.oraclecloud.com/oauth2/v1/token";
var grant_type = "password";
var username = "erik.cadena_externo@toyota.com";
var password = "TFSmexico1#q1w2e3";
var client_id = "194fd66fc43741be8250d1854b8bccf4";
var client_secret = "87eb444c-3003-42d4-883e-ea64f6e60542";
var scope = "TFSMPublicAPIsMediaCatalogueAPI";
using (var client = new HttpClient())
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("username", username));
postData.Add(new KeyValuePair<string, string>("password", password));
postData.Add(new KeyValuePair<string, string>("grant_type", grant_type));
postData.Add(new KeyValuePair<string, string>("client_id", client_id));
postData.Add(new KeyValuePair<string, string>("client_secret", client_secret));
postData.Add(new KeyValuePair<string, string>("scope", scope));
HttpContent content = new FormUrlEncodedContent(postData);
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var responseResult = client.PostAsync(_tokenUrl, content).Result;
var salida = responseResult.Content.ReadAsStringAsync().Result;
Token estados = JsonConvert.DeserializeObject<Token>(salida);
tokencadena=estados.access_token.ToString();
Console.WriteLine("-- Token: "+tokencadena);
CallAPIResource(tokencadena);
public static void CallAPIResource(string AccessToken)
var url = $"https://dtfsmxis.com.mx/GetGeneraEnviaDocPLNET";
var c = new Operacion() {
var request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/json";
request.Accept = "application/json";
request.Headers.Add("Authorization", "Bearer " + AccessToken);
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
string json = JsonConvert.SerializeObject(c);
streamWriter.Write(json);
using (WebResponse response = request.GetResponse())
using (Stream strReader = response.GetResponseStream())
using (StreamReader objReader = new StreamReader(strReader))
var responseBody = objReader.ReadToEnd();
Application est = JsonConvert.DeserializeObject<Application>(responseBody);
var respuesta=est.DOCUMENTO.FILE.ToString();
Console.WriteLine("-- Respuesta: "+respuesta);
Console.WriteLine(e.Message.ToString());
public string scope { get; set; }
public string token_type { get; set; }
public string expires_in { get; set; }
public string refresh_token { get; set; }
public string access_token { get; set; }
public int ID_CLIENTE { get; set; }
public string CONTRATO { get; set; }
public int TIPO_DOCUMENTO { get; set; }
public string MARCA { get; set; }
public int OPCIONES { get; set; }
public string PREPAGO { get; set; }
public string TIPO_PREPAGO { get; set; }
public string FECHA_CALCULO { get; set; }
public string LISTA_PREPAGOS { get; set; }
public string FILENAME { get; set; }
public string FILE { get; set; }
public string CONTENT_TYPE { get; set; }
public string CODIGO { get; set; }
public string RESULTADO { get; set; }
public class DETALLE_OPERACION {
public string ESTATUS { get; set; }
public string MENSAJE { get; set; }
public class Application {
public string CONTRATO { get; set; }
public string TIPO_DOCUMENTO { get; set; }
public DOCUMENTO DOCUMENTO { get; set; }
public ENVIO ENVIO { get; set; }
public DETALLE_OPERACION DETALLE_OPERACION { get; set; }