Changes between Initial Version and Version 1 of comoUsarElApi


Ignore:
Timestamp:
Sep 9, 2015, 11:19:33 AM (9 years ago)
Author:
aaraujo
Comment:

Creada página con información sobre cómo usar el API de Murachi

Legend:

Unmodified
Added
Removed
Modified
  • comoUsarElApi

    v1 v1  
     1
     2== ¿Cómo usar el API de Murachi? ==
     3
     4=== Detalles de seguridad ===
     5
     6Todos 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:
     7
     8 * {{{app_id: murachi.test}}}
     9 * {{{app_key: 12345678}}}
     10
     11necesitará codificarlas con el algoritmo Base64: {{{Base64(app_id:app_key)}}}. El resultado debería ser como el siguiente encabezado HTTP: ''Authorization: Basic aG9sYTptdW5kbw==''.
     12
     13Puede convertir credenciales a Base64 con la siguiente línea de comando:
     14
     15{{{
     16echo -n APP_ID:APP_KEY | base64
     17}}}
     18reemplazando APP_ID y APP_KEY con sus respectivas credenciales.
     19
     20'''NOTA:'''
     21inicialmente para propósitos de prueba se estarán utilizando las credenciales
     22
     23
     24 * {{{app_id: admin}}}
     25 * {{{app_key: admin}}}
     26
     27Esto da como resultado: {{{YWRtaW46YWRtaW4=}}}. Entonces mientras se habilita el proceso de generación de API_KEY para clientes del API se utilizará lo siguiente:
     28{{{
     29Authorization: Basic YWRtaW46YWRtaW4=
     30}}}
     31
     32al momento de consumir un recurso de Murachi.
     33
     34
     35=== Documentación del API ===
     36
     37Para 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.
     38
     39
     40
     41=== Prueba básica con Ruby ===
     42
     43 * Crear el archivo {{{multipart.rb}}} con el siguiente contenido:
     44
     45{{{
     46require 'net/https'
     47require 'net/http/post/multipart'
     48require "openssl"
     49
     50# Solicitud POST
     51#uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/cargas')
     52uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/bdocs/cargas')
     53req = Net::HTTP::Post::Multipart.new uri.path,
     54  "data" => UploadIO.new(StringIO.new("cadena de prueba"), "text/plain", "file.txt")
     55#  "data" => StringIO.new("cadena de prueba")
     56#  "data" => UploadIO.new(File.new("./file.txt"), "text/plain", "file.txt")
     57
     58# Solicitud GET
     59#uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/version')
     60#uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/version')
     61#req = Net::HTTP::Get.new uri.path
     62
     63http = Net::HTTP.new(uri.host, uri.port)
     64http.use_ssl = true
     65http.verify_mode = OpenSSL::SSL::VERIFY_NONE
     66
     67
     68# RESPUESTA --->>
     69res = http.request(req)
     70
     71# Headers
     72puts res['Set-Cookie']            # => String
     73puts res.get_fields('set-cookie') # => Array
     74puts res.to_hash['set-cookie']    # => Array
     75puts "Headers: #{res.to_hash.inspect}"
     76
     77# Status
     78puts 'code',res.code       # => '200'
     79puts 'message',res.message    # => 'OK'
     80puts 'class.name',res.class.name # => 'HTTPOK'
     81
     82# Body
     83puts res.body
     84
     85#  "data" => StringIO.new("cadena de prueba")
     86}}}
     87
     88 * Ejecutar: {{{ruby multipart.rb}}}
     89