Obtener el Token en la SUNAT para VB.Net
Para este punto se creó una función para poderla invocar las veces que sea necesaria. A continuación detallaremos lo desarrollado, recuerde que primero deberá ya tener creado su usuario secundario, la contraseña, y deberá de generar las credenciales (client_id y client_secret) desde el portal de la SUNAT con su clave SOL.
Public Function ObtenerToken(ByVal Ruta As String) As String 'Obtener el Token para consumir el API SUNAT ServicePointManager.Expect100Continue = True ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 Dim strUsrName = "RUC" + "USUARIOSECUNDARIO" Dim strPassword = "ContraseñaUsuarioSecundario" Dim grant_type As String = "password" Dim client_id As String ="jdfytfjp7-8888-4987-9f73-ff5ef84748fe" Dim client_secret As String = "Est06AGXTNRetoo2NCJSv9==" 'Esta es la URL proporcionada por la SUNAT para obtener el Token Dim sURL As String = "https://api-seguridad.sunat.gob.pe/v1/clientessol/" + client_id + "/oauth2/token/" Dim token As String = "" Dim client As RestClient = New RestClient(sURL) client.Timeout = -1 'Utilizamos el método POST Dim request = New RestRequest(Method.POST) 'En la Cabecera del request colocaremos los siguiente valores request.AddHeader("Cache-Control", "no-cache") request.AddHeader("Content-Type", "application/json") request.AddBody("Content-Type", "application/x-www-form-urlencoded") 'Y estas opciones son las que deberá de considerar en la parametrización, recuerde que estas variables ya fueron definidas en la parte superior. request.AddParameter("grant_type", grant_type) request.AddParameter("client_id", client_id) request.AddParameter("client_secret", client_secret) request.AddParameter("username", strUsrName) request.AddParameter("password", strPassword) Dim result As IRestResponse = client.Execute(request) Dim statusCode As HttpStatusCode = result.StatusCode Dim numericStatusCode As Int16 = statusCode If (numericStatusCode = 200) Then Dim objRpta = JsonConvert.DeserializeObject(result.Content) Dim access_token As String = objRpta("access_token") 'Aquí devolvemos el token a la función ObtenerToken = access_token Else Throw New Exception("Error de conexión con Servicio. " + result.StatusDescription + "-" + result.ErrorMessage) End If End Function
Bueno esto sería todo espero que sea de ayuda para los que están implementando sus sistemas en VB.Net.
Comentarios recientes