Pruebas API desde linea de comandos

Body

Para realizar estas pruebas necesitaremos un certificado cuyo NIF asociado esté dado de alta en la sede como representante de alguna de las empresas.

Vamos a utilizar cURL para realizar las pruebas con un certificado en formato PEM.

Si nuestro certificado no está en formato PEM necesitaremos convertirlo.

La conversión la hemos realizado utilizando OpenSSL

Conversión certificado

openssl pkcs12 -in ACA.p12 -out cert.pem -clcerts

Para realizar la conversión nos pedirá la clave del certificado y la clave que queremos utilizar en el certificado exportado.

Enter Import Password:
                    MAC verified OK
                    Enter PEM pass phrase:
                    Verifying - Enter PEM pass phrase:

Una vez hemos obtenido el certificado en formato PEM podremos realizar las peticiones que necesitemos.

Petición

curl -E cert.pem https://apipre.cnmc.gob.es/test/v1/echoseguro/hello%20world

Nos solicitará la clave del certificado

Enter PEM pass phrase:

Y si todo ha ido bien podremos ver el resultado de nuestra petición

{"loginId":"11111111H","mensaje":"hello world"}

Si el servidor contra el que hacemos las peticiones no tiene un certificado valido cURL nos devolvera un error

curl: (60) SSL certificate problem: self signed certificate
                    More details here: http://curl.haxx.se/docs/sslcerts.html
                    curl performs SSL certificate verification by default, using a "bundle"
                     of Certificate Authority (CA) public keys (CA certs). If the default
                     bundle file isn't adequate, you can specify an alternate file
                     using the --cacert option.
                    If this HTTPS server uses a certificate signed by a CA represented in
                     the bundle, the certificate verification probably failed due to a
                     problem with the certificate (it might be expired, or the name might
                     not match the domain name in the URL).
                    If you'd like to turn off curl's verification of the certificate, use
                     the -k (or --insecure) option.

Este mensaje de error podremos evitarlo utilizando la opción -k

Ejemplos

Prueba subida ficheros.

Para subir un fichero utilizaremos la Api de Carga

Como en el ejemplo anterior utilizamos curl y un certificado pem. También necesitamos un fichero, en este caso utilizaremos un fichero xml del SGDA

La llamada en este caso será:

En la url hemos parametrizado los datos que necesita la carga express. Sustituya el nifPresentador, el nifEmpresa, el número de bytes del fichero a subir y el nombre del fichero. 

Si todo va bien obtendremos la respuesta de la api, en este caso un código http 200

HTTP/1.1 100 Continue
                                                            HTTP/1.1 200 OK

Listar pendientes

Para consultar los ficheros pendientes de descarga asociados a un procedimiento <IDPROCEDIMIENTO> y a una empresa de NIF <NIFEMPRESA>, puede emplear la operación de la api listar_pendientes.

Como en el ejemplo anterior utilizamos curl y un certificado pem. 

La llamada sería:

Consultar 

Ejemplo de la operación de la API consultar para consultar los ficheros descargados o descargables de manera genérica, asociados a un procedimiento <IDPROCEDIMIENTO> y a una empresa de NIF <NIFEMPRESA>. 

Como en el ejemplo anterior utilizamos curl y un certificado pem. 

La llamada, para consultar los ficheros en cualquier estado, sería:

curl -i -X POST -E cert.pem -k -d "idProcedimiento=<IDPROCEDIMIENTO>&nifEmpresa=<NIFEMPRESA>&estado=" https://api.cnmc.gob.es/ficheros/v1/consultar

Descargar

Ejemplo de descarga de un fichero por identificador uuid. 

Como en el ejemplo anterior utilizamos curl y un certificado pem.