Creación de recetas de Integrador Ciudadano para Jitterbit Design Studio
Introducción
Una receta de Integrador Ciudadano es una plantilla de integración reutilizable que proporciona una guía paso a paso a través de Integrador Ciudadano, disponible a través del portal Harmony. Las recetas de Integrador Ciudadano pueden ser utilizadas por miembros de una organización Harmony para que puedan configurar fácilmente una integración de Design Studio para un caso de uso específico.
Este documento cubre la creación manual de recetas de Integrador Ciudadano. Las recetas también se pueden crear utilizando la interfaz de Integrador Ciudadano. Consulte Integrador Ciudadano - Generar o editar receta para más detalles.
Una receta de Integrador Ciudadano consta de dos partes:
- Un Jitterpak de Design Studio (sufijo de archivo
.jpk
o.JPK
). - Un archivo JSON de metadatos de receta de Integrador Ciudadano (sufijo de archivo
.json
o.JSON
) que proporciona los pasos que un usuario sigue para configurar la integración.
Aquí hay un resumen de los pasos necesarios para crear una receta que luego se puede hacer disponible a través de la interfaz web de Integrador Ciudadano:
Paso 1: Crear un Jitterpak
Cree un Jitterpak (JPK) utilizando Jitterbit Design Studio. El Jitterpak se utilizará como base para la receta. Consulte Creación de Jitterpaks para Recetas.
Paso 2: Crear los metadatos de la receta
Cree un archivo de metadatos de receta (un archivo JSON). Los metadatos de la receta incluyen los pasos que los usuarios completan a través de la interfaz web y asocian la información proporcionada por el usuario con el Jitterpak. Consulte Creación de metadatos de receta para mejores prácticas, un recorrido de muestra, una descripción de los tipos de pasos de receta y documentación de los componentes de un archivo de metadatos de receta.
Paso 3: Validar los metadatos de la receta
Valide su archivo de metadatos de receta utilizando el jbcli
. Consulte Validar una receta de la
Interfaz de Línea de Comando de Jitterbit.
Paso 4: Cargar el Jitterpak y los metadatos de la receta
Carga tu archivo Jitterpak y los metadatos de la receta en tu repositorio de recetas. Consulta Cargar una nueva receta y Jitterpak de la Interfaz de Línea de Comando de Jitterbit. También puedes cargar recetas a través de la interfaz web de Citizen Integrator como se describe en las páginas de Citizen Integrator - Tablero o Citizen Integrator - Mis recetas.
Paso 5: Configurar y desplegar la receta
Tu nueva receta ya está disponible para que los miembros de tu organización la utilicen a través de la interfaz web de Citizen Integrator. Consulta Citizen Integrator - Configurar Receta para obtener instrucciones para el usuario sobre cómo configurar y desplegar recetas.
Crear Jitterpaks para recetas
Al crear una nueva receta de Citizen Integrator, se recomienda comenzar creando primero un Jitterpak de Design Studio que contenga la estructura del proyecto para tu plantilla de receta.
Los Jitterpaks no son específicos de la funcionalidad de recetas; son una función central de toda la aplicación de Design Studio. Se espera que los usuarios que deseen crear nuevas recetas ya estén familiarizados con Design Studio. Para más información, consulta los materiales bajo Design Studio y Jitterpaks.
Nota
Las recetas de Citizen Integrator se crean a partir de proyectos de Design Studio. Para Integration Studio, utiliza en su lugar recetas de integración o plantillas de proceso, disponibles en Jitterbit Marketplace.
Mejores prácticas para Jitterpak
Al crear un Jitterpak para su uso con recetas de Citizen Integrator, recomendamos estas mejores prácticas para la creación de recetas:
-
Define tu(s) caso(s) de uso típico(s)
Antes de comenzar con cualquier Jitterpak o receta, debes tener una buena idea de lo que deseas que tus usuarios puedan lograr al utilizar la receta. Ten en cuenta que puedes crear múltiples recetas si es necesario. El caso de uso te ayudará a decidir qué incluir en tu Jitterpak y los pasos que deseas que un usuario complete a través de la interfaz de Citizen Integrator.
-
Consulta ejemplos para obtener ayuda para comenzar
Revisa nuestros Jitterpaks públicos como referencia, o si encuentras uno que sea similar a tu caso de uso, incluso podrías querer comenzar con él. Para descargar cualquiera de los Jitterpaks creados para nuestras recetas públicas, sigue Obtener una Receta Específica y Guardar el Jitterpak Localmente bajo Interfaz de Línea de Comando de Jitterbit. O, consulta nuestra Biblioteca de Jitterpaks.
-
Crea variables de proyecto siempre que sea posible
Las variables de proyecto son clave para crear recetas que puedan ser fácilmente completadas por un usuario a través de la interfaz web de Citizen Integrator. Piensa en las variables de proyecto como campos con información específica que deseas que los usuarios proporcionen al utilizar tu receta. Luego, crea esos elementos como variables de proyecto en tu Jitterpak. Por ejemplo, información de conexión para nuevos endpoints.
-
Nombra las variables de proyecto para referencia futura
Cuando creas variables de proyecto, es una buena práctica nombrarlas con un espacio de nombres. Por ejemplo, una variable de proyecto para el host podría llamarse "db.host" para indicar que se refiere a un host de base de datos. Esto facilitará la lectura de las variables de proyecto al crear los metadatos de tu receta.
-
Coloca las operaciones en el nivel raíz si deseas ejecutarlas a través de un paso de receta
Cualquier operación que desees ejecutar a través de un paso RunOperation en tu receta debe colocarse en el nivel raíz de la carpeta de operaciones dentro de Design Studio. Es decir, si tienes operaciones dentro de subcarpetas bajo tu árbol de operaciones, estas no se ejecutarán cuando se expongan a través de un paso RunOperation. Esta advertencia es solo para operaciones que se ejecutan en un paso específico de la receta. Si tus operaciones están dentro de subcarpetas, estas aún se ejecutarán al guardar y desplegar la receta.
-
Incluye WriteToOperationLog en las operaciones que deseas ejecutar a través de un paso de receta
Incluye WriteToOperationLog en las operaciones que deseas ejecutar a través de un paso RunOperation en tu receta (ver Funciones de registro y error). Los mensajes de WriteToOperationLog se mostrarán en el panel debajo del botón RunOperation en la interfaz de Citizen Integrator y proporcionarán retroalimentación al usuario de la receta sobre la operación ejecutada.
-
Usa valores de variables de proyecto para probar, pero luego elimina los valores al exportar como un Jitterpak
Donde sea que uses variables de proyecto en tu Jitterpak, asegúrate de no incluir valores específicos al exportar el Jitterpak. Recuerda que los valores suelen estar en blanco para que el usuario los complete al configurar la receta. Siempre es una buena idea probar tu proyecto de Design Studio con valores específicos, pero asegúrate de eliminar estos antes de exportar. Aquí hay un par de opciones para eliminar valores:
-
Todos los valores: Para eliminar todos los valores de variables de proyecto, al exportar como un Jitterpak, desmarca la casilla "Incluir valores de variables de proyecto". Esta es la forma estándar y recomendada de eliminar los valores de variables de proyecto.
-
Algunos valores: Para eliminar solo variables de proyecto específicas, simplemente elimina el valor predeterminado de la variable de proyecto. Esta opción puede ser más apropiada que usar la casilla de verificación descrita anteriormente si deseas mantener intencionalmente algunos valores de variables de proyecto. Por ejemplo, si tu receta es privada dentro de tu organización, podrías incluir información como una URL que no cambiará por cada usuario que complete la receta.
-
-
Toma nota de los horarios integrados
Si incluyes un horario dentro del Jitterpak, toma nota de cuándo está programada la operación para ejecutarse y asegúrate de documentar esto en los metadatos de la receta. De lo contrario, los usuarios no estarán al tanto del horario que está integrado en el Jitterpak. Actualmente, los horarios no están disponibles para ser configurados dentro de una receta.
Crear metadatos de receta
Puedes comenzar a crear los metadatos de la receta del Integrador Ciudadano mientras creas tu Jitterpak, o crear los metadatos cuando hayas terminado. Los metadatos de la receta proporcionan dos funciones principales:
- Define los pasos que los usuarios deberán seguir para configurar la receta a través de la interfaz del Integrador Ciudadano.
- Conecta cualquier valor proporcionado por el usuario de vuelta al Jitterpak que acompaña a la receta para que las operaciones recién configuradas se ejecuten como se espera a través de Jitterbit.
Esta sección está organizada para proporcionar una lista de mejores prácticas para crear recetas, un ejemplo de recorrido para crear una receta, los tipos de pasos disponibles para ser utilizados en la receta, y finalmente una lista completa de todas las partes posibles del archivo de metadatos de la receta.
Mejores prácticas de metadatos
Al crear tu archivo de metadatos de receta del Integrador Ciudadano, estas mejores prácticas son útiles para aquellos que son nuevos en la creación de recetas.
-
Referencia ejemplos para comparar la interfaz del Integrador Ciudadano con los metadatos de la receta
Echa un vistazo a cómo están estructuradas nuestras recetas públicas, comparando lo que ves en la interfaz del Integrador Ciudadano con el archivo de metadatos de la receta real para esa receta. Si encuentras una que sea similar a tu caso de uso, incluso podrías querer comenzar con ella.
-
Interfaz del Integrador Ciudadano: Accede a la interfaz del Integrador Ciudadano utilizando el portal de Harmony. Consulta Integrador Ciudadano - Tablero para más detalles.
-
Metadatos de la receta: Descarga los metadatos de la receta para cualquiera de nuestras recetas públicas siguiendo Obtén una receta específica y guarda el Jitterpak localmente de la Interfaz de Línea de Comando de Jitterbit.
-
-
Construye tu receta en iteraciones
Espera necesitar hacer ajustes a tu Jitterpak mientras trabajas en los metadatos de tu receta, y viceversa. Siempre puedes subir una primera versión, verificar cómo se muestra y funciona en la interfaz del Integrador Ciudadano, y luego continuar actualizando tus archivos de receta desde la página Integrador Ciudadano - Mis recetas, o siguiendo Sube una nueva receta y Jitterpak y Actualiza una receta y Jitterpak existentes de la Interfaz de Línea de Comando de Jitterbit.
-
Incluir pasos de Introducción y Revisión en los metadatos de la receta
Se recomienda comenzar con un paso de Introducción y terminar con un paso de Revisión para mantener la consistencia de las recetas. Estas secciones utilizan el tipo
org.jitterbit.integration.data.entity.Description
(descrito en Tipos de pasos).-
La Introducción debe utilizarse para explicar para qué se utiliza la receta, describir cualquier limitación, listar campos estándar y/o proporcionar información previa de la que alguien que use la receta deba estar al tanto.
-
El paso de Revisión debe resumir y confirmar para el usuario el comportamiento esperado cuando la receta configurada se despliega. Si incluyes un horario dentro del Jitterpak, el paso de Revisión es un buen lugar para documentar la hora en que se programa la operación. Recuerda especificar la zona horaria (UTC es la predeterminada dentro de Design Studio, pero también podrías convertir la hora a tu zona horaria deseada dentro de Design Studio y especificar eso).
-
-
Estandarizar nombres dentro de los metadatos de tu receta
Estandariza el nombre de tu receta, el nombre del proyecto, los nombres de los archivos y la estructura de directorios. Esto ayuda a prevenir errores no intencionados al referirse a partes dentro de la receta y facilita la gestión de todas las partes de tu receta.
-
Para migraciones de punto a punto, ordena los puntos direccionalmente
Para migraciones de un punto a otro (por ejemplo, migrar Cuentas de Salesforce a Empresas de NetSuite), ordena los puntos direccionalmente:
- En el archivo JSON:
"name": "Migrar Cuentas de Salesforce a Empresas de NetSuite"
- En el archivo JSON:
"projectName": "cuentas_salesforce-a-empresas_netsuite"
- Directorio:
salesforce-a-netsuite/cuentas-a-empresas/
- Nombres de archivos:
cuentas_salesforce-a-empresas_netsuite.jpk
ycuentas_salesforce-a-empresas_netsuite.json
- En el archivo JSON:
-
Para sincronización de puntos, ordena los puntos alfabéticamente
Para sincronizaciones de dos puntos (por ejemplo, sincronizar Cuentas de Salesforce y Empresas de NetSuite), ordena los puntos alfabéticamente:
- En el archivo JSON:
"name": "Sincronizar Empresas de NetSuite y Cuentas de Salesforce"
- En el archivo JSON:
"projectName": "empresas_netsuite-cuentas_salesforce"
- Directorio:
netsuite-salesforce/empresas-cuentas/
- Nombres de archivos:
empresas_netsuite-cuentas_salesforce.jpk
yempresas_netsuite-cuentas_salesforce.json
- En el archivo JSON:
-
Definir variables del proyecto al final de los metadatos de la receta
Cualquier variable del proyecto utilizada dentro de tu Jitterpak y referenciada en los pasos de los metadatos de tu receta debe definirse al final de tu archivo de metadatos de la receta.
-
Ocultar pasos que deseas incrustar en otros pasos
Puedes especificar un atributo oculto en un paso para hacerlo invisible en la interfaz del Integrador Ciudadano, pero luego referenciar ese paso utilizando una ruta que apunte a una acción con "useStepAsRequest." Esto es una buena idea si, por ejemplo, configuras un paso para probar la información de conexión, pero deseas incluirlo como un botón de Probar Conexión dentro de otro paso.
-
Omitir campos que se generarán al cargar los metadatos de la receta
Algunos campos en el archivo de metadatos de la receta no se especifican al cargar el archivo y son generados por el sistema cuando se carga el archivo. Estos campos aparecen al principio y al final del archivo de metadatos de la receta.
- id: Este campo se completa cuando los metadatos de la receta se cargan en el repositorio de recetas. Después de la carga, puedes averiguar el ID de Receta generado utilizando Listar todas las recetas de la Interfaz de Línea de Comando de Jitterbit.
- guid: Requerido Este campo se completa cuando un Jitterpak asociado se carga en el repositorio de recetas. El GUID (identificador único global) se completa con el de Jitterpak asociado. Sin embargo, este campo es obligatorio, por lo que aún debes incluirlo en el archivo. El identificador real se actualizará al cargar.
- createdAt: La marca de tiempo de la época Unix en milisegundos de cuando se cargó por primera vez la receta.
- updatedAt: La marca de tiempo de la época Unix en milisegundos de cuando se actualizó por última vez la receta.
-
updatedBy
- userId: El nombre de usuario de Harmony de la persona que actualizó por última vez la receta.
- name: El nombre de la persona que actualizó por última vez la receta.
- orgName: El nombre de la organización a la que pertenece la persona que actualizó por última vez la receta.
-
orgid: El ID de la organización a la que pertenece la persona que subió la receta. La receta es propiedad de esta organización y solo el autor de la receta o un administrador de la organización pueden actualizar o eliminar la receta (ver Citizen Integrator - Mis recetas o la Interfaz de Línea de Comando de Jitterbit).
-
author
- **userId:** El nombre de usuario de Harmony de la persona que subió la receta. - **name:** El nombre de la persona que subió la receta. - **orgName:** El nombre de la organización a la que pertenece la persona que subió la receta.
Después de subir una receta, puedes ver los valores generados para estos campos cuando usas Obtener una receta específica para devolver los metadatos de la receta (ver la Interfaz de Línea de Comando de Jitterbit).
-
Usa HTML para texto enriquecido
Si deseas usar enlaces, listas, negritas, etc. dentro de los pasos de tu receta, intenta usar HTML. La mayoría de los campos donde podrías querer usar esto permiten el uso de HTML, brindándote más control sobre la apariencia y funcionalidad de los pasos de la receta.
-
Valida antes de subir
Siempre es una buena idea asegurarte de que los metadatos de tu receta se validen antes de subirla. Hazlo usando Validar una receta (ver la Interfaz de Línea de Comando de Jitterbit). No debes subir recetas que no se validen, ya que tendrán errores para los usuarios que intenten configurar la receta.
-
Revisa los registros para solucionar problemas
Después de haber subido tu receta, también puedes probarla configurándola y desplegándola a través de la interfaz de Citizen Integrator. No olvides que todas las mismas herramientas para depuración están disponibles, al igual que para cualquier otro proyecto de Jitterbit. Consulta Citizen Integrator - Mis recetas o revisa los registros de operación, proyectos, actividades, etc. dentro de la Consola de Administración.
Ejemplo de recorrido
Esta sección proporciona un recorrido sobre cómo crear una receta para usar con la interfaz web de Citizen Integrator. Este ejemplo utiliza algunos de los elementos más comunes de las recetas que normalmente podrías encontrar. Para obtener una lista completa de opciones que puedes incluir dentro de las recetas, consulta Definiciones de metadatos de recetas.
Para este ejemplo, crearemos una receta que sincroniza cuentas de Salesforce y las inserta en Zendesk. Puedes seguir esta demostración descargando la última receta de Salesforce a Zendesk siguiendo Obtener una receta específica y Guardar el Jitterpak localmente de la Interfaz de Línea de Comando de Jitterbit.
Paso 1: Crear proyecto en Design Studio
El primer paso es configurar tu proyecto en Design Studio. Al crear tu proyecto, consulta las Mejores Prácticas de Jitterpak anteriores que son específicas para crear Jitterpaks para su uso con recetas.
Estos componentes del Jitterpak se utilizan para la receta de Salesforce a Zendesk:
-
Operaciones: Este Jitterpak está configurado de tal manera que al ejecutar la operación RunNow, Jitterbit consultará Salesforce para obtener información sobre los casos (Consultar Casos), y luego utilizará esos casos de Salesforce para actualizar e insertar tickets en Zendesk (Crear Tickets de Zendesk). Si has descargado el Jitterpak para seguir el ejemplo, puedes hacer clic en cada elemento del gráfico para aprender más sobre los componentes de las operaciones.
-
Transformaciones: Cada transformación ha sido mapeada para que los campos estándar apropiados estén incluidos en la receta. Muchas recetas implicarán mapear campos estándar de un punto final a otro. En este ejemplo, la consulta de Salesforce utiliza solo los campos apropiados para esta receta específica (es decir, Número de Caso, Origen, Asunto, Correo Electrónico Proporcionado, Nombre Proporcionado). Si estás creando tu propia receta para usar en una organización que utiliza campos personalizados de Salesforce, también podrías optar por integrarlos en tu receta, siempre que el mapeo esté definido aquí.
-
Fuentes y Destinos: Define cualquier fuente y destino como lo harías normalmente para cualquier proyecto de Design Studio. Esta receta en particular utiliza almacenamiento temporal para Cuentas de Salesforce y Casos de Salesforce, y destinos HTTP como los parámetros de conexión para Zendesk.
-
Métodos de Servicio Web y Puntos Finales HTTP Alojados: Este Jitterpak no utiliza ninguno de estos componentes, pero puedes configurarlos tal como lo harías para cualquier otro proyecto de Design Studio.
-
Programaciones: Este Jitterpak no incluye una programación, pero puedes incluir una aquí si, por ejemplo, deseas que la operación se ejecute diariamente. Dado que la programación no es configurable por el usuario de la receta, debes asegurarte de anotar en un campo de texto de la receta cuándo está programada para ejecutarse tu operación. Un lugar típico para agregar esto es en el paso de Revisión.
-
Mensajes de Correo Electrónico: Este Jitterpak no incluye ningún mensaje de correo electrónico, pero puedes optar por configurarlos utilizando variables de proyecto si deseas que tu receta genere notificaciones por correo electrónico.
-
Scripts: En este Jitterpak, se utilizan scripts para escribir mensajes en el registro, incluidos mensajes específicos de éxito y fracaso.
-
Variables de Proyecto: Las variables de proyecto son clave para crear recetas configurables. Típicamente, las variables de proyecto se utilizan donde quieras que los usuarios proporcionen valores durante la configuración de la receta. En este Jitterpak, tenemos variables de proyecto para credenciales de Salesforce y Zendesk. Recuerda probar tu proyecto de Design Studio con valores reales, luego elimínalos antes de exportar el Jitterpak.
-
Jitterbit Connect: Dado que este Jitterpak utiliza Salesforce, las credenciales de conexión para la organización están incluidas en esta sección.
-
Conectores: Este Jitterpak no utiliza ningún conector, pero muchas otras recetas públicas sí lo hacen. Si deseas crear una nueva receta utilizando un conector, puede ser una buena idea descargar un ejemplo diferente que utilice uno de los conectores como Autodesk.
Paso 2: Prueba el proyecto de Design Studio
Después de definir tus componentes, guarda, despliega y ejecuta tu proyecto de Design Studio para asegurarte de que se ejecute correctamente.
Puedes revisar el registro de operaciones para cualquier mensaje de error.
Paso 3: Exporta el proyecto de Design Studio
Elimina cualquier valor de variable de proyecto u otra información de credenciales que estarás incorporando en tu receta, y exporta tu proyecto de Design Studio como un Jitterpak.
En este ejemplo, eliminamos las variables de proyecto y credenciales en la etapa de exportación. Puedes guardar en cualquier ubicación que desees por ahora, ya que subirás el Jitterpak más tarde (consulta Citizen Integrator - Mis Recetas o la Interfaz de Línea de Comando de Jitterbit).
Paso 4: Crea metadatos de la receta
Ahora que has creado un Jitterpak, puedes personalizar los metadatos de tu receta para que coincidan con los componentes en tu Jitterpak.
Consulta las mejores prácticas de metadatos anteriores para crear tu archivo de metadatos de receta, así como los tipos de pasos al comenzar una nueva receta. Para una lista completa de definiciones de recetas, consulta las definiciones de metadatos de receta a continuación como referencia.
El archivo JSON completo utilizado para definir los metadatos de la receta de Salesforce a Zendesk se proporciona a continuación, seguido de un desglose de cada sección del archivo de metadatos de la receta.
Metadatos JSON - Salesforce a Zendesk
{
"description": "Sync accounts from Salesforce and upsert to Zendesk",
"name": "Salesforce to Zendesk",
"guid": "8yg7df8a-b526-4d14-a49d-39090d63a426",
"projectName": "Salesforce to Zendesk",
"steps": [
{
"name": "Introduction",
"description": "Sync accounts from Salesforce and upsert them to Zendesk",
"label": "Introduction",
"type": "org.jitterbit.integration.data.entity.Description",
"hidden": false,
"properties": [
{
"name": "template",
"defaultValue": "<div><p>This <b>Recipe</b> Syncs accounts from Salesforce and upserts them to Zendesk.</p></div>"
}
]
},
{
"name": "Salesforce Endpoint Project Variables",
"description": "Set-up the source Salesforce endpoint project variables",
"type": "org.jitterbit.integration.data.entity.ProjectVariable",
"hidden": false,
"properties": [],
"projectVariables": {
"names": [
"com.salesforce.username",
"com.salesforce.password",
"com.salesforce.token"
],
"action": {
"name": "test-endpoint-connection",
"displayName": "Test Connection",
"useStepAsRequest": "/Source/SalesforceEndpoint"
}
}
},
{
"name": "Test Salesforce Connection Information",
"description": "Test Salesforce endpoint connection information",
"label": "Source Endpoint (Salesforce)",
"type": "org.jitterbit.integration.data.entity.SalesforceConnector",
"hidden": true,
"path": "/Source/SalesforceEndpoint",
"properties": [
{
"name": "version",
"defaultValue": "37.0"
},
{
"name": "host",
"defaultValue": "https://login.salesforce.com"
},
{
"name": "username",
"defaultValue": "[com.salesforce.username]"
},
{
"name": "password",
"hidden": false,
"defaultValue": "[com.salesforce.password]"
},
{
"name": "token",
"hidden": false,
"defaultValue": "[com.salesforce.token]"
},
{
"name": "sandbox",
"defaultValue": "0"
}
]
},
{
"name": "Zendesk Endpoint Project Variables",
"description": "Set-up the target Zendesk endpoint project variables",
"type": "org.jitterbit.integration.data.entity.ProjectVariable",
"hidden": false,
"properties": [],
"projectVariables": {
"names": [
"com.zendesk.username",
"com.zendesk.password"
]
}
},
{
"name": "RunNow",
"description": "The Run Now operation runs the integration right now.",
"label": "RunNow",
"type": "org.jitterbit.integration.data.entity.RunOperation",
"hidden": false,
"path": "/Operations/RunNow",
"properties": [
{
"name": "operationName",
"defaultValue": "RunNow",
"description": "Run the recipe to get Salesforce accounts and upsert them to NetSuite right now."
}
]
},
{
"name": "Review",
"description": "Push this recipe to the cloud",
"label": "Review",
"type": "org.jitterbit.integration.data.entity.Description",
"hidden": false,
"properties": [
{
"name": "template",
"defaultValue": "<div><p>When you click <b>Save</b> this recipe will be ran daily at 3am indefinitely</p></div>"
}
]
}
],
"projectVariables": [
{
"name": "com.salesforce.username",
"displayName": "Salesforce Login",
"description": "Please provide your Salesforce username or email."
},
{
"name": "com.salesforce.password",
"displayName": "Salesforce Password",
"description": "Please provide your Salesforce password.",
"type": "password"
},
{
"name": "com.salesforce.token",
"displayName": "Salesforce Security Token",
"description": "Please provide your Salesforce security token.",
"type": "password"
},
{
"name": "com.zendesk.username",
"displayName": "Zendesk Login",
"description": "Please provide your Zendesk email."
},
{
"name": "com.zendesk.password",
"displayName": "Zendesk Password",
"description": "Please provide your Zendesk password.",
"type": "password"
}
],
}
-
description: Requerido
Este campo debe contener una descripción de la receta.
"description": "Sincronizar cuentas de Salesforce y hacer upsert a Zendesk"
-
guid: Requerido
Este campo puede contener cualquier valor cuando la receta se sube por primera vez; al subirla con un Jitterpak asociado, el valor será reemplazado por el GUID (identificador único global) del Jitterpak asociado.
"guid": "8yg7df8a-b526-4d14-a49d-39090d63a426"
-
name: Requerido
Este campo debe contener el nombre de la receta.
Se muestra como el título de la receta en la Lista de Recetas:"name": "Salesforce to Zendesk"
Se muestra como el título de la receta bajo Pasos de Configuración:
-
projectName: Requerido
Este campo debe coincidir con el nombre del archivo Jitterpak (JPK).
"projectName": "Salesforce to Zendesk"
-
steps: Requerido
Los pasos definen los Pasos de Configuración en la interfaz de Citizen Integrator. Los atributos de paso utilizados en la receta de Salesforce a Zendesk se proporcionan a continuación, seguidos de una comparación de la interfaz de Citizen Integrator y los metadatos JSON para el paso.
- name: Requerido Este campo es el nombre del paso.
- description: Requerido Este campo es una descripción del paso.
- label: Este campo es una etiqueta que se puede usar para renderizar un nombre de paso que sea diferente del definido nombre del paso.
- type: Requerido Este campo es el tipo asociado a este paso. Consulte Tipos de paso para una explicación de los varios tipos de paso.
- required: Este valor puede establecerse como verdadero o falso. Si es verdadero, el paso de la receta será obligatorio completarse cuando la receta esté configurada antes de que se puedan usar las acciones de Probar Conexión o Ejecutar Operación.
- hidden: Este valor puede establecerse como verdadero o falso. Si es verdadero, el paso estará oculto en la interfaz de Citizen Integrator. Esto puede ser útil si tiene pasos que no desea mostrar, como para probar la información de conexión. Si es falso, el paso se mostrará. El valor predeterminado es falso, lo que significa que los pasos se muestran por defecto.
- path: Úselo si está ocultando pasos y desea hacer referencia a ellos en otros pasos. Este valor debe ser definido si planea incrustar un paso oculto en otro paso. Por ejemplo, si desea incluir un botón de Probar Conexión dentro de un paso, puede ocultar el paso para probar la información de conexión, luego hacer referencia a él en otro paso. La forma en que nos referimos a él es definiendo un camino.
- properties: Solo se puede usar si no se utilizan projectVariables. Estos incluyen propiedades asociadas al
paso. En un paso, puede tener propiedades o projectVariables asignadas, pero no ambas al mismo tiempo.
- name: Requerido Este campo es el nombre de la propiedad que se define para este paso.
- defaultValue: Este campo puede contener un valor predeterminado asociado a la propiedad. Típicamente, esto se utiliza para insertar texto instructivo o informativo en un paso.
- description: Este campo puede contener texto predeterminado que aparecerá dentro del cuadro de texto.
- projectVariables: Solo se puede usar si no se utilizan propiedades. Estos incluyen una lista de variables de proyecto
agrupadas que representan entidades configurables. En un paso, puede tener projectVariables o
propiedades asignadas, pero no ambas al mismo tiempo.
- names: Requerido Este campo contiene una lista de todas las variables de proyecto que se utilizan en este paso.
- action: Este campo define cualquier acción. Típicamente, estas se utilizan como botones dentro de un paso para realizar
acciones que pueden definirse como pasos ocultos.
- name: Requerido Este campo es el nombre de la acción.
- displayName: Este campo se puede usar si desea un nombre diferente para mostrar en la interfaz de Citizen Integrator.
- useStepAsRequest: Requerido Este campo se utiliza para proporcionar la ruta a las propiedades definidas en otro paso que no se renderiza. Use el mismo valor que definió para "path" en el paso oculto.
Paso 1: Introducción
Metadatos JSON para el Paso 1
{ "name": "Introduction", "description": "Sync accounts from Salesforce and upsert them to Zendesk", "label": "Introduction", "type": "org.jitterbit.integration.data.entity.Description", "hidden": false, "properties": [ { "name": "template", "defaultValue": "<div><p>This <b>Recipe</b> Syncs accounts from Salesforce and upserts them to Zendesk.</p></div>" } ] },
Paso 2: Variables del Proyecto de Endpoint de Salesforce
Metadatos JSON para el Paso 2
{ "name": "Salesforce Endpoint Project Variables", "description": "Set-up the source Salesforce endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "hidden": false, "properties": [], "projectVariables": { "names": [ "com.salesforce.username", "com.salesforce.password", "com.salesforce.token" ], "action": { "name": "test-endpoint-connection", "displayName": "Test Connection", "useStepAsRequest": "/Source/SalesforceEndpoint" } } },
Paso Oculto: Información de Conexión de Prueba de Salesforce
Metadatos JSON para el Paso Oculto
{ "name": "Test Salesforce Connection Information", "description": "Test Salesforce endpoint connection information", "label": "Source Endpoint (Salesforce)", "type": "org.jitterbit.integration.data.entity.SalesforceConnector", "hidden": true, "path": "/Source/SalesforceEndpoint", "properties": [ { "name": "version", "defaultValue": "37.0" }, { "name": "host", "defaultValue": "https://login.salesforce.com" }, { "name": "username", "defaultValue": "[com.salesforce.username]" }, { "name": "password", "hidden": false, "defaultValue": "[com.salesforce.password]" }, { "name": "token", "hidden": false, "defaultValue": "[com.salesforce.token]" }, { "name": "sandbox", "defaultValue": "0" } ] },
Paso 3: Variables del Proyecto de Endpoint de Zendesk
Metadatos JSON para el Paso 3
{ "name": "Zendesk Endpoint Project Variables", "description": "Set-up the target Zendesk endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "hidden": false, "properties": [], "projectVariables": { "names": [ "com.zendesk.username", "com.zendesk.password" ] } },
Paso 4: RunNow
Metadatos JSON para el Paso 4
{ "name": "RunNow", "description": "The Run Now operation runs the integration right now.", "label": "RunNow", "type": "org.jitterbit.integration.data.entity.RunOperation", "hidden": false, "path": "/Operations/RunNow", "properties": [ { "name": "operationName", "defaultValue": "RunNow", "description": "Run the recipe to get Salesforce accounts and upsert them to NetSuite right now." } ] },
Paso 5: Revisión
Metadatos JSON para el Paso 5
{ "name": "Review", "description": "Push this recipe to the cloud", "label": "Review", "type": "org.jitterbit.integration.data.entity.Description", "hidden": false, "properties": [ { "name": "template", "defaultValue": "<div><p>When you click <b>Save</b> this recipe will be ran daily at 3am indefinitely</p></div>" } ] }
-
projectVariables: Esta sección define cualquier variable de proyecto utilizada en los pasos de la receta. Tenga en cuenta que esta es una nueva sección del archivo de metadatos de la receta que se encuentra al final, después de los pasos, y no debe confundirse con las projectVariables utilizadas dentro de los propios pasos.
- name: Requerido Este campo contiene el nombre de la variable de proyecto tal como se utiliza en su Jitterpak.
- displayName: Este campo se puede utilizar si desea un nombre diferente para mostrar en la interfaz de Citizen Integrator.
- description: Este campo se puede utilizar para insertar texto debajo del campo, por ejemplo, para proporcionar instrucciones sobre lo que los usuarios deben ingresar.
- type: Este campo se puede utilizar para definir el tipo de valor que el usuario puede proporcionar. El valor predeterminado es string. También puede usar integer, float, double, date, time, boolean, password, enum, dropdown, checkboxes, o textarea.
- required: Este valor se puede establecer como verdadero o falso. Si es verdadero, el campo de variable de proyecto será obligatorio completarlo cuando la receta esté configurada antes de que se puedan utilizar las acciones de Test Connection o Run Operation.
- regex: Este campo se puede utilizar para proporcionar una expresión regular (string) que el valor de la variable de proyecto debe coincidir cuando la receta esté configurada antes de que se puedan utilizar las acciones de Test Connection o Run Operation. Por ejemplo:
.+@.+[.].+
. - value: Este campo se puede utilizar si desea asignar un valor predeterminado a su variable de proyecto. Esto se puede utilizar para proporcionar un valor predeterminado junto con otros valores opcionales para la variable de proyecto. Un ejemplo adicional de metadatos JSON utilizando valores y opciones se proporciona en el Ejemplo 2 a continuación.
- options: Este campo se puede utilizar para presentar posibles valores en un menú desplegable, área de texto o casillas de verificación. Un ejemplo adicional de metadatos JSON utilizando valores y opciones se proporciona en el Ejemplo 2 a continuación.
Ejemplo de Metadatos JSON 1
"projectVariables": [ { "name": "com.salesforce.username", "displayName": "Salesforce Login", "description": "Please provide your Salesforce username or email." }, { "name": "com.salesforce.password", "displayName": "Salesforce Password", "description": "Please provide your Salesforce password.", "type": "password" }, { "name": "com.salesforce.token", "displayName": "Salesforce Security Token", "description": "Please provide your Salesforce security token.", "type": "password" }, { "name": "com.zendesk.username", "displayName": "Zendesk Login", "description": "Please provide your Zendesk email." }, { "name": "com.zendesk.password", "displayName": "Zendesk Password", "description": "Please provide your Zendesk password.", "type": "password" } ]
Ejemplo de Metadatos JSON 2
"projectVariables": [ { "name": "myDropdown", "displayName": "Dropdown Test", "value": "ProdOperation", "type": "dropdown", "description": "A field to test the dropdown feature", "options": [ { "name": "Development", "value": "DevOperation" }, { "name": "Production", "value": "ProdOperation" } ] }, { "name": "myCheckboxes", "displayName": "Checkbox Test", "value": "ProdOperation", "type": "checkboxes", "description": "A field to test the checkbox feature", "options": [ { "name": "Development", "value": "DevOperation" }, { "name": "Production", "value": "ProdOperation" } ] }, { "name": "myTextarea", "displayName": "Comments", "type": "textarea", "value": "This is a comment for the textarea", "description": "SAP Language" } ]
Tipos de pasos
Cada paso dentro de los metadatos de la receta del Integrador Ciudadano tiene un atributo "tipo" que indica el tipo del paso. Estos pasos corresponden directamente a los que los usuarios verán utilizando la interfaz del Integrador Ciudadano, y los tipos de esos pasos corresponden directamente con el Estudio de Diseño.
Estos son los posibles tipos de pasos disponibles. Se proporciona información adicional sobre cada tipo de paso en las siguientes secciones.
org.jitterbit.integration.data.entity.Description
org.jitterbit.integration.data.entity.ProjectVariable
org.jitterbit.integration.data.entity.RunOperation
org.jitterbit.integration.data.entity.SalesforceConnector
org.jitterbit.integration.data.entity.GenericProperties
org.jitterbit.integration.data.entity.Schedule
org.jitterbit.integration.data.entity.ApiBinding
org.jitterbit.integration.data.entity.HttpForm
org.jitterbit.integration.data.entity.TemporaryStorage
org.jitterbit.integration.data.entity.FileShare
org.jitterbit.integration.data.connector.FTPEndpoint
org.jitterbit.integration.data.connector.DBEndpoint
org.jitterbit.integration.data.connector.AutoDeskEndpoint
org.jitterbit.integration.data.connector.NetSuiteEndpoint
org.jitterbit.integration.data.connector.SapEndpoint
org.jitterbit.integration.data.connector.JMSEndpoint
org.jitterbit.integration.data.connector.MSAXEndpoint
org.jitterbit.integration.data.connector.Four51Endpoint
org.jitterbit.integration.data.connector.ClarizenEndpoint
org.jitterbit.integration.data.connector.QuickBooksEndpoint
Descripción
org.jitterbit.integration.data.entity.Description
Este tipo de paso debe utilizarse cuando se necesita proporcionar información detallada sobre una receta o un paso, o puede ser utilizado como una Revisión al final de la receta.
-
Por ejemplo:
{ "name": "Introduction", "description": "Insert accounts into a postgres database", "label": "Introduction", "type": "org.jitterbit.integration.data.entity.Description", "properties": [ { "name": "template", "defaultValue": "<div>...</div>" }
-
Si este paso es el último paso dentro de una receta (definido como un paso de Revisión) y contiene la propiedad "submitOperationsToRun", entonces el botón Guardar y Finalizar aplicará esta lógica respecto a las operaciones que necesitan ser enviadas para su ejecución. Tenga en cuenta que si estas opciones no están configuradas, el botón Guardar y Finalizar no enviará operaciones para su ejecución.
-
No se enviarán operaciones para su ejecución si:
{ "name": "submitOperationsToRun", "value": "" }
-
Solo se enviarán las operaciones especificadas para su ejecución si:
{ "name": "submitOperationsToRun", "value": "Operation1;Operation2" }
-
Se enviarán todas las operaciones para su ejecución si la propiedad no está presente:
{ "name": "submitOperationsToRun", "value": "*" }
-
VariableDeProyecto
org.jitterbit.integration.data.entity.ProjectVariable
Este tipo de paso se utiliza para agrupar un conjunto de variables de proyecto. También se puede utilizar para redefinir una definición de endpoint. Se puede adjuntar una "acción" opcional a él.
-
Por ejemplo:
{ "name": "Ftp Endpoint", "description": "Set-up the Source FTP Endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "projectVariables": { "names": [ "acme.org.ftp.host", "acme.org.ftp.username", "acme.org.ftp.password", "acme.org.ftp.path", "acme.org.ftp.filename" ], "action": { "name": "test-endpoint-connection", "displayName": "Test Connection", "useStepAsRequest": "/Source/FtpSite" } } }
-
Estas "acciones" son compatibles:
- "test-endpoint-connection": Esto se utiliza para probar una conexión de endpoint. Debe usarse junto con un endpoint.
- "submit-http-form": Esto necesita ser utilizado junto con un formulario HTTP (ver más abajo).
EjecutarOperación
org.jitterbit.integration.data.entity.RunOperation
Este tipo de paso se utiliza para ejecutar una operación con el fin de permitir al usuario realizar pruebas.
-
Por ejemplo:
{ "name": "Run Now", "description": "Run Now operation - fetch the csv file, parse and insert into database", "label": "Run Now", "type": "org.jitterbit.integration.data.entity.RunOperation", "path": "/Operation/SyncAccounts", "properties": [ { "name": "operationName", "defaultValue": "SyncAccounts", "description": "Synchronize Accounts" } ] }
VinculaciónApi
org.jitterbit.integration.data.entity.ApiBinding
Este tipo de paso se utiliza cuando hay necesidad de externalizar operaciones como APIs.
-
"assignTo": Esto permite almacenar la URI en una variable de proyecto que se puede utilizar dentro del Jitterpak. Por ejemplo:
{ "name": "Review the WebHooks associated to this recipe", "description": "The following Web API will be registered as webhooks to your system", "type": "org.jitterbit.integration.data.entity.ApiBinding", "bindings": { "apis": [ { "apiName": "FetchAccounts", "publicName": "citizen-fetchaccounts", "version": "v1", "sslOnly": "True", "timeout": "30", "enableCORS": "False", "assignTo": "acme.com.myservice.fetchaccounts.uri", "methods": [ { "method": "GET", "operationName": "RunNow", "responseType": "FINAL_TARGET" // possible - values "NO_RESPONSE", "FINAL_TARGET", "VARIABLE" } ] } ], "action": { "name": "import-api-packs", "displayName": "Bind API(s)", "useStepAsRequest": "" } } }
HttpForm
org.jitterbit.integration.data.entity.HttpForm
Este tipo de paso se utiliza cuando hay necesidad de interactuar con un Endpoint HTTP. Se pueden usar variables de proyecto como entradas para solicitudes/cabeceras.
-
Por ejemplo:
{ "name": "ConstantContact Endpoint Project Variables", "description": "Set up the target Constant Contact endpoint project variable. Enter one of com.constantcontact.listid or com.constantcontact.listname.", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "projectVariables": { "names": [ "com.constantcontact.apikey", "com.constantcontact.accesstoken", "com.constantcontact.listid", "com.constantcontact.listname" ], "action": { "name": "submit-http-form", "displayName": "Test Connection", "useStepAsRequest": "/Target/ConstantContactEndpoint" } } }, ... { "name": "Test ConstantContact Connection Information", "description": "Test ConstantContact endpoint connection information", "label": "Target Endpoint (ConstantContact)", "type": "org.jitterbit.integration.data.entity.HttpForm", "hidden": true, "path": "/Target/ConstantContactEndpoint", "properties": [ { "name": "verb", "defaultValue": "GET" }, { "name": "url", "defaultValue": "https://api.constantcontact.com/v2/lists?api_key=[com.constantcontact.apikey]" }, { "name": "headers", "defaultValue": "Authorization: Bearer [com.constantcontact.accesstoken]" }, { "name": "httpRequest", "defaultValue": "" }, { "name": "httpResponse", "defaultValue": "" } ] }
Connector
org.jitterbit.integration.data.connector.*
Estos se utilizan para los respectivos endpoints listados:
org.jitterbit.integration.data.connector.FTPEndpoint
org.jitterbit.integration.data.connector.DBEndpoint
org.jitterbit.integration.data.connector.AutoDeskEndpoint
org.jitterbit.integration.data.connector.NetSuiteEndpoint
org.jitterbit.integration.data.connector.SapEndpoint
org.jitterbit.integration.data.connector.JMSEndpoint
org.jitterbit.integration.data.connector.MSAXEndpoint
org.jitterbit.integration.data.connector.Four51Endpoint
org.jitterbit.integration.data.connector.ClarizenEndpoint
org.jitterbit.integration.data.connector.QuickBooksEndpoint
Definiciones de metadatos de receta
Estas subsecciones cubren las definiciones completas de metadatos para recetas tal como están definidas dentro de Jitterbit. Estas secciones describen todas las partes posibles del archivo de metadatos JSON. Cualquier campo requerido se lista al final de cada sección.
- Receta
- Paso
- Acción
- API
- Método API
- Propiedad
- Detalles de implementación de Jitterpak
- Operación
- Respuesta de implementación
- Integración de receta
- Etiqueta
- Autor
- Entorno
- Agente
- Grupo de Agentes
- Respuesta de inicio de sesión
- Organización
- Detalle de Organización
- Información de Conexión de Endpoint
- Parámetros de Conexión HTTP
- Clave Valor
- Error
- Registro de Operación
- Registro de Operación Detalle
- Detalles del Registro de Operación
- Nombre de Mensaje y Campo
- Categoría de Archivo de Resultado y GUID
- Respuesta de Ejecución de Operación
- Registro
- Información del Usuario
- Estado Desplegado
- Información de Endpoint
- Error de AWS
Receta
Recipe:
type: object
properties:
id:
type: string
description: "The numerical ID of the recipe"
guid:
type: string
description: "Unique identifier representing a recipe"
author:
See separate definition for Author
orgId:
type: string
description: "The Organization ID"
description:
type: string
description: "Description of Recipe"
name:
type: string
description: "Name of Recipe"
projectName:
type: string
description: "Name of the Jitterbit Project (or Jitterpak)"
displayName:
type: string
description: "Display name of Recipe"
summary:
type: string
description: "Short description of Recipe"
tags:
type: array
items:
See separate definition for Tag
description: List of tags
steps:
type: array
items:
See separate definition for Step
projectVariables:
type: array
items:
See separate definition for property
createdAt:
type: number
description: "Number of milliseconds since the UNIX epoch (Jan 1 1970 12am UTC)"
updatedAt:
type: number
description: "Number of milliseconds since the UNIX epoch (Jan 1 1970 12am UTC)"
updatedBy:
See separate definition for Author
version:
type: string
description: "Version of the recipe. Incremented when updated."
required:
- guid
- description
- name
- projectName
- steps
Paso
Step:
properties:
name:
type: string
description: "Name of step"
description:
type: string
description: "Description of the step"
guid:
type: string
description: "A unique id associated to the step"
label:
type: string
description: "A label that can be used for rendering instead of the name property"
type:
type: string
enum:
- org.jitterbit.integration.data.entity.Description
- org.jitterbit.integration.data.entity.ProjectVariable
- org.jitterbit.integration.data.entity.RunOperation
- org.jitterbit.integration.data.connector.FTPEndpoint
- org.jitterbit.integration.data.connector.DBEndpoint
- org.jitterbit.integration.data.connector.AutoDeskEndpoint
- org.jitterbit.integration.data.connector.NetSuiteEndpoint
- org.jitterbit.integration.data.connector.SapEndpoint
- org.jitterbit.integration.data.connector.JMSEndpoint
- org.jitterbit.integration.data.entity.SalesforceConnector
- org.jitterbit.integration.data.entity.GenericProperties
- org.jitterbit.integration.data.entity.Schedule
- org.jitterbit.integration.data.entity.ApiBinding
- org.jitterbit.integration.data.entity.HttpForm
- org.jitterbit.integration.data.entity.TemporaryStorage
- org.jitterbit.integration.data.entity.FileShare
- org.jitterbit.integration.data.connector.MSAXEndpoint
- org.jitterbit.integration.data.connector.QuickBooksEndpoint
- org.jitterbit.integration.data.connector.ClarizenEndpoint
- org.jitterbit.integration.data.connector.Four51Endpoint
description: |
"Type associated with this step; these are possible values:
org.jitterbit.integration.data.entity.Description
org.jitterbit.integration.data.entity.ProjectVariable,
org.jitterbit.integration.data.entity.RunOperation,
org.jitterbit.integration.data.connector.FTPEndpoint,
org.jitterbit.integration.data.connector.DBEndpoint,
org.jitterbit.integration.data.connector.AutoDeskEndpoint,
org.jitterbit.integration.data.connector.NetSuiteEndpoint,
org.jitterbit.integration.data.connector.SapEndpoint,
org.jitterbit.integration.data.connector.JMSEndpoint,
org.jitterbit.integration.data.entity.SalesforceConnector,
org.jitterbit.integration.data.entity.GenericProperties,
org.jitterbit.integration.data.entity.ApiBinding,
org.jitterbit.integration.data.entity.Schedule,
org.jitterbit.integration.data.entity.HttpForm,
org.jitterbit.integration.data.entity.FileShare,
org.jitterbit.integration.data.entity.TemporaryStorage,
org.jitterbit.integration.data.connector.MSAXEndpoint,
org.jitterbit.integration.data.connector.QuickBooksEndpoint,
org.jitterbit.integration.data.connector.ClarizenEndpoint,
org.jitterbit.integration.data.connector.Four51Endpoint"
hidden:
type: boolean
description: "Indicate if this step should be renderable or not"
required:
type: boolean
description: "Whether the step requires validation or not"
properties:
type: array
description: "Properties associated with this step; in a step you can have either properties or projectVariables but not both at the same time"
items:
See separate definition for property
path:
type: string
description: "If this step maps to an entry in Jitterpak provide the path to; in general, this is valid for endpoints"
projectVariables:
type: object
description: "A list of project variables grouped together to represent a configurable entities; this cannot be used if properties are defined"
properties:
names:
type: array
items:
type: string
action:
See separate definition for Action
description: "Describe an action that can be invoked using properties from specified step; example: test connection endpoint"
required:
- names
bindings:
type: object
properties:
apis:
type: array
items:
See separate definition for API
action:
See separate definition for Action
required:
- name
- description
- type
Acción
Action:
properties:
name:
type: string
displayName:
type: string
useStepAsRequest:
type: string
description: "Use properties from a specified steps within the recipe; usually such a step is defined as a hidden step that is not rendered"
required:
- name
- useStepAsRequest
API
API:
properties:
apiName:
type: string
description: "Name of the API"
publicName:
type: string
description: "The public name of the API; this name would be part of the URI that will be public"
description:
type: string
description: "A short description of the api"
version:
type: string
description: "Version of the API"
sslOnly:
type: boolean
description: "Indicate if should only listen over HTTPS only - defaults to true"
timeout:
type: number
description: "Indicate after how many seconds to timeout; default is 30s"
enableCORS:
type: boolean
description: "Indicate if the cors should be enabled or not; defaults to false"
assignTo:
type: string
description: "Assign the API URL to a project variable defined within the associated JPK"
methods:
type: array
items:
See separate definition for API Method
required:
- apiName
- publicName
- description
- version
- methods
Método de API
APIMethod:
properties:
method:
type: string
description: "Indicate the HTTP verb for to use for this APIMethod (PUT|POST|DELETE|GET)"
enum:
- GET
- DELETE
- POST
- PUT
operationName:
type: string
description: "Name of operation that will be invoked when this APIMethod is invoked"
responseType:
type: string
description: "Response type returned by the operation; defaults to NO_RESPONSE"
enum:
- VARIABLE
- FINAL_TARGET
- NO_RESPONSE
required:
- method
- operationName
Propiedad
Property:
properties:
name:
type: string
description: "Property name"
defaultValue:
type: string
description: "Default value associated to this property"
value:
type: string
description: "A value assigned by the user; if no value is provided by default the defaultValue will be assigned"
type:
type: string
description: "Indicate the type of the value; integer, float, double, date, time, boolean, string, password, textarea, enum; default string"
description:
type: string
description: "Provide a description of this property"
hidden:
type: boolean
description: "Default value will be false"
displayName:
type: string
description: "Name used for displaying; if not defined then the name property will be used"
required:
type: boolean
description: "Whether the property requires a value or not"
regex:
type: boolean
description: "Regex that the value should match"
required:
- name
Detalles de despliegue de Jitterpak
DeployJpkDetails:
type: object
properties:
envId:
type: string
description: "Environment ID of the deployed recipe."
envName:
type: string
description: "Environment name"
projectId:
type: string
description: "Deployed recipe ID"
projectGuid:
type: string
description: "Deployed project GUID"
projectName:
type: string
description: "Deployed project name"
oldProjectVariables:
type: array
items:
See separate definition for property
Operación
Operation:
type: object
properties:
operationGuid:
type: string
description: "The GUID of the operation"
operationName:
type: string
description: "The name of the operation"
Respuesta de despliegue
DeployResponse:
properties:
deployJpkDetails:
type: array
items:
See separate definition for Deploy JPK Details
operations:
type: array
items:
See separate definition for Operation
Integración de receta
RecipeIntegration:
allOf:
- See separate definition for Recipe
- properties:
deployedRecipeId:
description: "ID of the deployed configured recipe (this is the same as the ID of a Jitterbit project that is deployed to an environment)"
type: string
Etiqueta
Tag:
type: object
properties:
key:
type: string
description: "A key that can be used for searching the recipe later; possible values: source, target, search"
value:
type: string
description: "A value that can be in a search to match a recipe"
required:
- key
- value
Autor
Author:
type: object
properties:
userId:
type: string
description: "ID of the recipe's author"
name:
type: string
description: "Name of the recipe's author"
orgName:
type: string
description: "Name of the organization that this user is part of"
required:
- userId
- name
Entorno
Environment:
type: object
properties:
id:
type: string
description: "A unique ID associated to environment"
orgId:
type: string
description: "The ID of the org that this environment is part of"
name:
type: string
description: "Name of the environment"
agentGroupName:
type: string
description: "The agent group associated with this environment"
agentGroupId:
type: string
description: "The ID of the agent group"
urlPrefix:
type: string
description: "Prefix URL associated to environment"
Agente
Agent:
type: object
properties:
id:
type: string
description: "Unique ID of the agent"
name:
type: string
description: "Name of the agent"
os:
type: string
description: "Type of operating system where agent is running"
osVersion:
type: string
description: "Type of operating system where agent is running"
jitterbitVersion:
type: string
description: "Version of the Jitterbit agent"
hostname:
type: string
description: "Name of the host"
ipv4Address:
type: string
description: "IPV4 Address"
ipv6Address:
type: string
description: "IPV6 Address"
agentGroupName:
type: string
description: "Associate the agent with the named agent group"
status:
type: string
description: "Indicates if the agent is running"
agentGroupId:
type: string
description: "Id of the agent group that this agent is part of"
Grupo de agentes
AgentGroup:
type: object
properties:
id:
type: string
description: "ID of the agent group"
name:
type: string
description: "Name of the agent group"
description:
type: string
description: "Description of the agent group"
Respuesta de inicio de sesión
LoginResponse:
type: object
properties:
authenticationToken:
type: string
description: "Token that is used for authentication/authorizing client's REST requests"
status:
type: boolean
description: "Indicate if the user is active or not"
defaultOrgId:
type: string
description: "Default organization id that the user has logged into"
orgs:
type: array
description: "Organizations that the user is part of"
items:
See separate definition for Organization
Organización
Org:
type: object
properties:
orgId:
type: string
description: "ID of the organization"
orgName:
type: string
description: "Name of the organization"
orgZoneUrl:
type: string
description: "Zone URL associated to this organization"
urlPrefix:
type: string
description: "The URL prefix used for the API gateway for this organization"
apiHost:
type: string
description: "The DNS hostname used by this organization when exposing APIs"
Detalle de organización
OrgDetail:
allOf:
- See separate definition for Recipe
- properties:
orgType:
description: "Type of org"
type: number
active:
description: "Indicate if this org is active or not"
type: boolean
legalName:
description: "The legal name of the org"
type: string
environments:
type: array
items:
See separate definition for Environment
Información de conexión de endpoint
EndpointConnectionInfo:
type: object
description: "Object that defines the properties associated to a connection endpoint"
properties:
keyValues:
type: array
items:
See separate definition for KeyValue
Parámetros de conexión HTTP
HttpConnectionParams:
type: object
properties:
verb:
type: array
items:
See separate definition for property
url:
type: array
items:
See separate definition for property
headers:
type: array
items:
See separate definition for property
httpRequest:
type: array
items:
See separate definition for property
httpResponse:
type: array
items:
See separate definition for property
username:
type: array
items:
See separate definition for property
password:
type: array
items:
See separate definition for property
errorIfRegexMatch:
type: array
items:
See separate definition for property
errorMessageRegexSearch:
type: array
items:
See separate definition for property
Valor de clave
KeyValue:
type: object
properties:
key:
type: string
value:
type: string
Error
Error:
type: object
properties:
code:
type: integer
description: "Code associated with this error; in general, maps to an HTTP Code"
message:
type: string
description: "A description of the error"
fields:
type: string
description: "Fields that report the error (optional)"
Registro de operación
OperationLog:
type: object
properties:
records:
type: array
items:
See separate definition for Operation Log Record
Registro de operación
OperationLogRecord:
type: object
properties:
attributes:
See separate definition for Record
childRecords:
See separate definition for Operation Log
Detalles del registro de operación
OperationLogDetails:
type: object
properties:
operationName:
type: string
mainMessage:
type: string
sourceRecords:
type: integer
description: Number of source records
targetRecords:
type: integer
description: Number of target records
failedRecords:
type: integer
description: Number of failed records
successRecords:
type: integer
description: Number of success records
filesProcessed:
type: integer
description: Number of files processed
messageAndFieldName:
type: array
items:
See separate definition for Message and Field Name
resultFileCategoryAndGuid:
type: array
items:
See separate definition for Result File Category and GUID
Mensaje y nombre de campo
MessageAndFieldName:
type: object
properties:
message:
type: string
fieldName:
type: string
Categoría de archivo de resultado y GUID
ResultFileCategoryAndGuid:
type: object
properties:
category:
type: number
fileGuid:
type: number
Respuesta de operación de ejecución
RunOperationResponse:
type: object
properties:
orgId:
type: string
description: "ID of the organization associated with the environment where the operation has been deployed and executed"
environmentId:
type: string
description: "ID of the environment where the operation has been deployed and executed"
operationInstanceGuid:
type: string
description: "GUID of the operation instance"
operationGuid:
type: string
description: "GUID of the operation"
submittedAt:
type: string
description: "Date when the operation was submitted for execution"
Registro
Record:
type: object
properties:
operationInstanceGuid:
type: string
description: "GUID of an instance of an operation; represents an execution of an operation"
parentInstanceGuid:
type: string
description: "GUID associated to the parent operation; an operation that has been triggered/executed this operation instance"
operationGuid:
type: string
description: "GUID associated to this operation"
operationName:
type: string
description: "Name of the operation"
operationStatusId:
type: number
description: "Possible value for the operation statusId: SUBMITTED(0), PENDING(1), CANCELED(2), RUNNING(3), SUCCESS(4), SUCCESS_WITH_INFO(5), SUCCESS_WITH_WARNING(6), ERROR(7), CANCEL_REQUESTED(8), SUCCESS_WITH_CHILD_ERROR(9), RECEIVED(10), UNKNOWN(-1)"
operationStatus:
type: string
description: "Status of the operation - see operationStatusId for possible values"
environmentId:
type: string
description: "ID of the environment where operation has been deployed and running"
environmentName:
type: string
description: "Name of the environment where operation has been deployed and running"
agentId:
type: string
description: "ID of the agent where operation has been running"
agentName:
type: string
description: "Name of the agent where operation has been running"
projectName:
type: string
description: "Name of the Jitterbit pack associated to the recipe"
message:
type: string
description: "The message associated with this operation indicating the status of it"
operationEnteredTimestamp:
type: number
description: "Timestamp when the operation was entered"
operationStartedTimestamp:
type: number
description: "Timestamp when the operation was started"
operationStatusTimestamp:
type: number
description: "Timestamp of the operation status"
debugModeEnabled:
type: boolean
description: "Indicate if the debug mode is enabled or not"
debugFilePresent:
type: boolean
description: "Indicate if there is a debug file present for downloading"
Información del usuario
UserInfo:
type: object
properties:
title:
type: string
phone:
type: string
company:
type: string
postalCode:
type: string
subscription:
type: string
signUpSource:
type: string
offeringEnumId:
type: string
active:
type: string
timezone:
type: string
Estado desplegado
DeployedStatus:
type: object
properties:
good:
type: integer
warn:
type: integer
error:
type: integer
Información del punto final
EndpointInfo:
type: object
properties:
name:
type: string
description: "Name of the endpoint"
category:
type: string
description: "Indicates the category this endpoint is part of; examples: crm, database"
icon:
type: string
description: "Path to fetch the icon associated with this endpoint"
required:
- name
- icon
Error de AWS
AWSError:
type: object
properties:
code:
type: string
message:
type: string
retryable:
type: boolean
statusCode:
type: number
hostname:
type: string
region:
type: string
retryDelay:
type: number
requestId:
type: string
extendedRequestId:
type: string
cfId:
type: string