Praxis Academy
Inicio › Platform Administrator II › Data and Analytics Management

Preguntas de práctica Platform Administrator II: Data and Analytics Management

Data and Analytics Management vale 13% del examen Salesforce Certified Platform Administrator II. Cubre herramientas de datos, reportes avanzados y dashboards. Resuelve estas 12 preguntas gratis y abre cada respuesta para ver por qué cada opción es correcta o incorrecta.

01

Después de una carga de datos, producción contiene muchos registros de Account duplicados. El administrador debe impedir que se capturen nuevos duplicados y también limpiar los que ya existen. ¿Qué dos funciones cubren ambas necesidades? (Elija 2)

  1. Una Validation Rule en Account que busque registros con el mismo nombre y bloquee el guardado.
  2. Activar el interruptor 'Prevent Duplicate Entry' en Company Information.
  3. Duplicate Rules junto con Matching Rules que detectan Accounts duplicados al crear o editar y bloquean el guardado o muestran una alerta.
  4. Duplicate Jobs que analizan registros por lotes con las Matching Rules configuradas y listan los Accounts duplicados existentes para revisarlos y fusionarlos.
Ver respuesta

Respuesta: C, D

A. Una Validation Rule en Account que busque registros con el mismo nombre y bloquee el guardado.Incorrecta. Las Validation Rules no son una forma escalable ni adecuada de detectar duplicados, y no pueden encontrar duplicados ya existentes.
B. Activar el interruptor 'Prevent Duplicate Entry' en Company Information.Incorrecta. Company Information no tiene ese interruptor; la prevención se hace con Matching Rules y Duplicate Rules.
C. Duplicate Rules junto con Matching Rules que detectan Accounts duplicados al crear o editar y bloquean el guardado o muestran una alerta. ✓Correcta. Las Matching Rules definen qué se considera duplicado (por ejemplo, mismo nombre y teléfono) y las Duplicate Rules deciden si bloquear, alertar o permitir, lo que evita duplicados futuros.
D. Duplicate Jobs que analizan registros por lotes con las Matching Rules configuradas y listan los Accounts duplicados existentes para revisarlos y fusionarlos. ✓Correcta. Los Duplicate Jobs ejecutan una comparación masiva sobre los registros existentes y muestran posibles pares para que un administrador o responsable de datos los revise y fusione.

Por qué: La gestión de duplicados se basa en Matching Rules (cómo se comparan los registros) y Duplicate Rules (qué ocurre al encontrar una coincidencia) para detener duplicados al momento de la captura. Los Duplicate Jobs reutilizan esas Matching Rules para analizar los registros que ya están en la org y generar una lista de posibles duplicados para fusionar. Juntos cubren la prevención y la limpieza.

02

Un solo archivo CSV contiene 15,000 Accounts que aún no existen y 5,000 que ya existen. Cada fila tiene un valor único en el campo personalizado 'Legacy_ID__c', definido como External ID. ¿Qué operación de Data Loader corresponde?

  1. Ejecutar dos trabajos por separado: Insert para los 15,000 registros nuevos y luego Update para los 5,000 existentes.
  2. Insertar las 20,000 filas con 'Allow Duplicates' marcado y dejar que las reglas de duplicados resuelvan los conflictos.
  3. Ejecutar Upsert de Data Loader con 'Legacy_ID__c' como campo External ID, de modo que las filas sin coincidencia de External ID se inserten y las filas con coincidencia se actualicen en una sola pasada.
  4. Usar la opción 'Update or Insert' del Data Import Wizard con Legacy_ID__c asignado como campo de coincidencia.
Ver respuesta

Respuesta: C

A. Ejecutar dos trabajos por separado: Insert para los 15,000 registros nuevos y luego Update para los 5,000 existentes.Incorrecta. Dos trabajos son un esfuerzo innecesario cuando Upsert con External ID maneja inserciones y actualizaciones a la vez.
B. Insertar las 20,000 filas con 'Allow Duplicates' marcado y dejar que las reglas de duplicados resuelvan los conflictos.Incorrecta. Insert siempre crea registros nuevos, así que los 5,000 Accounts existentes se duplicarían en lugar de actualizarse.
C. Ejecutar Upsert de Data Loader con 'Legacy_ID__c' como campo External ID, de modo que las filas sin coincidencia de External ID se inserten y las filas con coincidencia se actualicen en una sola pasada. ✓Correcta. Upsert compara cada fila por el External ID y la inserta si no hay coincidencia o la actualiza si la hay, de modo que los 15,000 Accounts nuevos y los 5,000 existentes se procesan en una sola ejecución.
D. Usar la opción 'Update or Insert' del Data Import Wizard con Legacy_ID__c asignado como campo de coincidencia.Incorrecta. El asistente no ofrece una opción 'Update or Insert' que funcione como el Upsert de Data Loader con un External ID personalizado; Data Loader es la herramienta adecuada para esta carga.

Por qué: Upsert está diseñado para un solo archivo que mezcla registros nuevos y existentes, diferenciados por un External ID. Las filas que coinciden con un registro existente mediante el External ID se actualizan y el resto se inserta. Es la forma más eficiente de manejar una carga mixta.

03

En una org con varias monedas habilitadas, los usuarios ven totales en informes que difieren de los importes mostrados en los registros individuales de Opportunity. Un analista pregunta por qué. ¿Qué concepto explica la diferencia?

  1. Los informes toman tipos de cambio de mercado en vivo de una fuente externa, por lo que usan un tipo distinto al guardado en la Opportunity.
  2. Los informes convierten todos los importes a la moneda del usuario que ejecuta el informe con el tipo actual de Currency Management, mientras que los registros individuales pueden mostrar los importes en la moneda en que se capturaron.
  3. Los registros de Opportunity actualizan sus importes automáticamente cuando cambian los tipos, pero los informes solo se actualizan tras un recálculo manual.
  4. La diferencia solo ocurre en orgs con Advanced Currency Management, porque los tipos fechados se aplican por Opportunity mientras los informes usan un único tipo actual.
Ver respuesta

Respuesta: B

A. Los informes toman tipos de cambio de mercado en vivo de una fuente externa, por lo que usan un tipo distinto al guardado en la Opportunity.Incorrecta. Salesforce no usa fuentes de mercado en vivo; los administradores capturan los tipos de cambio manualmente en Currency Management.
B. Los informes convierten todos los importes a la moneda del usuario que ejecuta el informe con el tipo actual de Currency Management, mientras que los registros individuales pueden mostrar los importes en la moneda en que se capturaron. ✓Correcta. Los informes muestran importes convertidos a la moneda de visualización, normalmente la del usuario que los ejecuta, con el tipo actual configurado, mientras que cada Opportunity muestra su moneda de captura original.
C. Los registros de Opportunity actualizan sus importes automáticamente cuando cambian los tipos, pero los informes solo se actualizan tras un recálculo manual.Incorrecta. En la Currency Management estándar, ni los registros ni los informes cambian retroactivamente; los tipos se aplican al mostrar o ejecutar el informe.
D. La diferencia solo ocurre en orgs con Advanced Currency Management, porque los tipos fechados se aplican por Opportunity mientras los informes usan un único tipo actual.Incorrecta. La diferencia descrita es el comportamiento normal del modo estándar, donde los registros muestran la moneda original y los informes muestran totales convertidos; no se debe a tipos fechados.

Por qué: Con varias monedas, cada registro guarda su importe en la moneda en que se capturó. Los informes convierten todo a la moneda del usuario (o del informe) con el tipo actual de Currency Management. La conversión es solo de visualización y nunca modifica el registro. Si los tipos cambiaron desde la captura, el total del informe puede diferir de los importes originales.

04

Una empresa debe cargar 200,000 Accounts y sus Contacts hijos desde un sistema externo. ¿Qué enfoque de Data Loader maneja correctamente el vínculo padre-hijo?

  1. Cargar primero los Contacts con los nombres de Account y luego cargar los Accounts usando el ID de Contact como clave de referencia.
  2. Cargar primero los Accounts con un campo External ID lleno y luego cargar los Contacts haciendo referencia a ese External ID de Account para establecer la relación, sin necesitar los ID de Account generados por Salesforce.
  3. Cargar Accounts y Contacts juntos en un solo paso con la función 'Batch Relationship Import' del Data Import Wizard.
  4. Enviar los 200,000 registros mediante la Bulk API en un solo CSV plano que combine campos de Account y de Contact.
Ver respuesta

Respuesta: B

A. Cargar primero los Contacts con los nombres de Account y luego cargar los Accounts usando el ID de Contact como clave de referencia.Incorrecta. Los Contacts necesitan un AccountId (o un External ID de Account) para vincularse a su padre, y los Accounts aún no existirían si se cargaran primero los Contacts.
B. Cargar primero los Accounts con un campo External ID lleno y luego cargar los Contacts haciendo referencia a ese External ID de Account para establecer la relación, sin necesitar los ID de Account generados por Salesforce. ✓Correcta. Primero los padres con un External ID y luego los hijos que hacen referencia a ese External ID (con Insert o Upsert); Data Loader puede establecer el AccountId del Contact a partir del External ID del padre, incluso sin el Id de Salesforce.
C. Cargar Accounts y Contacts juntos en un solo paso con la función 'Batch Relationship Import' del Data Import Wizard.Incorrecta. El Data Import Wizard no tiene una función 'Batch Relationship Import'; los registros padre e hijo requieren cargas separadas.
D. Enviar los 200,000 registros mediante la Bulk API en un solo CSV plano que combine campos de Account y de Contact.Incorrecta. La Bulk API procesa un objeto por trabajo, así que no se admite un solo CSV combinado de Account y Contact.

Por qué: Para cargas padre-hijo en Data Loader: primero se cargan los padres (Accounts) con un External ID lleno en cada uno; después se cargan los hijos (Contacts), asignando la relación con Account mediante el campo External ID del padre. Así cada Contact se vincula a su Account sin buscar cada Id de Account generado por Salesforce.

05

Al crear un informe con un campo de agrupamiento (bucket field), un analista observa que algunas Opportunities no caen en ninguno de los tres grupos de importe (Small, Medium, Large). ¿Cuál es la explicación más precisa?

  1. Los bucket fields solo funcionan en informes de resumen y de matriz, así que los registros faltan porque el informe es tabular.
  2. Un filtro del informe elimina los registros con Amount nulo antes de evaluar el bucket field.
  3. Un bucket field permite como máximo 5 grupos, y los registros fuera del rango del quinto grupo se excluyen del informe automáticamente.
  4. Las Opportunities con Amount nulo o vacío, y las que quedan fuera de todos los rangos definidos, van al grupo predeterminado 'Other', que tal vez el analista no está mostrando.
Ver respuesta

Respuesta: D

A. Los bucket fields solo funcionan en informes de resumen y de matriz, así que los registros faltan porque el informe es tabular.Incorrecta. Los bucket fields funcionan en informes tabulares, de resumen y de matriz, así que el formato no es la causa.
B. Un filtro del informe elimina los registros con Amount nulo antes de evaluar el bucket field.Incorrecta. Un filtro de Amount podría excluir registros, pero la explicación más precisa es cómo tratan los bucket fields los valores sin coincidencia y nulos.
C. Un bucket field permite como máximo 5 grupos, y los registros fuera del rango del quinto grupo se excluyen del informe automáticamente.Incorrecta. Un bucket field admite hasta 20 grupos, no 5, y los registros fuera de rango no se excluyen; quedan en 'Other'.
D. Las Opportunities con Amount nulo o vacío, y las que quedan fuera de todos los rangos definidos, van al grupo predeterminado 'Other', que tal vez el analista no está mostrando. ✓Correcta. Los valores nulos y los que están fuera de todos los rangos se agrupan como 'Other' de forma predeterminada, así que ocultar esa categoría hace que esos registros parezcan faltar.

Por qué: Los registros cuyo valor no coincide con ningún grupo definido, incluidos los valores nulos o vacíos, se colocan automáticamente en el grupo 'Other'. Si el informe muestra solo los grupos con nombre (Small, Medium, Large) y omite 'Other', esos registros parecen desaparecer. La solución es incluir 'Other' o agregar un grupo que cubra los valores nulos.

06

En un informe de resumen, un administrador quiere una fórmula de resumen personalizada con PARENTGROUPVAL que muestre el importe de cada grupo de Stage como porcentaje del pipeline total. ¿Qué tipo de informe y configuración de fórmula lo logran?

  1. Un joined report con dos bloques, calculando el porcentaje con una fórmula entre bloques que haga referencia al total de cada bloque.
  2. Un informe de matriz que use PREVGROUPVAL para expresar el total de cada Stage como porcentaje del total de la etapa anterior.
  3. Un informe tabular más un campo de fórmula en Opportunity que divida entre un denominador fijo.
  4. Un informe de resumen agrupado por Stage de Opportunity con una Custom Summary Formula que use PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) como denominador, para obtener la participación de cada grupo en el total general.
Ver respuesta

Respuesta: D

A. Un joined report con dos bloques, calculando el porcentaje con una fórmula entre bloques que haga referencia al total de cada bloque.Incorrecta. Los joined reports sí permiten fórmulas entre bloques, pero PARENTGROUPVAL funciona dentro de un solo informe de resumen o de matriz para hacer referencia al total de un grupo padre.
B. Un informe de matriz que use PREVGROUPVAL para expresar el total de cada Stage como porcentaje del total de la etapa anterior.Incorrecta. PREVGROUPVAL hace referencia a la agrupación anterior del mismo nivel para comparar periodos, no a una proporción del total padre.
C. Un informe tabular más un campo de fórmula en Opportunity que divida entre un denominador fijo.Incorrecta. Los campos de fórmula de Opportunity no pueden ver los agregados del informe; los cálculos sobre totales de agrupación requieren fórmulas de resumen personalizadas a nivel de informe.
D. Un informe de resumen agrupado por Stage de Opportunity con una Custom Summary Formula que use PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) como denominador, para obtener la participación de cada grupo en el total general. ✓Correcta. PARENTGROUPVAL toma el valor de resumen de un nivel de agrupación superior, así que dividir entre PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) da el porcentaje de cada grupo de Stage sobre el pipeline total.

Por qué: PARENTGROUPVAL devuelve un valor de resumen de un nivel de agrupación padre especificado. Por ejemplo, Amount:SUM / PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) da la suma de cada grupo como proporción del total general, y la fórmula se muestra en el nivel de agrupación de un informe de resumen. PREVGROUPVAL, en cambio, consulta la agrupación anterior del mismo nivel, lo que sirve para comparaciones en series de tiempo.

07

Un usuario quiere una fórmula de informe que muestre el cambio porcentual del importe de las oportunidades frente a un periodo anterior. El informe de resumen está agrupado por Close Month. ¿Qué función de fórmula de informe devuelve el valor del grupo del periodo anterior para la comparación?

  1. PARENTGROUPVAL(Amount:SUM, Close_Month), que devuelve la suma de la agrupación padre para el mes elegido.
  2. PREVGROUPVAL(Amount:SUM, Close_Month), que devuelve el Amount:SUM de la agrupación de Close Month anterior para poder construir una fórmula de comparación entre periodos.
  3. RSUM(Amount:SUM), que da un total acumulado desde la primera agrupación hasta la actual.
  4. PREVGROUPVAL no se permite en informes de resumen y solo funciona en fórmulas de resumen personalizadas de informes de matriz.
Ver respuesta

Respuesta: B

A. PARENTGROUPVAL(Amount:SUM, Close_Month), que devuelve la suma de la agrupación padre para el mes elegido.Incorrecta. PARENTGROUPVAL devuelve un valor de un nivel de agrupación superior, no el valor anterior del mismo nivel.
B. PREVGROUPVAL(Amount:SUM, Close_Month), que devuelve el Amount:SUM de la agrupación de Close Month anterior para poder construir una fórmula de comparación entre periodos. ✓Correcta. PREVGROUPVAL devuelve el valor de resumen de la agrupación inmediatamente anterior a la actual, así que en una agrupación por Close Month da la suma de Amount del mes previo para calcular el cambio.
C. RSUM(Amount:SUM), que da un total acumulado desde la primera agrupación hasta la actual.Incorrecta. RSUM acumula un total corrido entre agrupaciones y no devuelve el valor del grupo anterior.
D. PREVGROUPVAL no se permite en informes de resumen y solo funciona en fórmulas de resumen personalizadas de informes de matriz.Incorrecta. PREVGROUPVAL funciona tanto en informes de resumen como en informes de matriz.

Por qué: PREVGROUPVAL(summary_field, grouping_field, increment) devuelve un valor de resumen de una agrupación anterior. El parámetro opcional increment indica cuántas agrupaciones hacia atrás consultar (1 de forma predeterminada); con agrupaciones mensuales, un increment de 12 apunta al mismo mes del año anterior. PARENTGROUPVAL sube a un nivel padre, mientras que PREVGROUPVAL mira hacia atrás en el mismo nivel.

08

Un informe de resumen está agrupado por representante de ventas (Opportunity Owner) y el administrador quiere una fórmula de resumen personalizada que muestre el tamaño promedio de negocio de cada representante. ¿Qué fórmula calcula correctamente el promedio?

  1. Amount:SUM dividido entre RowCount (Amount:SUM / RowCount)
  2. AVG(Amount), que devuelve directamente el promedio de Amount sin necesidad de una fórmula personalizada.
  3. Amount:SUM / Amount:COUNT, que divide la suma de Amount entre la cantidad de valores de Amount de cada agrupación para obtener el tamaño promedio de negocio.
  4. PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) / PARENTGROUPVAL(Amount:COUNT, GRAND_SUMMARY), que da el promedio de toda la org para todos los representantes.
Ver respuesta

Respuesta: C

A. Amount:SUM dividido entre RowCount (Amount:SUM / RowCount)Incorrecta. La idea es correcta, pero la fuente indica que RowCount no es una sintaxis válida en las fórmulas de resumen personalizadas y que debe usarse RECORD_COUNT o Amount:COUNT.
B. AVG(Amount), que devuelve directamente el promedio de Amount sin necesidad de una fórmula personalizada.Incorrecta. AVG() no es una función integrada en las fórmulas de resumen personalizadas; el promedio debe construirse como SUM dividido entre COUNT.
C. Amount:SUM / Amount:COUNT, que divide la suma de Amount entre la cantidad de valores de Amount de cada agrupación para obtener el tamaño promedio de negocio. ✓Correcta. Amount:SUM da el total de la agrupación y Amount:COUNT la cantidad de valores de Amount no nulos, así que al dividirlos se obtiene el tamaño promedio de negocio por representante.
D. PARENTGROUPVAL(Amount:SUM, GRAND_SUMMARY) / PARENTGROUPVAL(Amount:COUNT, GRAND_SUMMARY), que da el promedio de toda la org para todos los representantes.Incorrecta. Usar PARENTGROUPVAL con GRAND_SUMMARY da el promedio general de todos los representantes, no el promedio de cada uno.

Por qué: Las fórmulas de resumen personalizadas aplican operadores de agregación a los campos con la sintaxis FieldName:OPERATOR. El promedio es Amount:SUM / Amount:COUNT, que divide el Amount total de cada representante entre la cantidad de registros con Amount no nulo. Como Amount:COUNT ignora los nulos, los Amount nulos quedan fuera de ambas partes del cálculo.

09

Un gerente quiere una lista de Contacts ordenada según cuántos Cases abrió cada uno en los últimos 6 meses, del mayor al menor. ¿Qué configuración de informe logra esto?

  1. Crear un informe combinado (joined report) con un bloque que liste nombres de Contact y otro bloque con el conteo de Cases, ordenado por el conteo del segundo bloque.
  2. Crear un informe matricial con Contacts en las filas y Case Created Date en las columnas para mostrar el conteo de cada Contact por mes.
  3. Crear un informe resumido sobre Cases con un Report Type Contacts with Cases, agrupado por Contact Name, con un conteo de registros (RowCount) y la agrupación ordenada por Count descendente.
  4. Exportar los Cases a una hoja de cálculo y clasificar a los Contacts por volumen de casos con una tabla dinámica.
Ver respuesta

Respuesta: C

A. Crear un informe combinado (joined report) con un bloque que liste nombres de Contact y otro bloque con el conteo de Cases, ordenado por el conteo del segundo bloque.Incorrecta. Los informes combinados colocan datos relacionados en bloques separados; no hacen falta para un requisito simple de agrupar y clasificar.
B. Crear un informe matricial con Contacts en las filas y Case Created Date en las columnas para mostrar el conteo de cada Contact por mes.Incorrecta. Un informe matricial puede mostrar conteos por periodo, pero clasificar Contacts por total de casos se logra más fácilmente con un informe resumido ordenado por conteo.
C. Crear un informe resumido sobre Cases con un Report Type Contacts with Cases, agrupado por Contact Name, con un conteo de registros (RowCount) y la agrupación ordenada por Count descendente. ✓Correcta. Agrupar por Contact Name con un RowCount totaliza los casos por Contact, y ordenar la agrupación por conteo descendente produce la clasificación.
D. Exportar los Cases a una hoja de cálculo y clasificar a los Contacts por volumen de casos con una tabla dinámica.Incorrecta. Una tabla dinámica en hoja de cálculo es una solución manual; el generador de informes puede producir directamente el resumen clasificado.

Por qué: Clasificar valores agregados es tarea de un informe resumido: elegir un Report Type Contacts with Cases (o Cases with Contact), agrupar por Contact Name, agregar un conteo de registros, ordenar la agrupación por conteo descendente y filtrar Created Date a los últimos 6 meses.

10

Un desarrollador debe consultar 10 millones de filas históricas de transacciones almacenadas en un Big Object de Salesforce, y el SOQL normal sigue agotando el tiempo de espera. ¿Cómo se deben consultar los datos de un big object a esta escala?

  1. Pedir a Salesforce Support que aumente el límite de gobernador de filas de SOQL para la org.
  2. Mover todos los datos del big object a un data warehouse externo y consultarlos ahí mediante una connected app.
  3. Usar Async SOQL, que ejecuta la consulta en segundo plano y escribe los resultados en un objeto estándar o personalizado de Salesforce para usarlos después.
  4. Agregar una cláusula FOR UPDATE a la consulta SOQL para bloquear las filas y evitar tiempos de espera de lectura durante la extracción masiva.
Ver respuesta

Respuesta: C

A. Pedir a Salesforce Support que aumente el límite de gobernador de filas de SOQL para la org.Incorrecta. Los límites de gobernador no se aumentan mediante solicitudes a soporte, y de todas formas los big objects requieren un mecanismo de consulta específico.
B. Mover todos los datos del big object a un data warehouse externo y consultarlos ahí mediante una connected app.Incorrecta. Un data warehouse externo puede ser una arquitectura válida, pero la pregunta pide el enfoque dentro de la plataforma, que es Async SOQL.
C. Usar Async SOQL, que ejecuta la consulta en segundo plano y escribe los resultados en un objeto estándar o personalizado de Salesforce para usarlos después. ✓Correcta. Async SOQL es la forma nativa de consultar Big Objects a escala; se ejecuta en segundo plano y guarda los resultados en un objeto estándar o personalizado.
D. Agregar una cláusula FOR UPDATE a la consulta SOQL para bloquear las filas y evitar tiempos de espera de lectura durante la extracción masiva.Incorrecta. FOR UPDATE bloquea registros contra ediciones concurrentes y no influye en el rendimiento de la consulta ni en el acceso a big objects.

Por qué: Async SOQL existe para consultar conjuntos de datos muy grandes de Big Objects. Se ejecuta de forma asíncrona, evita los tiempos de espera síncronos y coloca los resultados en un objeto estándar o personalizado. Los trabajos se envían y monitorean mediante la API.

11

Una empresa de pagos guarda datos de tarjetahabientes en Salesforce. Una auditoría determina que los números de tarjeta completos nunca deben almacenarse en la org, aunque sí se puede conservar un PAN truncado (últimos 4 dígitos). ¿Qué diseño en Salesforce aplica mejor esta regla?

  1. Cifrar el campo del número de tarjeta con Shield Platform Encryption y configurar FLS como Hidden en todos los perfiles.
  2. Agregar una Validation Rule que rechace cualquier valor de más de 4 caracteres en el campo del número de tarjeta para forzar el almacenamiento truncado.
  3. Integrar Salesforce mediante External Services con una bóveda de tokenización de pagos, conservando en Salesforce solo el token y los últimos 4 dígitos y sin escribir nunca el PAN completo en ningún campo.
  4. Agregar un campo de fórmula personalizado que recorte cualquier número de tarjeta capturado a sus últimos 4 dígitos antes de guardar el registro.
Ver respuesta

Respuesta: C

A. Cifrar el campo del número de tarjeta con Shield Platform Encryption y configurar FLS como Hidden en todos los perfiles.Incorrecta. El cifrado sigue almacenando el número completo; si nunca debe almacenarse, cifrarlo no cumple el requisito.
B. Agregar una Validation Rule que rechace cualquier valor de más de 4 caracteres en el campo del número de tarjeta para forzar el almacenamiento truncado.Incorrecta. Una revisión de longitud no valida el formato del PAN y es un control frágil, no un diseño adecuado para mantener los datos de tarjeta fuera de la org.
C. Integrar Salesforce mediante External Services con una bóveda de tokenización de pagos, conservando en Salesforce solo el token y los últimos 4 dígitos y sin escribir nunca el PAN completo en ningún campo. ✓Correcta. Un servicio de tokenización guarda el PAN completo fuera de Salesforce y devuelve un token; Salesforce conserva solo el token y los últimos 4 dígitos, lo que lo saca del alcance de PCI DSS para los datos completos de tarjeta.
D. Agregar un campo de fórmula personalizado que recorte cualquier número de tarjeta capturado a sus últimos 4 dígitos antes de guardar el registro.Incorrecta. Los campos de fórmula son cálculos de solo lectura; no pueden cambiar lo que se guarda en el campo de origen, por lo que el PAN completo se seguiría guardando.

Por qué: Según PCI DSS, los PAN completos no deben almacenarse en sistemas que no estén certificados para ello. El diseño recomendado mantiene el número completo en una bóveda de tokenización externa, que devuelve un token no sensible; Salesforce guarda solo ese token y los últimos 4 dígitos, de modo que el PAN completo nunca entra a la base de datos.

12

Un código Apex debe llamar a una API externa. La URL del endpoint debe estar en un solo lugar central en vez de codificarse de forma fija, y la autenticación debe manejarse automáticamente para que Apex no administre tokens. ¿Qué funciones deben configurarse? (Elija 2)

  1. Un Remote Site Setting que autorice la URL del endpoint externo para callouts HTTP de Apex.
  2. Un Named Credential (o External Credential) que guarde la URL del endpoint y maneje la autenticación (OAuth, autenticación básica, JWT) automáticamente para que Apex lo referencie por nombre.
  3. Un Custom Metadata Type que guarde la URL del endpoint y el token, leído por Apex en tiempo de ejecución.
  4. Un método @future de Apex que haga el callout de forma asíncrona y así evite el requisito de Remote Site Setting.
Ver respuesta

Respuesta: A, B

A. Un Remote Site Setting que autorice la URL del endpoint externo para callouts HTTP de Apex. ✓Correcta. Los Remote Site Settings (Setup > Security > Remote Site Settings) autorizan endpoints externos para callouts de Apex; sin uno, Salesforce bloquea las solicitudes a ese dominio.
B. Un Named Credential (o External Credential) que guarde la URL del endpoint y maneje la autenticación (OAuth, autenticación básica, JWT) automáticamente para que Apex lo referencie por nombre. ✓Correcta. Un Named Credential guarda el endpoint y las credenciales; cuando Apex llama a callout:NamedCredentialName, Salesforce agrega automáticamente los encabezados de autenticación.
C. Un Custom Metadata Type que guarde la URL del endpoint y el token, leído por Apex en tiempo de ejecución.Incorrecta. Los Custom Metadata Types pueden guardar configuraciones, pero no ejecutan flujos de autenticación, así que Apex seguiría teniendo que obtener y enviar tokens.
D. Un método @future de Apex que haga el callout de forma asíncrona y así evite el requisito de Remote Site Setting.Incorrecta. Los métodos @future pueden hacer callouts, pero no evitan los requisitos de autorización del endpoint.

Por qué: Según la clave de la fuente, los Remote Site Settings autorizan el dominio del endpoint para llamadas salientes, mientras que los Named Credentials guardan la URL e inyectan la autenticación automáticamente. Usados juntos, ofrecen una integración basada en configuración sin URLs ni credenciales codificadas en Apex.

Descubre si estás listo para aprobar

Haz el diagnóstico gratis de Platform Administrator II: 20 preguntas, sin cuenta. Después desbloquea las 180 preguntas, los exámenes de práctica completos y la guía de estudio.

Hacer el diagnóstico gratisVer planes

Otras secciones de este examen