Apex: Clases e interfaces nuevas y modificadas

Estas clases e interfaces son nuevas o han cambiado.

Clases de Apex modificadas

Estas clases existentes tienen métodos o constantes nuevos o modificados.
Clase de Schema.DescribeFieldResult
Método nuevo
isAiPredictionField()
Devuelve un booleano indicando si el campo está activado para mostrar datos de predicción de Einstein.
Clase Schema.DescribeSObjectResult
Método nuevo
getRecordTypeInfosByDeveloperName()
Devuelve una asignación que hace coincidir los nombres de desarrollador con su tipo de registro asociado.
Clase Schema.RecordTypeInfo
Método nuevo
getDeveloperName()
Devuelve el nombre de desarrollador de su tipo de registro.
Clase System.Crypto
Métodos nuevos
verify(String algorithmName, Blob data, Blob signature, Blob publicKey)
Devuelve un booleano que verifica la firma digital para datos cifrados, utilizando el algoritmo especificado y la clave pública proporcionada.
verify(String algorithmName, Blob data, Blob signature, String certDevName)
Devuelve un booleano que verifica los datos de las firmas digitales, utilizando el algoritmo especificado y la clave pública asociados al certDevName.
verifyMac()
Devuelve un booleano que verifica los datos de la firma HMAC, utilizando el algoritmo especificado, los datos de entrada, la clave privada y la dirección mac.
Clase System.Url
Métodos nuevos
getOrgDomainUrl()
Devuelve la URL canónica de su organización. Por ejemplo, https://yourDomain.my.salesforce.com o, para organizaciones sin Mi dominio activado, https://yourInstance.salesforce.com.
Clase System.UserInfo
Métodos cambiados
getSessionId()
Ahora puede utilizar getSessionId() en llamadas a Apex asíncronas (Apex por lotes, futuro, colocable en cola o programado). Anteriormente, este método devolvía null al ejecutarse de forma asíncrona.

En Apex asíncrono, este método devuelve el Id. de sesión solo cuando el código lo ejecuta un usuario válido y activo. Si el código lo ejecuta un usuario interno, como el usuario del proceso automatizado o un usuario de proxy, el método devuelve null.

Enumeración de Apex modificada

Estas enumeraciones se actualizaron en esta versión.
Enumeración Auth.Auth.VerificationMethodEnum
Contiene las distintas formas en las que los usuarios pueden identificarse a sí mismos al iniciar sesión. Se puede utilizar para implementar páginas de inicio de sesión sin contraseña para dispositivos móviles, así como para métodos de verificación de inscripción automática (y anulación de la inscripción).
Esta enumeración incluye un nuevo valor, Password. La identidad se puede verificar mediante contraseña.
Enumeración de Metadata.PlatformActionListContextEnum
Describe los diferentes contextos de listas de acciones.
Esta enumeración incluye un nuevo valor, ActionDefinition. Este valor está reservado para uso futuro.

Nuevas excepciones de Apex

Estas excepciones son nuevas en esta versión.
Espacio de nombres Auth
LoginDiscoveryException
Produzca una excepción para indicar que hubo un error al ejecutar el Controlador de detección de inicio de sesión.
Auth.DiscoveryCustomErrorException
Produzca una excepción para personalizar los mensajes de error que aparecen en las páginas de inicio de sesión, verificación e inscripción automática.

Nuevas interfaces de Apex

Estas interfaces son nuevas en esta versión.
Interfaz Auth.ConfigurableSelfRegHandler
Cree una clase que implementa Auth.ConfigurableSelfRegHandler para registrar a usuarios con su dirección de email o su número de teléfono en lugar de con un nombre de usuario y una contraseña. Cuando configura el registro automático de su comunidad con la Página de registro automático configurable, Salesforce genera una clase Apex AutocreatedConfigSelfReg predeterminada. Modifique la clase para ampliar la funcionalidad, por ejemplo, para cambiar la forma en la que se crean los usuarios.
createUser(accountId, profileId, registrationAttributes, password)
Cree un miembro de la comunidad a partir de la información que proporcionó el visitante en la página de registro automático de su comunidad.
Interfaz Auth.LoginDiscoveryHandler
Cree una clase que implemente Auth.LoginDiscoveryHandler para iniciar sesión a los usuarios basándose en otros métodos de verificación distintos al nombre de usuario y la contraseña. Los usuarios se pueden identificar con su email, su número de teléfono o con otro identificador como el Id. de federación o el identificador de dispositivos. Al configurar la página de inicio de sesión de su comunidad con Página de detección de inicio de sesión, Salesforce genera un AutocreatedDiscLoginHandler predeterminado. Puede modificar la clase, por ejemplo, para que admita el inicio de sesión único (SSO).
login(identifier, startUrl, requestAttributes)
Inicie la sesión del usuario externo que proporcionó el identificador especificado, como el email o el número de teléfono. Si se produce un error, redirija al usuario a la página de la comunidad especificada en la URL de inicio.
Interfaz System.Callable
Permite a los desarrolladores utilizar una interfaz común para crear integraciones poco vinculadas entre clases o desencadenadores de Apex, incluso para código en paquetes separados. Llegar a un acuerdo con una interfaz común permite que desarrolladores de distintas compañías o distintos departamentos puedan programar a partir de soluciones de otros desarrolladores. Implemente esta interfaz para permitir una comunidad más amplia, que pueda tener soluciones diferentes a las que tenía en mente, para ampliar la funcionalidad de su código.
call(action, args)
Proporciona funcionalidad que otras clases u otros paquetes pueden utilizar para programar.

Cambio de llamadas de API SOAP de Apex

La llamada runTests() ha cambiado.
runTests()
El objeto RunTestsResult incluye dos campos nuevos.
flowCoverage
Una variedad de resultados de las pruebas que ejecutaron flujos.
flowCoverageWarnings
Una variedad de advertencias generadas por las pruebas que ejecutaron flujos.