Skip to main content

Create Profile

Este endpoint permite almacenar la información de un usuario dentro del servicio, mediante el uso de un formulario de registro perteneciente a la compañia indicada.

La operación será éxitosa siempre y cuando se entreguen los campos requeridos por el formulario de registro y no exista un perfil asociado a los mismos identificadores.

Endpoint#

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer {{access_token}}access_token obtained in Atenea
Method: POST
URL: https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles

Query Params

Los filtros disponibles son los siguientes:

FieldDescription
fieldsString separado por comas que contiene los campos a visualizar en respuesta. Sólo se considerarán campos que se incluyan en el body de la request.
Valores permitidos: nin, origin, username, phone_number, email, name, lastname, birthday, nationality, timezone

Path Variables:

KeyValue ExampleDescription
company_id-1Identificador de la compañia, provisto por la empresa Trust. Obligatorio
caution

Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea.

Como obtener un access token

Body#

Fields#

  • register_type: Nombre del formulario de registro a utilizar para la creación del perfil. Obligatorio.
  • information_provider: Nombre del servicio proveedor de información encargado de realizar el registro del perfil. Obligatorio
  • profile: Llave utilizada para contener toda la información asociada al perfil a crear. Seleccionar los atributos indicados a continuación basándose en la lista de atributos permitidos del formulario utilizado.
    • nin: Identificador Único Nacional de la persona a registrar.
    • origin: Subdivisión interna de la compañia aplicada al perfil de usuario. Utilizar sólo si es estrictamente requerido.
    • username: Apodo o identificador personalizado creado por el usuario.
    • phone_number: Número de teléfono utilizado por el usuario para el contacto.
    • email: Correo electrónico utilizado por el usuario para el contacto
    • name: Nombre de pila del usuario.
    • lastname: Apellido o nombre de familia del usuario.
    • birthday: Fecha de nacimiento del usuario.
    • nationality: País de nacimiento del usuario. Utilizar norma ISO 3166-1 alpha 3 para indicar el país de origen.
    • timezone: Zona horaria utilizada por el usuario. Utilizar estándar de tiempo UTC.
  • options: Llave utilizada para añadir parámetros modificadores de la request para añadir o omitir acciones específicas al momento de crear el perfil del usuario.
    • active: Valor booleano que setea el estado inicial de acceso al usuario. Se indica si el usuario tiene permitido logearse, cambiar contraseña, aparecer en búsquedas, entre otras operaciones.

Body JSON Example#

{
"register_type": "nin_register",
"information_provider": "test_idp",
"profile": {
"nin": "123456789",
"username": "tlat",
"phone_number": "+56912345678",
"email": "tlat@email.com",
"origin": "test_idp",
"name": "trust",
"lastname": "latin",
"birthday": "12-03-4567",
"nationality": "CHL",
"timezone": "UTC"
},
"options": {
"active": false
}
}

Code Examples#

curl --location --request POST 'https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles?fields=email,name,nin,lastname,phone_number,origin' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"register_type": "nin_register",
"information_provider": "test_idp",
"profile": {
"nin": "123456789",
"username": "tlat",
"phone_number": "+56912345678",
"email": "tlat@email.com",
"origin": "test_idp",
"name": "trust",
"lastname": "latin",
"birthday": "12-03-4567",
"nationality": "CHL",
"timezone": "UTC"
},
"options": {
"active": false
}
}'

Responses#

HTTP Code: 201 Created#

Profile Created Successfully#

{
"code": 201,
"resource": "Profile",
"data": {
"uuid": "gggggggg-gggg-gggg-gggg-gggggggggggg",
"identification_provider": "trust"
},
"message": "Created"
}

Profile Created - New Profile Not Active#

{
"code": 201,
"resource": "Profile",
"data": {
"uuid": "gggggggg-gggg-gggg-gggg-gggggggggggg",
"nin": "123456789",
"phone_number": null,
"email": null,
"name": "trust",
"lastname": "latin",
"identification_provider": "trust"
},
"message": "Created"
}

HTTP Code: 400 Bad Request#

Missing Unique Field From Company Config#

{
"code": 400,
"resource": "Profile",
"message": "Bad request",
"errors": "Profile does not have the required identifiers to register under the company rules"
}

Missing Required Field From Register Type#

{
"code": 400,
"resource": "Profile",
"message": "Bad request",
"errors": "Profile does not have the required fields to register under the company rules"
}

Found Profile with same Identifiers#

{
"code": 400,
"resource": "Profile",
"message": "Bad request",
"errors": "Profile already present"
}

HTTP Code: 401 Unauthorized#

Unauthorized#

{
"status": 401,
"error": "Invalid or expired token"
}

HTTP Code: 403 Forbidden#

Forbidden#

{
"code": 403,
"message": "Forbidden"
}

HTTP Code: 404 Not Found#

Company Not Present#

{
"code": 404,
"resource": "Company Config",
"message": "Not found"
}

Register Type Not Present#

{
"code": 404,
"resource": "Register Type",
"message": "Not found"
}
Last updated on by Jesus Marquez