Skip to content

Endpoint Profile

Para obtener el perfil completo del usuario, utilice el endpoint a continuación.

URLs

MétodoURLAcciónDescripción
GET/api/profile/{clientId}?identity={identity}VisualizarMuestra el perfil completo del usuario por ID

Producción:

{security-producao}/api/profile/{clientId}?identity={identity}

Homologación:

{security-homologacao}/api/profile/{clientId}?identity={identity}

Parámetros

  • clientId: Obligatorio.
  • identity: Opcional si usa JWT en el header Authorization. Obligatorio si usa AccessToken en el header AccessToken.

Autenticación (Headers)

  • Con JWT: Authorization: Bearer <token>
  • Con AccessToken: AccessToken: <token>

Ejemplo de Solicitud con JWT

javascript
const response = await fetch(`{security-producao}/api/profile/${clientId}`, {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${jwtToken}`
  }
});

const profile = await response.json();

Ejemplo de Solicitud con AccessToken

javascript
const userId = '000001';
const response = await fetch(`{security-producao}/api/profile/${clientId}?identity=${userId}`, {
  method: 'GET',
  headers: {
    'AccessToken': accessToken
  }
});

const profile = await response.json();

Respuesta Esperada

json
{
  "header": {
    "codigo": 1,
    "msg": "Ok."
  },
  "data": {
    "fanId": "000001",
    "profilePic": "",
    "name1": "XXXXX",
    "name2": null,
    "socialName": "XXX",
    "cpf": "00000000001",
    "verifiedCpf": true,
    "otherdoc": null,
    "doctype": "CPF",
    "registertype": "standard",
    "lastupdate": "14/10/2025 10:58",
    "birthdate": "06/09/2000",
    "gender": "M",
    "emails": [
      {
        "value": "xxxxx@xxxx.com",
        "verified": true
      }
    ],
    "phones": [
      {
        "value": "+55 (11) 111111111",
        "verified": false
      }
    ],
    "address": {
      "street": "XXXXX",
      "city": "XXXXX",
      "state": "XXX",
      "country": "BR"
    },
    "optins": [
      {
        "optinName": "xxxxxxxx",
        "optinCode": "xxxxxxxx",
        "optinDate": "2025-10-14T10:58:26"
      }
    ]
  }
}

Estructura de la Respuesta

CampoTipoDescripción
codigonumberCódigo de estado de la respuesta
msgstringMensaje de estado

data

CampoTipoDescripción
fanIdstringID único del usuario
profilePicstringURL de la foto de perfil
name1stringPrimer nombre
name2string/nullApellido
socialNamestringNombre social
cpfstringCPF del usuario
verifiedCpfbooleanIndica si el CPF fue verificado
otherdocstring/nullOtro documento
doctypestringTipo de documento
registertypestringTipo de registro
lastupdatestringFecha de la última actualización
birthdatestringFecha de nacimiento
genderstringGénero (M/F)
emailsarrayLista de emails
phonesarrayLista de teléfonos
addressobjectDirección completa
optinsarrayLista de opt-ins del usuario

emails

CampoTipoDescripción
valuestringDirección de email
verifiedbooleanIndica si el email fue verificado

phones

CampoTipoDescripción
valuestringNúmero de teléfono
verifiedbooleanIndica si el teléfono fue verificado

address

CampoTipoDescripción
streetstringCalle y número
citystringCiudad
statestringEstado
countrystringPaís

optins

CampoTipoDescripción
optinNamestringNombre del opt-in
optinCodestringCódigo del opt-in
optinDatestringFecha del opt-in (ISO 8601)

Ejemplo Completo

javascript
async function obtenerPerfilCompleto(clientId, jwtToken) {
  try {
    const response = await fetch(`{security-producao}/api/profile/${clientId}`, {
      method: 'GET',
      headers: {
        'Authorization': `Bearer ${jwtToken}`
      }
    });

    if (!response.ok) {
      throw new Error(`Error ${response.status}: ${response.statusText}`);
    }

    const resultado = await response.json();
    
    if (resultado.header.codigo !== 1) {
      throw new Error(resultado.header.msg);
    }

    return resultado.data;
  } catch (error) {
    console.error('Error al obtener perfil:', error);
    throw error;
  }
}

Documentación de la API Fanbase