Gateway de la API de conversiones para la API de plano de control de varias cuentas: Referencia

Gestión de usuarios

Agregar usuario con rol

Agrega un nuevo usuario para una dirección de correo electrónico y un nombre de rol proporcionados.

Esquema

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation useAddUserAccountMutation(
  $addUserWithRoleInput: AddUserWithRoleInput!
) {
  userMutations {
    addUserWithRole(input: $addUserWithRoleInput) {
      userAlreadyExist
      invitationLink
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input AddUserWithRoleInput {
    email: String!
    roleName: String!
}
     

Campos

AddUserWithRoleInput

CampoDescripción

email
Cadena

Obligatorio

Correo electrónico del usuario

roleName
Cadena

Obligatorio
Nombre del rol del usuario (ver "Formatos de roles")


Resultado

AddUserResponse

CampoDescripción

userAlreadyExist
Booleano

Indica si el usuario ya existe

invitationLink
Cadena

Enlace para invitar al usuario

user
Usuario

Objeto del usuario


Códigos de error

CódigoDescripción

400

Entrada no válida proporcionada

401

No autorizado para agregar usuario

404

Nombre del rol no encontrado o incorrecto

409

El usuario ya existe en la cuenta

500

Error interno del servidor


Ejemplo de solicitud

Mutación

mutation useAddUserAccountMutation(
 $addUserWithRoleInput: AddUserWithRoleInput!
) {
 userMutations {
   addUserWithRole(input: $addUserWithRoleInput) {
     userAlreadyExist
     invitationLink
     user {
       id
       email
       status
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

Variables

{
   "addUserWithRoleInput": {
           "email": "tempUser1@testaccount.com",
           "roleName": "advertiser-manage-wW58k7FQ"
       }
}
     

Ejemplo de respuesta

{
   "data": {
       "userMutations": {
           "addUserWithRole": {
               "userAlreadyExist": false,
               "invitationLink": "http://localhost:8443/auth/verify/?token=0MGaMI_FRDe80OAgrSSdZw&et=inv&email=tempUser1@testaccount.com",
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "status": 2,
                   "roles": [
                       {
                           "name": "advertiser-manage-wW58k7FQ",
                           "displayName": "manage"
                       }
                   ]
               }
           }
       }
   }
}

Cambiar roles de usuario

Permite agregar y anular roles de usuario.

Esquema

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation UserAccessChangeMutation(
  $changeRoleForUserInput: ChangeRoleForUserInput!
) {
  userMutations {
    changeRoleForUser(input: $changeRoleForUserInput) {
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input ChangeRoleForUserInput {
    userId: String!
    roleToRevoke: String
    roleToAdd: String
}
     

Campos

ChangeRoleForUserInput

CampoDescripción

userId
Cadena

Obligatorio

Identificador único del usuario

roleToRevoke
Cadena

Opcional
Nombre del rol a eliminar del usuario (ver "Formatos de roles")

roleToAdd
Cadena

Opcional
Nombre del rol a agregar del usuario (ver "Formatos de roles")


Un usuario puede tener solo un conjunto de permisos por cuenta de anunciante/socio.


Resultado

ChangeRoleForUserResponse

CampoDescripción

user
Usuario

Objeto del usuario


Códigos de error

CódigoDescripción

400

Entrada no válida proporcionada

401

No autorizado para anular/agregar usuario

404

Identificador del usuario/nombre del rol no encontrado o incorrecto

500

Error interno del servidor


Ejemplo de solicitud

Mutación

mutation UserAccessChangeMutation(
 $changeRoleForUserInput: ChangeRoleForUserInput!
) {
 userMutations {
   changeRoleForUser(input: $changeRoleForUserInput) {
     user {
       id
       email
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

Variables

{
   "changeRoleForUserInput": {
           "userId": "97a9753d-a469-4f23-8aa7-748e4cf86877",
           "roleToRevoke": "advertiser-admin-wW58k7FQ",
           "roleToAdd": "agency-admin"
       }
}
     

Ejemplo de respuesta

{
   "data": {
       "userMutations": {
           "changeRoleForUser": {
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "roles": [
                       {
                           "name": "agency-admin",
                           "displayName": "admin"
                       }
                   ]
               }
           }
       }
   }
}
     

Generar y enviar invitación

Genera un enlace de invitación para usuarios nuevos. Además, si la función SMTP está habilitada, se enviará un correo electrónico a la dirección proporcionada. De lo contrario, solo se devuelve el resultado.

Esquema

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation ActivateElementMutation(
  $sendInvitationInput: SendInvitationInput!
) {
  userMutations {
    sendInvitation(input: $sendInvitationInput)
  }
}
_________________________________________________________________________________________________________    
input SendInvitationInput {
    email: String!
    tenantId: String
    userType: UserType!
}
     

Campos

SendInvitationInput

CampoDescripción

email
Cadena

Obligatorio

Correo electrónico del usuario

tenantId
Cadena

Opcional

Identificador único de la cuenta (en el caso de usuarios socio, este valor debería ser nulo)

userType
UserType

Obligatorio

Tipo de usuario


Resultado

Cadena

Enlace de invitación para el usuario


Códigos de error

CódigoDescripción

400

Entrada no válida proporcionada

401

El usuario no está autorizado a enviar una invitación

404

No se puede encontrar al usuario del tenantId proporcionado

500

Error interno del servidor


Ejemplo de solicitud

Mutación

mutation ActivateElementMutation(
 $sendInvitationInput: SendInvitationInput!
) {
 userMutations {
   sendInvitation(input: $sendInvitationInput)
 }
}
     

Variables

{
   "sendInvitationInput": {
           "email": "tempuser1@testaccount.com",
           "tenantId": "wW58k7FQ",
           "userType": "ADVERTISER"
   }
      
}
     

Ejemplo de respuesta

"data": {
       "userMutations": {
           "sendInvitation": "http://localhost:8443/auth/verify/?token=uo3hMrl1QEeUtx5PXRoUvg&et=inv&email=tempuser1@testaccount.com"
       }
   }