Custom filds Master data

Estoy intentado obtener datos del master data mediante Graphql, los datos que me interesa traer son unos campos personalizados llamada UIDUsuario el cual es un token que utilizare mas adelante en legacy usábamos el API para traer los datos del master data sin embargo queremos dejar de hacer llamados API para no exponer tokens etc, en las Querys no encuentro una que pueda traer ese campo que existe en la entidad clientes (CL)

Hola @Raulrios23

Entiendo que estás intentando obtener datos del master data utilizando GraphQL y te interesa traer los campos personalizados llamados “UIDUsuario” que existen en la entidad “clientes” (CL). En GraphQL, puedes crear tus propias consultas personalizadas para obtener los datos que necesitas.

Si el campo “UIDUsuario” no está disponible en las queries predefinidas, puedes crear una consulta personalizada utilizando el tipo de datos correcto para ese campo. En este caso, supongo que “UIDUsuario” es un campo de tipo String.

Aquí te muestro un ejemplo de cómo podrías hacer la consulta:

1 query {
2  client(id: "your_client_id") {
3    uidUsuario
4  }
5}

En este ejemplo, reemplaza “your_client_id” con el ID de cliente específico que necesitas. Si necesitas obtener los datos de varios clientes, puedes usar una consulta similar a esta:

1 query {
2  clients(filter: { /* add your filter criteria here */ }) {
3    edges {
4      node {
5        uidUsuario
6      }
7    }
8  }
9}

En este ejemplo, puedes agregar tus criterios de filtro personalizados para obtener los datos de los clientes que necesitas. Espero que esto te ayude a obtener los datos del master data utilizando GraphQL en VTEX.

Si el campo no está disponible, puede que necesites seguir utilizando la API para acceder a él.

Espero que estas respuestas te ayuden.

Hasta luego,
Estevão.

1 Like

Te agradezco tu respuesta
la manera que lo logre fue con la siguiente query
query Profile{
profile (customFields: “UIDUsuario”) {
firstName
lastName
email
userId
customFields {
cacheId
key
value
}
}
}

, Ahora aprovecho porque estoy intentado traer de master data todos los correos que tengan un campo en específico el campo es “ClienteCadeco” dicho campo ya existe en master data

1 Like

@Raulrios23 Me alegra haber podido ayudarte y que hayas logrado realizar la consulta. Para obtener todos los correos electrónicos de los clientes que tienen un valor específico en el campo “ClienteCadeco” en el MasterData de VTEX, puedes utilizar la siguiente consulta:

query ObtenerEmailsClienteCadeco {
  profiles(filter: "customFields:ClienteCadeco=valor_deseado") {
    email
  }
}

Reemplaza “valor_deseado” por el valor específico del campo “ClienteCadeco” que deseas buscar. Esta consulta devolverá una lista con los correos electrónicos de todos los perfiles que tienen ese valor en el campo “ClienteCadeco”.

Recuerda que debes tener los permisos adecuados para acceder a los datos del MasterData y que la estructura de los campos personalizados puede variar según la configuración de tu cuenta VTEX.

Verifica también si los campos que deseas traer están configurados como públicos en la entidad del master data. Revisa este documento: Data entity

1 Like

Hola, agradezco te tomes el tiempo para responder mi duda es esta query como la ejecuto en el GraphQL IDE, en que app encuentro profiles, encontre profil en la app de Store.graphql

Hola @Raulrios23 De nada! Si, es este app mismo.

Puedo sugerirle que intente utilizar la query customers en lugar de profile, ya que customers es la entidad que almacena los datos de los clientes en el Master Data. Además, puede utilizar el filtro where para especificar el campo “ClienteCadeco” que desea buscar.

Ejemplo de query:

1query Customers {
2  customers(where: { customFields: { key: "ClienteCadeco" } }) {
3    email
4    customFields {
5      key
6      value
7    }
8  }
9}

Esta query busca todos los clientes que tienen el campo “ClienteCadeco” en el Master Data y devuelve los correos electrónicos y los valores de ese campo.

Verifica si funciona para ti. Recuerda que es solo una idea. Necesitas adaptarla.

Nuevamente te agradezco no se si estoy haciendo algo mal, pero customers o profil no lo encuentro en vtex.store-graphql@2.170.2

Hola @Raulrios23 Necesitas usar el campo exactamente como está configurado en tu entidad CL Clientes. Sólo di algunas sugerencias. Otra cosa: el campo debe permitir la consulta. Sigue este documento:

Crear un campo en Master Data

La solución seria la siguiente

query getdocuments {
documents(
acronym: “CL”,
fields: [“email”],
page: 1,
pageSize: 15,
where: “ClienteCadeco=201949”,
sort: “firstName ASC”,
schema: “v1”,
account: “TU cuenta”
) {
fields{
key
value
}
}
}

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.