wiki:comoUsarElApi

Version 2 (modified by aaraujo, 9 years ago) (diff)

Agregados íconos para secciones

¿Cómo usar el API de Murachi?

Detalles de seguridad

Todos los recursos del API requieren autenticación básica HTTP (Basic Authentication). Por esta razón, en todas las solicitudes debe estar presente el encabezado Authorization lleno con los valores app_id y app_key que se generará para su consumo. Por ejemplo si las credenciales de su aplicación son las siguientes:

  • app_id: murachi.test
  • app_key: 12345678

necesitará codificarlas con el algoritmo Base64: Base64(app_id:app_key). El resultado debería ser como el siguiente encabezado HTTP: Authorization: Basic aG9sYTptdW5kbw==.

Puede convertir credenciales a Base64 con la siguiente línea de comando:

echo -n APP_ID:APP_KEY | base64

reemplazando APP_ID y APP_KEY con sus respectivas credenciales.

NOTA: inicialmente para propósitos de prueba se estarán utilizando las credenciales

  • app_id: admin
  • app_key: admin

Esto da como resultado: YWRtaW46YWRtaW4=.

Entonces mientras se habilita el proceso de generación de API_KEY para clientes del API se utilizará lo siguiente:

Authorization: Basic YWRtaW46YWRtaW4=

al momento de consumir un recurso de Murachi.

Documentación del API

icono de documentación

Para consumir o hacer llamadas a los recursos del servicio Murachi puede revisar el siguiente enlace: https://murachi.cenditel.gob.ve/apidoc/. Allí encontrará todos los recursos disponibles hasta el momento con sus parámetros, respuestas, errores y ejemplos de uso.

Prueba básica con Ruby

  • Crear el archivo multipart.rb con el siguiente contenido:
require 'net/https'
require 'net/http/post/multipart'
require "openssl"

# Solicitud POST
#uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/cargas')
uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/bdocs/cargas')
req = Net::HTTP::Post::Multipart.new uri.path,
  "data" => UploadIO.new(StringIO.new("cadena de prueba"), "text/plain", "file.txt")
#  "data" => StringIO.new("cadena de prueba")
#  "data" => UploadIO.new(File.new("./file.txt"), "text/plain", "file.txt")

# Solicitud GET
#uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/version')
#uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/version')
#req = Net::HTTP::Get.new uri.path

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE


# RESPUESTA --->>
res = http.request(req)

# Headers
puts res['Set-Cookie']            # => String
puts res.get_fields('set-cookie') # => Array
puts res.to_hash['set-cookie']    # => Array
puts "Headers: #{res.to_hash.inspect}"

# Status
puts 'code',res.code       # => '200'
puts 'message',res.message    # => 'OK'
puts 'class.name',res.class.name # => 'HTTPOK'

# Body
puts res.body

#  "data" => StringIO.new("cadena de prueba")
  • Ejecutar: ruby multipart.rb

Attachments (7)

Download all attachments as: .zip