Manual de Uso de API REST de Carpeta Ciudadana
Manual de Uso de API REST de Carpeta Ciudadana
Manual de Uso de API REST de Carpeta Ciudadana
Carpeta Ciudadana
1
Contenido
1. Introducción 4
2. Conceptos 5
b. Servicios de áreas 9
i. Crear una o más áreas 9
ii. Consultar aŕeas 10
iii. Consultar área 12
iv. Modificar área 13
v. Eliminar área 14
2
Tabla de versiones
3
1. Introducción
a. Objetivo
b. Consideraciones previas
❖ client_id: Cliente ID
❖ client_secret: Cliente Secret
Ambientes Rutas
Staging https://staging.carpetaciudadana.servicios.g
ob.pe/
QA https://qa.carpetaciudadana.servicios.gob.pe
/
Production https://carpetaciudadana.servicios.gob.pe/
4
2. Conceptos
a. API REST
Una API REST (también conocida como API RESTful), es una interfaz
de programación de aplicaciones que se ajusta al estilo arquitectónico
REST y permite la interacción con los servicios web RESTful.
Fuente: https://www.redhat.com/en/topics/api/what-is-a-rest-api
Fuente:
https://medium.com/beltranc/diferencia-entre-api-y-servicio-web-5f204af3aedb
5
b. OAuth2
c. cURL
6
3. Servicios web RESTful
a. Obtener token de autorización
Este servicio sirve para obtener el token de acceso, la entidad
obtendrá un token de acceso a los otros servicios web disponibles
para consultar sus áreas y crear una notificación y/o comunicación.
Ejemplo
curl -X POST \
https://staging.carpetaciudadana.servicios.gob.pe/oauth2/token
\
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"grant_type": "client_credentials",
"client_id":
"MXsYHjR2yBUaDnveu_S5hsCvYRL5ihAKv-kAssDs4bc",
"client_secret":
"SBHXsXWkwfXsnRytYe9LN4I7l-WK10RrzBPTxwn2rQ0"
}'
Resultado:
{
"access_token":
"eyJraWQiOiJadi1RSEJyemtMRFVoUGdBLXlZUUFxMGxNVGZGZExjSGszT1BFY3R
Ob0xBIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJDYXJwZXRhIENpdWRhZGFuYSIs
ImlhdCI6MTY2NjM3MTMxOSwiZXhwIjoxNjY2MzczMTE5LCJqdGkiOiI4MjhiOGQ1
My1kZGRiLTRhMjEtYjc3OS0wN2VlZTJhMjZkZWIiLCJ1c2VyIjp7ImlkIjoiMTIx
YTQ3NDktMmEyNS00MTcyLTlhMmYtMGZlYjdmNDYxMjJmIiwiZW1haWwiOiJtZGVs
7
Z2Fkby5wY21AZ21haWwuY29tIn19.hjtCRwF6SegLJRycSoZlp0geamZlIsoBVrb
hFcJuS__cBlX8eyFAenpf9iN3swRO84GiLna2sya8v0ZBqMID6w",
"token_type": "Bearer",
"expires_in": 7200,
"refresh_token":
"HlWAZQTLXrCWlBSaX-CbCw5AYQrq_VfEe6u3MwAPBwo",
"created_at": 1662649293
}
Entrada
Salida
8
b. Servicios de áreas
i. Crear una o más áreas
Ejemplos
Resultado:
[
{
"id": 27,
"name": "area de prueba 1",
"institution_id": 1180,
"created_at": "2023-01-04T10:43:02.747-05:00",
"updated_at": "2023-01-04T10:43:02.747-05:00"
},
{
"id": 28,
9
"name": "area de prueba 2",
"institution_id": 1180,
"created_at": "2023-01-04T10:43:02.752-05:00",
"updated_at": "2023-01-04T10:43:02.752-05:00"
}
]
Descripción
Header
Entrada
Salida
10
Ejemplo
curl -X GET \
'https://staging.carpetaciudadana.servicios.gob.pe/api/v1/servic
es/areas?search=General' \
-H 'authorization: bearer
eyJraWQiOiJadi1RSEJyemtMRFVoUGdBLXlZUUFxMGxNVGZGZExjSGszT1BFY3RO
b0xBIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJDYXJwZXRhIENpdWRhZGFuYSIsI
mlhdCI6MTY2NjM3MTMxOSwiZXhwIjoxNjY2MzczMTE5LCJqdGkiOiI4MjhiOGQ1M
y1kZGRiLTRhMjEtYjc3OS0wN2VlZTJhMjZkZWIiLCJ1c2VyIjp7ImlkIjoiMTIxY
TQ3NDktMmEyNS00MTcyLTlhMmYtMGZlYjdmNDYxMjJmIiwiZW1haWwiOiJtZGVsZ
2Fkby5wY21AZ21haWwuY29tIn19.hjtCRwF6SegLJRycSoZlp0geamZlIsoBVrbh
FcJuS__cBlX8eyFAenpf9iN3swRO84GiLna2sya8v0ZBqMID6w' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
Resultado:
{
"data": [
{
"id": 4,
"name": "Dirección General de Pesquería",
"institution_id": 1180,
"created_at": "2022-07-06T18:06:49.787-05:00",
"updated_at": "2022-07-06T18:06:49.787-05:00"
},
...
"total_count": 5,
"total_pages": 1
}
Descripción
Header
Entrada
11
Salida
Consideraciones:
Por ejemplo:
'https://staging.carpetaciudadana.servicios.gob.pe/api/v1/servic
es/areas?search=Secretaria&page=2'
12
Ejemplo
Resultado:
{
"id": 26,
"name": "area de prueba",
"institution_id": 1180,
"created_at": "2023-01-04T10:35:00.040-05:00",
"updated_at": "2023-01-04T10:35:00.040-05:00"
}
13
Ejemplo
Resultado:
{
"name": "area de prueba modificada",
"id": 26,
"institution_id": 1180,
"created_at": "2023-01-04T10:35:00.040-05:00",
"updated_at": "2023-01-04T16:59:16.207-05:00"
}
v. Eliminar área
14
Ejemplo
Resultado:
15
Ejemplo
curl -X GET \
'https://staging.carpetaciudadana.servicios.gob.pe/api/v1/servic
es/track_code_types?page=1' \
-H 'authorization: bearer
eyJraWQiOiJweVJBd2ItSlFPd1YyX0RoVGlfbEZ2SzdORTZKOVZVcEd2VnVOZlRsNWQwIiwiYWx
nIjoiSFM1MTIifQ.eyJpc3MiOiJDYXJwZXRhIENpdWRhZGFuYSIsImlhdCI6MTY2NzgzNjY2MCwi
ZXhwIjoxNjY3OTIzMDYwLCJqdGkiOiI1MzIwMGFjNC0yMDIxLTRlYjgtYTNhMi0wNjdlYTZkYWRi
MGIiLCJ1c2VyIjp7ImlkIjoiMzQ5MTIyMDYtN2M0ZS00NGQyLWE5NzYtY2VkMzIwNzU4M2E5Iiwi
ZW1haWwiOiJtZGVsZ2Fkby5wY20ucGFzYWRvQGdtYWlsLmNvbSJ9fQ.ilQ2YcVEj1bVo69Y-gihL
IojIoWNoHBSe8NizunxrXr0AacXKklSbmRDy09Z0CSCZnn0BtWpKRcC91X7RofA1g' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
Resultado:
{
"data": [
{
"id": 1,
"name": "Número de expediente"
},
...
],
"total_count": 5,
"total_pages": 1
}
Descripción
Header
Entrada
Salida
16
id <track code identificador numérico -
type id> del tipo de
número de
seguimiento
name cadena de -
texto
Las etiquetas html que se consideran son: "b", "i", "ul", "ol". Cualquier contenido
en otra etiqueta no será considerado. La cantidad de caracteres para el campo
message content es como máximo de 1000 caracteres.
17
Ejemplo
curl -X POST \
https://staging.carpetaciudadana.servicios.gob.pe/api/v1/service
s/messages \
-H 'authorization: bearer
eyJraWQiOiJweVJBd2ItSlFPd1YyX0RoVGlfbEZ2SzdORTZKOVZVcEd2VnVOZlRsNWQwIiwiYWx
nIjoiSFM1MTIifQ.eyJpc3MiOiJDYXJwZXRhIENpdWRhZGFuYSIsImlhdCI6MTY2NzgzNjY2MCwi
ZXhwIjoxNjY3OTIzMDYwLCJqdGkiOiI1MzIwMGFjNC0yMDIxLTRlYjgtYTNhMi0wNjdlYTZkYWRi
MGIiLCJ1c2VyIjp7ImlkIjoiMzQ5MTIyMDYtN2M0ZS00NGQyLWE5NzYtY2VkMzIwNzU4M2E5Iiwi
ZW1haWwiOiJtZGVsZ2Fkby5wY20ucGFzYWRvQGdtYWlsLmNvbSJ9fQ.ilQ2YcVEj1bVo69Y-gihL
IojIoWNoHBSe8NizunxrXr0AacXKklSbmRDy09Z0CSCZnn0BtWpKRcC91X7RofA1g' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"citizen_id_code": "dni",
"citizen_id_number": "78109118",
"areas_id": 4,
"track_code_type_id": 1,
"track_code": "09200000223",
"message_type": "notification",
"subject": "Asunto prueba",
"content": "<p>Contenido prueba</p>",
"file_infos_attributes": [
{"name": "archivo1.pdf", "route":
"http://www.africau.edu/images/default/sample.pdf" },
{"name": "archivo2.doc", "route":
"https://filesamples.com/samples/document/doc/sample1.doc"}
],
"file_zip": "https://path.misarchivoscomprimidos.zip",
"raw": {
"data": [{
"campo": "tip_documento",
"descripcion": "tipo de documento",
"tipo": "text",
"valor": "01",
"valor_descriptivo": "oficio"
},
{
"campo": "fec_envio_casilla",
"descripción": "fecha de envio a la casilla de la
entidad",
"tipo": "date",
"valor": "15/2/2022"
}]
}
}'
18
Resultado:
{
"id": "1d258639-8480-48a7-b6e4-9a30e3b887c8",
"entity_register_number": "0920000053",
"citizen_id_code": "dni",
"citizen_id_number": "78109118",
"message_type": "notification",
"procedure": null,
"entity_ruc": null,
"subject": "Asunto prueba",
"content": "<p>Contenido prueba</p>",
"raw": null,
"highlight": false,
"file_zip": "https://path.misarchivoscomprimidos.zip",
"receipt_document": null,
"state": [
"new"
],
"read": false,
"read_date": null,
"created_at": "2022-09-08T09:58:10.902-05:00",
"updated_at": "2022-09-08T09:58:10.902-05:00",
"areas_id": 4,
"user_id": 41,
"gob_user_id": null,
"label_id": null,
"entity_user_id": "c5b2d104-45fd-4922-b643-ad7dd310b19a",
"created_by_type": "EntityUser",
"created_by_id": "c5b2d104-45fd-4922-b643-ad7dd310b19a"
}
Header
Entrada
19
citizen_id_num número del cadena de “xxxxxxxx”
ber documento de texto
identificación
del ciudadano
Salida
id identificador cadena de -
<message_id> o CUO(código texto con
único de formato de
operación) UUID
20
del ciudadano
21
areas_id identificador Numérico -
del área
22
4. Limitaciones
Los límites de uso son los siguientes:
23