SUNAT - CPE - SSPP - TOKEN - Guia - Operacion-Servicios (2) - 1

Descargar como xlsx, pdf o txt
Descargar como xlsx, pdf o txt
Está en la página 1de 40

Listado de S

ID Nombre Servico o Nombre Descripción


Recurso
1 Token Obtener token de autenticación.
2 Envio Envio
3 Consulta Consulta

(1) Acción a tomar:


A. Conformidad para su diseño e implementación. (creación).
B. Usar servicio existente para responder requerimientos de servicio candidato (reutilización).
C. Actualizar servicio existente para responder requerimientos de servicio candidato (mantenimiento).
D. Observado por no cumplir con los criterios establecidos en el presente procedimiento. (observado)
E. Desestimado para su diseño e implementación por no cumplir con los criterios establecidos en el presente proce
Listado de Servicios

Proceso Sub-Proceso Operacion Tipo Tarea


(opcional)
Tecnologia Seguridad GET ENTIDAD
Tecnologia Contribuyente POST ENTIDAD
Tecnologia Contribuyente GET ENTIDAD

eutilización).
ato (mantenimiento).
miento. (observado)
establecidos en el presente procedimiento. (desestimado)
Dominio
Acción a tomar (1)
API SEGURIDAD CREACIÓN
API CPE CREACIÓN
API CPE CONSULTA
FORMA

ID. Servicio
Dominio
Recurso

Descripción del Recurso

Modelo Conceptual

Operación
Descripción

Usuario de la Información
Tipo de Información
Método HTTP
URL Pública

SLA
Propiedad
numPeticiones
tiempoRespuesta
disponibilidad

REQUEST

Request (URI)
Parámetros de Entrada
client_id

RequestHeader
Parámetros
Content-Type

Request (Body)
Parámetros de Entrada
grant_type
client_id
client_secret
username
password

Ejemplo Request
https://api-seguridad.sunat.gob.pe/v1/clientessol/d3ef6681-fabb-4547-8222-57ae174d5238/oauth2/token/
body
grant_type:password
client_idd3ef6681-fabb-4547-8222-57ae174d5238
client_secret:kDcRhKIQhDh3c3VucDpg5GQ/TpvB/7XynyhyBt+G2v
username:MODDATOS
password:MODDATOS

RESPONSE

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
access_token
token_type
expires_in

Ejemplo JSON Response


{
"access_token":
"eyJraWQiOiJhcGkuc3VuYXQuZ29iLnBlLmtpZDIwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIiLCJhdWQiOiJbe1wiYXBpXCI6
JcIjpcIjFcIixcImd0XCI6XCIxMDAxMDBcIn0se1wiaWRcIjpcIlwvdjFcL2NvbnRyb2xhZHVhbmVyb1wvZnVuY2lvbmFyaW9zYWR1YW5lcm9z
OiJOSTMxIiwiYXBlTWF0ZXJubyI6IlJBTU9TIiwibG9naW4iOiJMVklMQSIsIm5vbWJyZUNvbXBsZXRvIjoiVmlsYSBSYW1vcyBMdWlzIE1pZ3V
nJlbyI6InBydWViYXNAc3VuYXQuZ29iLnBlIiwidXN1YXJpb1NPTCI6IiIsImlkIjoiIiwiZGVzVU8iOiJESVZJU0nDk04gREUgVMOJQ05JQ0EgQUR
bWFwIjp7ImNvZFVPVmlzIjoiM0swNDAlIiwiaW5kQWR1YW5hIjpudWxsLCJjb2RBbnRlIjpudWxsLCJuaXZlbF9mdW5jIjpudWxsLCJyb2xlcy
0ZS04ZWFhLWNjN2U3N2IwNzQwMyIsImlzcyI6Imh0dHBzOlwvXC9hcGktc2VndXJpZGFkLnN1bmF0LmdvYi5wZVwvdjFcL2NsaWVudGV
CIiLCJcIkRSQVdCQUNLLUVTUEVDLkNPQUNUSVZPXCIiLCJcIkRSQVdCQUNLLUVTUEVDLk5PUk1BVElWT1wiIiwiXCJEUkFXQkFDSy1KRUZF
S1FU1BFQ0lBTElTVEEtRklTQ0FcIiIsIlwiQURVQU5BLUpFRkUtR1JVUE9cIiIsIlwiQURVQU5BLUZVTkNJT05BLURFU1BBQ0hPXCIiLCJcIlNEQS
TQk9SRE9cIiIsIlwiU0RBX0NPTlNVTFRBX1RSQU5TQk9SRE9cIiIsIlwiU0RBLUZVTkNJT05BLUpUUkFOU0JPUkRPXCIiLCJcIkNPTlNVTFRBLUF
tRVZBTFVBRE9SXCIiLCJcIkRSQVdCQUNLV0VCLUFCT05PLUNIRVFVRVwiIiwiXCJEUkFXQkFDS1dFQi1TVVBFUlZJU09SXCIiLCJcIkRSQVdCQ
T05TXCIiLCJcIkRSQVdCQUNLV0VCLUNPTlNVTFRBU1wiIiwiXCJEUkFXQkFDS1dFQi1DT05TVUxUQVMtTk9SXCIiLCJcIkJQTS1GVU5DSU9O
UQVwiIiwiXCJTREEtU0FMSURBX1NVUEVSVklTT1JcIl0iXSwiZXhwIjoxNTY2OTIxNTIzLCJncmFudFR5cGUiOiJhdXRob3JpemF0aW9uX3Rva
YMKoL6qNPRCNIoZX56szjhCD9-tHAWo4oh0JwhBlLwzluh1K7ZumVT--VRNCzx7jjLw0aiaBsZ71UuvhWsqL3rJPJ7qQo6jZdmvUyFqcRRd_
vQQHXsgagJw0CvzlaHs92_Dg",
"token_type": "JWT",
"expires_in": 3600
}
"access_token":
"eyJraWQiOiJhcGkuc3VuYXQuZ29iLnBlLmtpZDIwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIiLCJhdWQiOiJbe1wiYXBpXCI6
JcIjpcIjFcIixcImd0XCI6XCIxMDAxMDBcIn0se1wiaWRcIjpcIlwvdjFcL2NvbnRyb2xhZHVhbmVyb1wvZnVuY2lvbmFyaW9zYWR1YW5lcm9z
OiJOSTMxIiwiYXBlTWF0ZXJubyI6IlJBTU9TIiwibG9naW4iOiJMVklMQSIsIm5vbWJyZUNvbXBsZXRvIjoiVmlsYSBSYW1vcyBMdWlzIE1pZ3V
nJlbyI6InBydWViYXNAc3VuYXQuZ29iLnBlIiwidXN1YXJpb1NPTCI6IiIsImlkIjoiIiwiZGVzVU8iOiJESVZJU0nDk04gREUgVMOJQ05JQ0EgQUR
bWFwIjp7ImNvZFVPVmlzIjoiM0swNDAlIiwiaW5kQWR1YW5hIjpudWxsLCJjb2RBbnRlIjpudWxsLCJuaXZlbF9mdW5jIjpudWxsLCJyb2xlcy
0ZS04ZWFhLWNjN2U3N2IwNzQwMyIsImlzcyI6Imh0dHBzOlwvXC9hcGktc2VndXJpZGFkLnN1bmF0LmdvYi5wZVwvdjFcL2NsaWVudGV
CIiLCJcIkRSQVdCQUNLLUVTUEVDLkNPQUNUSVZPXCIiLCJcIkRSQVdCQUNLLUVTUEVDLk5PUk1BVElWT1wiIiwiXCJEUkFXQkFDSy1KRUZF
S1FU1BFQ0lBTElTVEEtRklTQ0FcIiIsIlwiQURVQU5BLUpFRkUtR1JVUE9cIiIsIlwiQURVQU5BLUZVTkNJT05BLURFU1BBQ0hPXCIiLCJcIlNEQS
TQk9SRE9cIiIsIlwiU0RBX0NPTlNVTFRBX1RSQU5TQk9SRE9cIiIsIlwiU0RBLUZVTkNJT05BLUpUUkFOU0JPUkRPXCIiLCJcIkNPTlNVTFRBLUF
tRVZBTFVBRE9SXCIiLCJcIkRSQVdCQUNLV0VCLUFCT05PLUNIRVFVRVwiIiwiXCJEUkFXQkFDS1dFQi1TVVBFUlZJU09SXCIiLCJcIkRSQVdCQ
T05TXCIiLCJcIkRSQVdCQUNLV0VCLUNPTlNVTFRBU1wiIiwiXCJEUkFXQkFDS1dFQi1DT05TVUxUQVMtTk9SXCIiLCJcIkJQTS1GVU5DSU9O
UQVwiIiwiXCJTREEtU0FMSURBX1NVUEVSVklTT1JcIl0iXSwiZXhwIjoxNTY2OTIxNTIzLCJncmFudFR5cGUiOiJhdXRob3JpemF0aW9uX3Rva
YMKoL6qNPRCNIoZX56szjhCD9-tHAWo4oh0JwhBlLwzluh1K7ZumVT--VRNCzx7jjLw0aiaBsZ71UuvhWsqL3rJPJ7qQo6jZdmvUyFqcRRd_
vQQHXsgagJw0CvzlaHs92_Dg",
"token_type": "JWT",
"expires_in": 3600
}

FORMATO DE MENSAJE DE ERROR

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
error_description
error

Caso 1: Cuando el grant_type es diferente a 'authorization_code' o 'password' o es null


1. JSON Response
{
"error_description": "grant_type no valido",
"error": "invalid_grant"
}

Caso2: Cuando client_id de la URL es diferente al del body.


Caso3: si client_id es null o client_secret es null

2. JSON Response
{
"error_description": "parametros invalidos",
"error": "invalid_request"
}
{
"error_description": "parametros invalidos",
"error": "invalid_request"
}

Caso 4: Cuando el client_id o secret no está registrada en la base de datos.


3. JSON Response
{
"error_description": "cliente no autorizado",
"error": "unauthorized_client"
}

Tabla de códigos de error (Validaciones del Negocio)


Descripción
Bad request.
FORMATO DE ESPECIFICACION DE SERVICIO REST

S-REST-01
API SEGURIDAD
Token
Obtener token de autenticación.

Modelo Conceptual

#REF!
Obtener token de autenticación.

Contribuyentes
Información de uso restringido por Aplicación
POST
https://api-seguridad.sunat.gob.pe/v1/clientessol/{client_id}/oauth2/token/

SLA
Descripción Valor
Numero de Peticiones concurrentes
Tiempo de Respuesta
disponibilidad NO APLICA

Tipo dato Formato


String String

valor
application/json

Tipo dato Formato


String String
String String
String String
String String
String String

8222-57ae174d5238/oauth2/token/
valor
200 OK
application/json

Tipo dato Formato


String
String
Int

IlJTMjU2In0.eyJzdWIiOiIiLCJhdWQiOiJbe1wiYXBpXCI6XCJodHRwczpcL1wvYXBpLnN1bmF0LmdvYi5wZVwiLFwicmVjdXJzb1wiOlt7XCJpZFwiOlwiXC92MVw
ZHVhbmVyb1wvZnVuY2lvbmFyaW9zYWR1YW5lcm9zXCIsXCJpbmRpY2Fkb3JcIjpcIjFcIixcImd0XCI6XCIxMDAxMDBcIn1dfV0iLCJ1c2VyZGF0YSI6eyJudW1SV
ZUNvbXBsZXRvIjoiVmlsYSBSYW1vcyBMdWlzIE1pZ3VlbCIsIm5vbWJyZXMiOiJMVUlTIE1JR1VFTCIsImNvZERlcGVuZCI6IjAwODUiLCJjb2RUT3BlQ29tZXIiOiIiLC
GVzVU8iOiJESVZJU0nDk04gREUgVMOJQ05JQ0EgQURVQU5FUkEgLSBJQSBQQUlUQSIsImRlc0NhdGUiOiJDT05UUkFUTyBBRE1JTklTVFJBVElWTyBERSBTRVJ
bnRlIjpudWxsLCJuaXZlbF9mdW5jIjpudWxsLCJyb2xlcyI6e30sImlkTWVudSI6IjIyMzkwOTU4MjYwMTUiLCJ0aXBPcmlnZW4iOiJJQSIsInRpcFBlcnMiOm51bGx9
JpZGFkLnN1bmF0LmdvYi5wZVwvdjFcL2NsaWVudGVzc3VuYXRcLzJjNmU2YzI5LWY3YzItNDQ0ZS04ZWFhLWNjN2U3N2IwNzQwM1wvb2F1dGgyXC90b2tlb
EVDLk5PUk1BVElWT1wiIiwiXCJEUkFXQkFDSy1KRUZFIENPTlRST0xcIiIsIlwiQURVQU5BLU9GSUNJQUxcIiIsIlwiQURVQU5BLU9GSUNJQUwtU1VQRVJWSVNP
VQU5BLUZVTkNJT05BLURFU1BBQ0hPXCIiLCJcIlNEQS1NQU5JRklFU1RPLUZVTkNJT05BUklcIiIsIlwiQURVQU5BLURSQVdCQUNLLU1BTkNBVFwiIiwiXCJBRFV
T05BLUpUUkFOU0JPUkRPXCIiLCJcIkNPTlNVTFRBLUFCT05PLURSQVdCQUNLXCIiLCJcIkRSQVdCQUNLLVJFQ0VQQ0lPTlwiIiwiXCJEUkFXQkFDSy1DT05TVUxU
kFXQkFDS1dFQi1TVVBFUlZJU09SXCIiLCJcIkRSQVdCQUNLV0VCLUpFRkFUVVJBXCIiLCJcIkRSQVdCQUNLV0VCLU5PUk1BVElWTy1SRUNcIiIsIlwiRFJBV0JBQ0t
1DT05TVUxUQVMtTk9SXCIiLCJcIkJQTS1GVU5DSU9OQVJJT19TUlwiIiwiXCJCUE0tQURNSU5JU1RSQURPUl9TUlwiIiwiXCJQUlVFQkFTIEdBUkFOVElBXCIiLCJc
zLCJncmFudFR5cGUiOiJhdXRob3JpemF0aW9uX3Rva2VuIiwiaWF0IjoxNTY2OTE3OTIzfQ.peFHxg7rx2tv3cXhHP1QNDTqt55KwDFcYz22DKGpbtnnVACuEem
Lw0aiaBsZ71UuvhWsqL3rJPJ7qQo6jZdmvUyFqcRRd_i6DQ4YJp1gwQ2bw_8QYjW_USGTDivxtYBg_RLkFtQPy-u_rdHaQj2uDWQkzog7SuIP0Dl0LCLV18ovIA
IlJTMjU2In0.eyJzdWIiOiIiLCJhdWQiOiJbe1wiYXBpXCI6XCJodHRwczpcL1wvYXBpLnN1bmF0LmdvYi5wZVwiLFwicmVjdXJzb1wiOlt7XCJpZFwiOlwiXC92MVw
ZHVhbmVyb1wvZnVuY2lvbmFyaW9zYWR1YW5lcm9zXCIsXCJpbmRpY2Fkb3JcIjpcIjFcIixcImd0XCI6XCIxMDAxMDBcIn1dfV0iLCJ1c2VyZGF0YSI6eyJudW1SV
ZUNvbXBsZXRvIjoiVmlsYSBSYW1vcyBMdWlzIE1pZ3VlbCIsIm5vbWJyZXMiOiJMVUlTIE1JR1VFTCIsImNvZERlcGVuZCI6IjAwODUiLCJjb2RUT3BlQ29tZXIiOiIiLC
GVzVU8iOiJESVZJU0nDk04gREUgVMOJQ05JQ0EgQURVQU5FUkEgLSBJQSBQQUlUQSIsImRlc0NhdGUiOiJDT05UUkFUTyBBRE1JTklTVFJBVElWTyBERSBTRVJ
bnRlIjpudWxsLCJuaXZlbF9mdW5jIjpudWxsLCJyb2xlcyI6e30sImlkTWVudSI6IjIyMzkwOTU4MjYwMTUiLCJ0aXBPcmlnZW4iOiJJQSIsInRpcFBlcnMiOm51bGx9
JpZGFkLnN1bmF0LmdvYi5wZVwvdjFcL2NsaWVudGVzc3VuYXRcLzJjNmU2YzI5LWY3YzItNDQ0ZS04ZWFhLWNjN2U3N2IwNzQwM1wvb2F1dGgyXC90b2tlb
EVDLk5PUk1BVElWT1wiIiwiXCJEUkFXQkFDSy1KRUZFIENPTlRST0xcIiIsIlwiQURVQU5BLU9GSUNJQUxcIiIsIlwiQURVQU5BLU9GSUNJQUwtU1VQRVJWSVNP
VQU5BLUZVTkNJT05BLURFU1BBQ0hPXCIiLCJcIlNEQS1NQU5JRklFU1RPLUZVTkNJT05BUklcIiIsIlwiQURVQU5BLURSQVdCQUNLLU1BTkNBVFwiIiwiXCJBRFV
T05BLUpUUkFOU0JPUkRPXCIiLCJcIkNPTlNVTFRBLUFCT05PLURSQVdCQUNLXCIiLCJcIkRSQVdCQUNLLVJFQ0VQQ0lPTlwiIiwiXCJEUkFXQkFDSy1DT05TVUxU
kFXQkFDS1dFQi1TVVBFUlZJU09SXCIiLCJcIkRSQVdCQUNLV0VCLUpFRkFUVVJBXCIiLCJcIkRSQVdCQUNLV0VCLU5PUk1BVElWTy1SRUNcIiIsIlwiRFJBV0JBQ0t
1DT05TVUxUQVMtTk9SXCIiLCJcIkJQTS1GVU5DSU9OQVJJT19TUlwiIiwiXCJCUE0tQURNSU5JU1RSQURPUl9TUlwiIiwiXCJQUlVFQkFTIEdBUkFOVElBXCIiLCJc
zLCJncmFudFR5cGUiOiJhdXRob3JpemF0aW9uX3Rva2VuIiwiaWF0IjoxNTY2OTE3OTIzfQ.peFHxg7rx2tv3cXhHP1QNDTqt55KwDFcYz22DKGpbtnnVACuEem
Lw0aiaBsZ71UuvhWsqL3rJPJ7qQo6jZdmvUyFqcRRd_i6DQ4YJp1gwQ2bw_8QYjW_USGTDivxtYBg_RLkFtQPy-u_rdHaQj2uDWQkzog7SuIP0Dl0LCLV18ovIA

valor
Revisar la Tabla de códigos de error
application/json

Tipo dato Formato


String
String
nes del Negocio)
Código Mensaje
400 Se muestra en los casos 1,2,3,4
Descripcion
Credenciales (client_id) del API Seguridad.

Descripcion
Grant type del API Seguridad, debe tener el valor "authorization_code" o "password" el cual son los flujos que se implementaron.
Client_Id de la API Seguridad.
Client_secret de la API Seguridad.
Usuario que generara el token EE o PSE
Password del usuario que genera el token
Descripcion
Token de Autenticación.
Tipo de token generado, debería ser JWT.
Tiempo de expiración del token.

jdXJzb1wiOlt7XCJpZFwiOlwiXC92MVwvY29udHJvbGFkdWFuZXJvXC9kZWNsYXJhY2lvbmVzXCIsXCJpbmRpY2Fkb3
n1dfV0iLCJ1c2VyZGF0YSI6eyJudW1SVUMiOiIiLCJ0aWNrZXQiOiIyMjM5MDk1ODI2MDE1IiwibnJvUmVnaXN0cm8i
6IjAwODUiLCJjb2RUT3BlQ29tZXIiOiIiLCJjb2RDYXRlIjoiWDEiLCJuaXZlbFVPIjo0LCJjb2RVTyI6IjNLMDQwMCIsImNvc
UTyBBRE1JTklTVFJBVElWTyBERSBTRVJWSUNJT1MiLCJhcGVQYXRlcm5vIjoiVklMQSIsImlkQ2VsdWxhciI6bnVsbCwi
nZW4iOiJJQSIsInRpcFBlcnMiOm51bGx9fSwibmJmIjoxNTY2OTE3OTIzLCJjbGllbnRJZCI6IjJjNmU2YzI5LWY3YzItNDQ
3N2IwNzQwM1wvb2F1dGgyXC90b2tlblwvIiwicHJvZmlsZXMiOlsiW1wiRFJBV0JBQ0stRVNQRUMuT1BFUkFUSVZPX
QU5BLU9GSUNJQUwtU1VQRVJWSVNPUlwiIiwiXCJBRFVBTkEtRVNQRUNJQUxJU1RBLVJFQ0FVXCIiLCJcIkFEVUFOQ
QVdCQUNLLU1BTkNBVFwiIiwiXCJBRFVBTkEtRFJBV0JBQ0stQ09OU1VMVEFcIiIsIlwiU0RBX0ZVTkNJT05BX1RSQU5
PTlwiIiwiXCJEUkFXQkFDSy1DT05TVUxUQVwiIiwiXCJEUkFXQkFDS1dFQi1SRUNFUENJT05cIiIsIlwiRFJBV0JBQ0tXRUI
k1BVElWTy1SRUNcIiIsIlwiRFJBV0JBQ0tXRUItTk9STUFUSVZPLUZJU1wiIiwiXCJBRFVBTkEtRlVOQ0lPTkEtTUFOSUZD
iXCJQUlVFQkFTIEdBUkFOVElBXCIiLCJcIlNEQS1TQUxJREFfRlVOQ0lPTkFSSU9cIiIsIlwiU0RBLVNBTElEQV9DT05TVUx
DTqt55KwDFcYz22DKGpbtnnVACuEemnj4wvW7QLkXUo5CcIQlsmALttyundwEYxpuBzonlOdX-
aQj2uDWQkzog7SuIP0Dl0LCLV18ovIAeXdm9g78grrHyIAjMhkWbq5wAiPyPSad3A-
jdXJzb1wiOlt7XCJpZFwiOlwiXC92MVwvY29udHJvbGFkdWFuZXJvXC9kZWNsYXJhY2lvbmVzXCIsXCJpbmRpY2Fkb3
n1dfV0iLCJ1c2VyZGF0YSI6eyJudW1SVUMiOiIiLCJ0aWNrZXQiOiIyMjM5MDk1ODI2MDE1IiwibnJvUmVnaXN0cm8i
6IjAwODUiLCJjb2RUT3BlQ29tZXIiOiIiLCJjb2RDYXRlIjoiWDEiLCJuaXZlbFVPIjo0LCJjb2RVTyI6IjNLMDQwMCIsImNvc
UTyBBRE1JTklTVFJBVElWTyBERSBTRVJWSUNJT1MiLCJhcGVQYXRlcm5vIjoiVklMQSIsImlkQ2VsdWxhciI6bnVsbCwi
nZW4iOiJJQSIsInRpcFBlcnMiOm51bGx9fSwibmJmIjoxNTY2OTE3OTIzLCJjbGllbnRJZCI6IjJjNmU2YzI5LWY3YzItNDQ
3N2IwNzQwM1wvb2F1dGgyXC90b2tlblwvIiwicHJvZmlsZXMiOlsiW1wiRFJBV0JBQ0stRVNQRUMuT1BFUkFUSVZPX
QU5BLU9GSUNJQUwtU1VQRVJWSVNPUlwiIiwiXCJBRFVBTkEtRVNQRUNJQUxJU1RBLVJFQ0FVXCIiLCJcIkFEVUFOQ
QVdCQUNLLU1BTkNBVFwiIiwiXCJBRFVBTkEtRFJBV0JBQ0stQ09OU1VMVEFcIiIsIlwiU0RBX0ZVTkNJT05BX1RSQU5
PTlwiIiwiXCJEUkFXQkFDSy1DT05TVUxUQVwiIiwiXCJEUkFXQkFDS1dFQi1SRUNFUENJT05cIiIsIlwiRFJBV0JBQ0tXRUI
k1BVElWTy1SRUNcIiIsIlwiRFJBV0JBQ0tXRUItTk9STUFUSVZPLUZJU1wiIiwiXCJBRFVBTkEtRlVOQ0lPTkEtTUFOSUZD
iXCJQUlVFQkFTIEdBUkFOVElBXCIiLCJcIlNEQS1TQUxJREFfRlVOQ0lPTkFSSU9cIiIsIlwiU0RBLVNBTElEQV9DT05TVUx
DTqt55KwDFcYz22DKGpbtnnVACuEemnj4wvW7QLkXUo5CcIQlsmALttyundwEYxpuBzonlOdX-
aQj2uDWQkzog7SuIP0Dl0LCLV18ovIAeXdm9g78grrHyIAjMhkWbq5wAiPyPSad3A-

Descripcion
Detalle del error.
Mensaje de error OAUTH2.
Mensaje
l cual son los flujos que se implementaron.
FORMA

ID. Servicio
Dominio
Recurso

Descripción del Recurso

Modelo Conceptual

Operación
Descripción

Usuario de la Información
Tipo de Información
Método HTTP
URL Pública

SLA
Propiedad
numPeticiones
tiempoRespuesta
disponibilidad

REQUEST

Request (URI)
Parámetros de Entrada

Request (AUTORIZATION)
Parámetros de Entrada
Bearer token

RequestHeader
Parámetros
Tipo : Content-Type:application/json
numRuc
codUsuario

Request (Body)
Parámetros de Entrada
Tipo : raw/JSON
Trama JSON

Ejemplo Request
body
{
"nombreArchivo":"20602559760-14-S001-307892.zip",
"archivo":"UEsDBBQAAAAIAK2QUFJDpMCKgxIAACorAAAeAAAAMjA2MDI1NTk3NjAtMTQtUzAwMS0zMDc4OTIueG1s3RpXkupG8J9T
d4TjxovDLD43MzXHWW2DNty3bO1GRHXBodNS5O5ZOcNzGm8E6xo2jiQm4GtMYq5EObHqW1NpbDjtjRrnw1xrLWmuwo/FB49gT+SiO
Wh3ev22llDqY3EppWsJzJj+UptNj546ULorRZ21Eg2cW1vVVBH1Rl27E0lsT62oqEybLBm0J0GG8nrRPSkV2sqj7vtpB+EpvWxcHYMr5hnlM
PYIm541d6nu8xIZnBWqvi8pj5cvtNamfbnuWccz4D39C2epDzYw10sp1PYh7mFc04I5YqIYYP2MibwcPfVuw+TIPCEUsh+j0vtD+XXXgalGN
yw1eNZvuxTtU7f8FZUQJhpm0bmkpyXr6FyZ6VXj10uy24xSj4v+Lyd8NAH6CmqZ6/g71IVTQDEPhvx+EtT2vmXotA+1K/ckgHBXrVeiqIhW+
8Zl75BcLWI21t+lng7/Oc8fEF/yUcI/4DP6RwFjK74rxnB6bKIvgKg4o+/3uNFPHF6TfCa2Z9S6BlqEZD3I2Bedhbg19tMepZGFyQb/qyoXI3VLP
i3VQSHFw7sU4sWKvtOmmU4ZhBtcZ5+NVcYlxOmK9oHjN488cpV8zqd0oVXz++RXzlDovEM8sLzn/usLUTkP4/
A1QSwECPwAUAAAACACtkFBSQ6TAioMSAAAqKwAAHgAkAAAAAAAAACAAAAAAAAAAMjA2MDI1NTk3NjAtMTQtUzAwMS0zMDc4OT
}

RESPONSE

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
Tipo : Json
Trama JSON

Caso 1: Cuando se envia un tipo de comprobante 14,36,07,08


ValEstado 0 : CDR - OK

> Validaciones por Comprobante


Con Errores mayores a 1000
* No pueden Reenviarse
Ejemplo JSON Response
200 HTTP
Content-Type: application/json
{
"numTicket": "78459ef0-3b4e-42d2-9cab-5509790d2b43",
"cdr": "UEsDBBQACAgIAONUnhtbFBLBQYAAAAAAQABAE4AAAAiCQAAAAA=",
"valEstado": "0",
"codError": "",
"desError": "",
"lstObservacion": []
}

Caso 2: Cuando se envia un tipo de comprobante 14,36,07,08


ValEstado 1 : CDR - OBS [4000- Más>

> Validaciones por Comprobante


Con Errores mayores a 1000
* No pueden Reenviarse
Ejemplo JSON Response
200 HTTP
Content-Type: application/json
{
"numTicket": "c6b55f28-f7c0-49c5-b3ab-e0ed4dc7ffb7",
"cdr": "UEsDBBQACAQAAAAA=",
"valEstado": "1",
"codError": "",
"desError": "",
"lstObservacion": [
{
"codigo": "4095",
"descripcion": "INFO: 4095 "
]
}

Caso 3: Cuando se envia un tipo de comprobante 14,36,07,08


ValEstado 100 : CDR - ERR [2000-4000]

> Validaciones por Comprobante


Con Errores mayores a 1000

* No pueden Reenviarse
Ejemplo JSON Response
200 HTTP
Content-Type: application/json
{
"numTicket": "1b4cd1b4-f81b-4499-b2fa-7ff680e7f96f",
"cdr": "UEsDBBQACAgIACQAAAAA=",
"valEstado": "100",
"codError": "3114",
"desError": "INFO : 3114",
"lstObservacion": []
}

Caso 4: Cuando se envia un tipo de comprobante ANULACION


ValEstado 0 : CDR - OK
ValEstado 1 : CDR - Observaciones
> Validaciones por Comprobante
Ejemplo JSON Response
200 HTTP
Content-Type: application/json
{
"numTicket":"123e4567-e89b-12d3-a456-426655440000",
"valEstado":"0",
"codError":"0",
"desError":"-"
"cdr":"UEsDBBQAAAAAAAAAAAA..."
"lstObservacion": []
}
"numTicket":"123e4567-e89b-12d3-a456-426655440000",
"valEstado":"0",
"codError":"0",
"desError":"-"
"cdr":"UEsDBBQAAAAAAAAAAAA..."
"lstObservacion": []
}

FORMATO DE MENSAJE DE ERROR

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
error_description
error

Caso 1: Cuando se produce un error del servidor al interno comprobantes 14,36,07,08,


ANULACIONES

Caida del servicio


1. JSON Response
500 HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"cod":"500",
"msg":"Internal Server Error - Se presento una condicion inesperada que impidio completar el Request",
"exc":"java.lang.NullPointerException at ..."
}

Caso 2: Cuando se produce un error de negocio comprobantes 14,36,07,08

Errores considerados como "Excepciones" (no se pueden procesar).


No generan CDR
* Pueden Reenviarse

> Validaciones Generales (Todas )


> Validaciones por Comprobante (Indicadas como excepciones )
* Pueden reenviarse

2. JSON Response
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"cod":"422",
"msg":"Unprocessable Entity - Se presentaron errores de validacion que impidieron completar el Request",
"errors":[{
"cod":"XXXXX",
"msg":"El ruc 1234 no es valido",
},
{
"cod":"YYYYY",
"msg":"La sumatoria de los montos 3456.00 no coinciden con el total 3457.00",
}]
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"cod":"422",
"msg":"Unprocessable Entity - Se presentaron errores de validacion que impidieron completar el Request",
"errors":[{
"cod":"XXXXX",
"msg":"El ruc 1234 no es valido",
},
{
"cod":"YYYYY",
"msg":"La sumatoria de los montos 3456.00 no coinciden con el total 3457.00",
}]
}

Caso 3: Cuando se produce un error de negocio comprobante ANULACION


Errores y excepciones (se rechaza el envío).
No generan CDR
* Pueden reenviarse
> Validaciones Generales (Todas )
> Validaciones por Comprobante (Indicadas como excepciones y errores)
2. JSON Response
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"cod":"422",
"msg":"Unprocessable Entity - Se presentaron errores de validacion que impidieron completar el Request",
"errors":[{
"cod":"XXXXX",
"msg":"El ruc 1234 no es valido",
},
{
"cod":"YYYYY",
"msg":"La sumatoria de los montos 3456.00 no coinciden con el total 3457.00",
}]
}

Tabla de códigos de error (Validaciones del Negocio)


Descripción
Bad request.
Error de Envio
Envio Correcto
FORMATO DE ESPECIFICACION DE SERVICIO REST

S-REST-02
API - CPE
ENVIOS
REGISTRAR UN CPE SSPP - REST

Modelo Conceptual

ENVIOSSPP
Registrar un CPE SSPP mediante un envio del tipo comprobantes 14,36,07,08 y ANULACIONES

Contribuyentes
Información de uso restringido por Aplicación
POST
https://api-cpe.sunat.gob.pe/v1/contribuyente/registro/e/enviossp

SLA
Descripción Valor
Numero de Peticiones concurrentes
Tiempo de Respuesta NO APLICA
disponibilidad

Tipo dato Formato

Tipo dato Formato


token

Tipo dato Formato

String String
String String

Tipo dato Formato

String String
NjAtMTQtUzAwMS0zMDc4OTIueG1s3RpXkupG8J9T4Ofy13oXSYSFV04aBRAggSLBdrmENEgCBVBAwG18AF/An/bF3BJL2OT8Y796u6Xp6dw93RP2i6/3gV/
MYq5EObHqW1NpbDjtjRrnw1xrLWmuwo/FB49gT+SiO8Q7sDO0V1jlUj+I0EtEVVvz/
bLBm0J0GG8nrRPSkV2sqj7vtpB+EpvWxcHYMr5hnlMuzyNX600p6YfgZ/6JHqd5reBGxP5QD89fd19Xrb7v9ih3FByh66eEJWH4LNjC/vEJemUHzIahms/
4I5YqIYYP2MibwcPfVuw+TIPCEUsh+j0vtD+XXXgalGNPQS6BBw98vqNlmA3vK+NaePxuLavksjIu0bn34B4EZYujcHEyWUgtSBTuwXuIS83msThtl6MHVMafoV
/g71IVTQDEPhvx+EtT2vmXotA+1K/ckgHBXrVeiqIhW+hWkI2dh4eTwX8inVlomaL9DkfE7aR7/Eqd+dXZlfUf6oGA/0Crr9urCv/EOKmdJIEcVlNt7VL6BrXanVV4
Ca2Z9S6BlqEZD3I2Bedhbg19tMepZGFyQb/qyoXI3VLPTSIk2+/DCfg/Qn2a8R/+UwFwUAyhM45+VOgvbLfpdCEJjiZFjUkwL1bFTx/ee8d0W8Jb2sC4K8wbtdLX
XzlDovEM8sLzn/usLUTkP4/
AAAAAMjA2MDI1NTk3NjAtMTQtUzAwMS0zMDc4OTIueG1sCgAgAAAAAAABABgAY3BuNbgE1wHI3p0pgiLXAYCE9uy9A9cBUEsFBgAAAAABAAEAcAAAAL8

valor
200 OK
application/json

Tipo dato Formato

String String
valor
Revisar la Tabla de códigos de error
application/json

Tipo dato Formato


String
String

,07,08,

dio completar el Request",

dieron completar el Request",

457.00",
dieron completar el Request",

457.00",

dieron completar el Request",

457.00",

nes del Negocio)


Código Mensaje
500
422
200
Descripcion

Descripcion
Token obtenido

Descripcion

numero de Ruc del Remitente ( quien envia el comprobante EE ó PSE )


codigo Usuario del Remitente

Descripcion

String con los el comprobantes de Pago


3BJL2OT8Y796u6Xp6dw93RP2i6/3gV/

6eEJWH4LNjC/vEJemUHzIahms/
WUgtSBTuwXuIS83msThtl6MHVMafoVVUZPgXuNdGT9NcyrvDT4I89cp09lZZ/7C/
rr9urCv/EOKmdJIEcVlNt7VL6BrXanVV41KsDVq7SL2t4C/F1F5rUnvto9oL3xfDMpCwU4R9QXy4DcrQC/Glp/
UkwL1bFTx/ee8d0W8Jb2sC4K8wbtdLX+kRe0t7f//papwFY6tYn9BtksvX0DPly4ONoW7FGwmUVg6lQTk96f/

uy9A9cBUEsFBgAAAAABAAEAcAAAAL8SAAAAAA=="

Descripcion

String con los el comprobantes de Pago


Descripcion
Mensaje
FORMA

ID. Servicio
Dominio
Recurso

Descripción del Recurso

Modelo Conceptual

Operación
Descripción

Usuario de la Información
Tipo de Información
Método HTTP
URL Pública

SLA
Propiedad
numPeticiones
tiempoRespuesta
disponibilidad

REQUEST

Request (URI)
Parámetros de Entrada
/{RUC-TC-SERIE-NUMERO}/

RequestHeader
Parámetros

Request (AUTORIZATION)
Parámetros de Entrada
Bearer token

Request (Body)
Parámetros de Entrada

Ejemplo Request
body
RESPONSE

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
Tipo : Json
Trama JSON

Caso 1: Cuando se encuentra el comprobante y CDR

https://api-cpe.sunat.gob.pe/v1/contribuyente/enviossp/20510944764-07-SB98-00019/estados
Ejemplo JSON Response
200 HTTP
Content-Type: application/json
{
"codEstado": "0",
"cdr": "UEsDBBQACAgIAONUjlIAAAAAAAAAAAAAAAAgAAAAUi0yMDYwMjU1OTc2MC0xNC1TMDAxLTMwNzg5Mi54bWydWNmSo
}

FORMATO DE MENSAJE DE ERROR

Response Header
Parámetros
HTTP status
Content-Type

Response Body
Parámetros de Salida
error_description
error

Caso 1: Cuando se produce un error del servidor al interno


Caida del servicio

1. JSON Response
500 HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"cod":"500",
"msg":"Internal Server Error - Se presento una condicion inesperada que impidio completar el Request",
"exc":"java.lang.NullPointerException at ..."
}
500 HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"cod":"500",
"msg":"Internal Server Error - Se presento una condicion inesperada que impidio completar el Request",
"exc":"java.lang.NullPointerException at ..."
}

Caso 2: Cuando se produce un error cuando no esta el archivo

2. JSON Response
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"cod": "422",
"msg": "Unprocessable Entity - Se presentaron errores de validacion que impidieron completar el Request",
"errors": [
{
"codError": "0127",
"desError": "El documento consultado no existe."
}
]
}

Tabla de códigos de error (Validaciones del Negocio)


Descripción
Bad request.
Error de Solicitud
Solicitud correcta con datos
FORMATO DE ESPECIFICACION DE SERVICIO REST

S-REST-03
API - CPE
CONSULTA ESTADO/CDR
CONSULTAR POR CDR

Modelo Conceptual

CONSULTA ESTADO
Consulta el estado de un envio para recuperar la CDR

Contribuyentes
Información de uso restringido por Aplicación
GET
https://api-cpe.sunat.gob.pe/v1/contribuyente/enviossp/{ruc-tc-serie-numero}/estados

SLA
Descripción Valor
Numero de Peticiones concurrentes
Tiempo de Respuesta NO APLICA
disponibilidad

Tipo dato Formato


string

Tipo dato Formato

Tipo dato Formato


token

Tipo dato Formato


valor
200 OK
application/json

Tipo dato Formato

String String

07-SB98-00019/estados

OTc2MC0xNC1TMDAxLTMwNzg5Mi54bWydWNmSokoQfe7tbFBLBQYAAAAAAQABAE4AAAAiCQAAAAA="

valor
Revisar la Tabla de códigos de error
application/json

Tipo dato Formato


String
String

dio completar el Request",


dio completar el Request",

dieron completar el Request",

nes del Negocio)


Código Mensaje
500
422
200
Descripcion
Datos del comporbante a consultar /20510944764-07-SB98-00019/

Descripcion

Descripcion
Token obtenido

Descripcion
Descripcion

String con los el comprobantes de Pago

Descripcion
Mensaje

También podría gustarte