Criação de nova receita¶
Introdução¶
Uma receita do Citizen Integrator é um modelo de integração reutilizável que fornece um guia passo a passo Citizen Integrator, disponível através do Portal Harmony. Citizen Integrator receitas podem ser usadas por membros de uma organização Harmony para que possam facilmente configurar um Design Studio integração para um caso de uso específico.
Este documento aborda a criação manual das receitas do Citizen Integrator. As receitas também podem ser criadas usando a interface do Citizen Integrator. Ver Citizen Integrator - Gerar ou Editar Receita para detalhes.
Uma receita do Citizen Integrator consiste em duas partes:
- um Design Studio Jitterpak (sufixo de arquivo
.jpk
ou.JPK
); e - um arquivo JSON de metadados de receita do Citizen Integrator (sufixo de arquivo
.json
ou.JSON
) que fornece as etapas a usuário passa para configurar a integração.
Aqui está um resumo dos passos necessários para criar uma receita que pode ser disponibilizada através do Cidadão Interface web do integrador:
Etapa 1: Crie um Jitterpak
Crie um Jitterpak (JPK) usando Harmony Design Studio. O Jitterpak será usado como base para a receita. Consulte Criando Jitterpaks para receitas.
Etapa 2: Crie os metadados da receita
Crie um arquivo de metadados de receita (um arquivo JSON). Os metadados da receita incluem as etapas que os usuários concluem por meio a interface da web e associa as informações fornecidas pelo usuário ao Jitterpak. Ver Criando metadados de receita para melhores práticas, um passo a passo de amostra, uma descrição de tipos de etapa de receita e documentação de componentes de um arquivo de metadados de receita.
Etapa 3: Validar os metadados da receita
Valide seu arquivo de metadados de receita usando o jbcli
. Ver Validar uma receita do Interface de linha de comando do Jitterbit.
Etapa 4: Carregue o Jitterpak e os metadados da receita
Carregue seu Jitterpak e o arquivo de metadados da receita para o seu repositório de receitas. Ver Carregar uma nova receita e Jitterpak do Interface de linha de comando do Jitterbit. Você também pode carregar receitas através da interface web do Citizen Integrator, conforme descrito no Citizen Integrator - Painel ou Citizen Integrator - Minhas receitas páginas.
Etapa 5: Configurar e implantar a receita
Sua nova receita já está disponível para os membros de sua organização usarem através da web Citizen Integrator interface. Ver Citizen Integrator - Configurar Receita para obter instruções do usuário sobre como configurar e implantar receitas.
Criando Jitterpaks para receitas¶
Ao criar uma nova receita do Citizen Integrator, recomendamos começar criando primeiro um Design Studio Jitterpak que contém a estrutura do projeto para seu modelo de receita.
Jitterpaks não são específicos para funcionalidade de receita; eles são uma função central do aplicativo Design Studio completo. Espera-se que os usuários que desejam criar novas receitas já estejam familiarizados com o Design Studio. Para maiores informações, consulte os materiais em Design Studio e Jitterpaks.
Observação
As receitas do Citizen Integrator são criadas a partir Design Studio projetos. Para Cloud Studio, em vez disso, use Receitas de integração do Cloud Studio ou Arquétipos de Processo do Cloud Studio, disponível no Jitterbit Marketplace.
Melhores práticas do Jitterpak¶
Ao criar um Jitterpak para uso com receitas do Citizen Integrator, recomendamos estas práticas recomendadas para receita criação:
-
Defina seu(s) caso(s) de uso típico(s)
Antes de iniciar qualquer Jitterpak ou receita, você deve ter uma boa ideia do que deseja que seus usuários possam realize usando a receita. Lembre-se de que você pode criar várias receitas, se necessário. O caso de uso será ajudá-lo a decidir o que incluir em seu Jitterpak e as etapas que você deseja que um usuário preencha por meio do Citizen Interface do integrador.
-
Exemplos de referência para ajudar a começar
Confira nossos Jitterpaks públicos para referência, ou se você encontrar um que seja semelhante ao seu caso de uso, você pode até deseja começar com ele. Para baixar qualquer um dos Jitterpaks criados para nossas receitas públicas, siga Obtenha uma receita específica e salve o Jitterpak localmente em Jitterbit Command Line Interface. Ou consulte nosso Biblioteca Jitterpak.
-
Crie variáveis de projeto sempre que possível
As variáveis do projeto são fundamentais para criar receitas que podem ser facilmente preenchidas por um usuário através do Cidadão Interface web do integrador. Pense nas variáveis do projeto como campos com informações específicas que você deseja que os usuários para fornecer ao usar sua receita. Em seguida, crie esses itens como variáveis de projeto em seu Jitterpak. Por exemplo, informações de conexão para novos endpoints.
-
Variáveis de projeto de namespace para referência posterior
Ao criar variáveis de projeto, é uma boa prática nomeá-las. Por exemplo, uma variável de projeto para hospedar pode ser nomeado “db. hospedar” para indicar que se refere a um hospedar de banco de dados. Isso facilitará a leitura do variáveis de projeto ao criar seus metadados de receita.
-
Coloque as operações no nível raiz se quiser executá-las por meio de uma etapa da receita
Qualquer operação que você deseja executar por meio de uma etapa RunOperation em sua receita deve ser colocada no nível raiz de a pasta de operações dentro do Design Studio. Ou seja, se você tiver operações dentro de subpastas em seu árvore de operações, elas não serão executadas quando expostas por meio de uma etapa RunOperation. Esta ressalva é apenas para operações sendo executado em uma etapa específica da receita. Se suas operações estiverem dentro de subpastas, elas ainda serão executadas quando salvar e implantar a receita.
-
Inclua WriteToOperationLog nas operações que deseja executar por meio de uma etapa de receita
Inclua WriteToOperationLog em operações que você deseja executar por meio de uma etapa RunOperation em sua receita (consulte Funções de registro e erro). O As mensagens WriteToOperationLog serão exibidas no painel abaixo do botão RunOperation no Citizen Interface do integrador e fornecer feedback ao usuário da receita sobre a operação executada.
-
Use os valores das variáveis do projeto para testar, mas remova os valores ao exportar como um Jitterpak
Onde quer que você use variáveis de projeto em seu Jitterpak, certifique-se de não incluir valores específicos ao exportar o Jitterpak. Lembre-se, os valores normalmente estão em branco para que possam ser preenchidos pelo usuário ao configurar a receita. É sempre uma boa ideia testar seu projeto do Design Studio com valores específicos, mas certifique-se de remova-os antes de exportar. Aqui estão algumas opções para remover valores:
-
Todos os valores: Para remover todos os valores das variáveis do projeto, ao exportar como um Jitterpak, desmarque a caixa “Incluir valores de variável de projeto.” Esta é a maneira padrão e recomendada de remover a variável do projeto valores.
-
Alguns valores: Para remover apenas variáveis específicas do projeto, basta remover o valor padrão no projeto variável. Esta opção pode ser mais apropriada do que usar a caixa de seleção descrita acima se você quiser manter intencionalmente alguns valores de variáveis do projeto. Por exemplo, se a sua receita for privada dentro do seu organização, você pode incluir informações como um URL que não mudará por usuário preenchendo o receita.
-
-
Anote os horários integrados
Se você incluir um agendamento no Jitterpak, anote quando a operação está programada para ser executada e faça certifique-se de documentar isso nos metadados da receita. Caso contrário, os usuários não estarão cientes da programação construída no Jitterpak. No momento, as programações não estão disponíveis para serem configuradas em uma receita.
Criando metadados de receita¶
Você pode começar a criar metadados de receita do Citizen Integrator ao criar seu Jitterpak ou criar os metadados quando você acabar. Os metadados da receita fornecem duas funções principais:
- Define as etapas que o usuário deverá seguir para configurar a receita através da interface do Citizen Integrator.
- Conecta quaisquer valores fornecidos pelo usuário de volta ao Jitterpak que acompanha a receita para que o recém-configurado operação(ões) executada(s) conforme o esperado através do Jitterbit.
Esta seção é organizada para fornecer uma lista de práticas recomendadas para criar receitas, um exemplo passo a passo para criação de uma receita, os tipos de etapas disponíveis para serem usadas na receita e, finalmente, uma lista abrangente de todos possíveis partes do arquivo de metadados da receita.
Práticas recomendadas de metadados¶
Ao criar seu arquivo de metadados de receita do Citizen Integrator, estas são as melhores práticas úteis para os novos criando receitas.
-
Exemplos de referência para comparar a interface do Citizen Integrator com os metadados da receita
Confira como estão estruturadas as nossas receitas públicas, comparando com o que você vê no Citizen Integrator interface com o arquivo de metadados da receita real para essa receita. Se você encontrar um que seja semelhante ao seu caso de uso, você pode até querer começar com ele.
-
Interface do Citizen Integrator: Acesse a interface do Citizen Integrator através do Harmony Portal. Ver Citizen Integrator - Painel para mais detalhes.
-
Metadados da receita: Baixe os metadados da receita para qualquer uma de nossas receitas públicas seguindo Obtenha uma receita específica e salve o Jitterpak localmente da Interface de linha de comando do Jitterbit.
-
-
Construa sua receita em iterações
Espere precisar fazer ajustes em seu Jitterpak enquanto trabalha nos metadados de sua receita e vice-versa. Você pode sempre carregue uma primeira versão, verifique como ela é exibida e funciona na interface do Citizen Integrator e, em seguida, continue a atualizar seus arquivos de receita do Citizen Integrator - Minhas receitas página, ou seguindo Carregar uma nova receita e Jitterpak e Atualizar uma receita existente e Jitterpak da Interface de linha de comando do Jitterbit.
-
Inclua as etapas de introdução e revisão nos metadados da receita
É recomendável começar com uma etapa de Introdução e terminar com uma etapa de Revisão para manter as receitas consistentes. Essas seções usam o
org.jitterbit.integration.data.entity.Description
tipo (descrito em Tipos de etapa).-
A Introdução deve ser usada para explicar para que serve a receita, descrever quaisquer limitações, listar campos padrão e/ou fornecer informações de pré-requisito que alguém usando a receita deve conhecer.
-
A etapa de Revisão deve resumir e confirmar para o usuário o comportamento esperado quando a receita configurada for implantado. Se você incluir uma programação no Jitterpak, a etapa de Revisão é um bom lugar para documentar o hora em que a operação está programada para execução. Lembre-se de especificar o fuso horário (UTC é o padrão no Design Studio, mas você também pode converter a hora para o fuso horário desejado no Design Studio e especificar isso).
-
-
Padronize os nomes nos metadados da sua receita
Padronize o nome da receita, nome do projeto, nomes de arquivos e estrutura de diretórios. Isso ajuda a evitar erros não intencionais erros ao se referir às partes da receita e facilita o gerenciamento de todas as partes da receita.
-
Para migração de ponto final para ponto final, ordene os endpoints direcionalmente
Para migrações de um endpoint para outro (por exemplo, migração de contas Salesforce para empresas NetSuite ), solicite o endpoints direcionalmente:
- No arquivo JSON:
"name": "Migrate Salesforce Accounts to NetSuite Companies"
- No arquivo JSON:
"projectName": "salesforce_accounts-to-netsuite_companies"
- Diretório:
salesforce-to-netsuite/accounts-to-companies/
- Nomes de arquivos:
salesforce_accounts-to-netsuite_companies.jpk
esalesforce_accounts-to-netsuite_companies.json
- No arquivo JSON:
-
Para sincronização de endpoint, ordene os endpoints em ordem alfabética
Para sincronizações de dois endpoints (por exemplo, sincronização de contas Salesforce e empresas NetSuite ), solicite o endpoints em ordem alfabética:
- No arquivo JSON:
"name": "Synchronize NetSuite Companies and Salesforce Accounts"
- No arquivo JSON:
"projectName": "netsuite_companies-salesforce_accounts"
- Diretório:
netsuite-salesforce/companies-accounts/
- Nomes de arquivos:
netsuite_companies-salesforce_accounts.jpk
enetsuite_companies-salesforce_accounts.json
- No arquivo JSON:
-
Defina as variáveis do projeto no final dos metadados da receita
Quaisquer variáveis de projeto usadas em seu Jitterpak e referenciadas nas etapas de metadados de sua receita devem ser definido no final do arquivo de metadados da receita.
-
Ocultar etapas que você deseja incorporar em outras etapas
Você pode especificar um atributo oculto em uma etapa para torná-lo oculto da renderização na interface do Citizen Integrator , , mas faça referência a essa etapa usando um caminho que aponte para uma ação com “useStepAsRequest”. Essa é uma boa ideia se, por exemplo, você configurar uma etapa para testar as informações de conexão, mas quiser incluí-las como uma conexão de teste botão em outra etapa.
-
Deixe de fora os campos que serão gerados após o upload dos metadados da receita
Alguns campos no arquivo de metadados da receita não são especificados no upload do arquivo e, em vez disso, são gerados por o sistema quando o arquivo é carregado. Esses campos vêm no início e no final do arquivo de metadados da receita.
- id: Este campo é preenchido quando os metadados da receita são carregados no repositório de receitas. Depois de carregar, você pode descobrir o ID da receita gerado usando Listar todas as receitas do Interface de linha de comando Jitterbit.
- guid: Obrigatório Este campo é preenchido quando um Jitterpak associado é carregado na receita repositório. O GUID (identificador exclusivo globalmente) é preenchido com o do Jitterpak associado. No entanto, este campo é obrigatório, portanto você ainda deve incluí-lo no arquivo. O identificador real será atualizado após o upload.
- createdAt: O timestamp da época Unix em milissegundos de quando a receita foi carregada pela primeira vez.
- updatedAt: O timestamp da época Unix em milissegundos de quando a receita foi atualizada pela última vez.
-
atualizado por
- userId: O nome de usuário Harmony da pessoa que atualizou a receita pela última vez.
- nome: O nome da pessoa que atualizou a receita pela última vez.
- orgName: O nome da organização à qual pertence a última pessoa que atualizou a receita.
-
orgid: O ID da organização à qual pertence a pessoa que carregou a receita. a receita é pertencente a esta organização e somente o autor da receita ou um administrador da organização pode atualizar ou excluir a receita (consulte Citizen Integrator - Minhas receitas ou Jitterbit Command Line Interface).
-
autor
- userId: O nome de usuário Harmony da pessoa que carregou a receita.
- nome: O nome da pessoa que carregou a receita.
- orgName: O nome da organização à qual pertence a pessoa que carregou a receita.
Depois de carregar uma receita, você pode ver os valores gerados para esses campos ao usar Obtenha uma receita específica para retornar os metadados da receita (consulte a Interface de linha de comando do Jitterbit).
-
Use HTML para rich text
Se você quiser usar links, listas, negrito, etc. nas etapas da receita, tente usar HTML. A maioria dos campos onde você pode deseja usar estes permitem o uso de HTML, concedendo a você mais controle sobre a aparência e a funcionalidade da receita etapas.
-
Validar antes de carregar
É sempre uma boa ideia certificar-se de que os metadados de sua receita sejam válidos antes de carregá-los. Faça isso usando Validar uma receita (Veja o Interface de linha de comando Jitterbit). Você não deve fazer upload de receitas que não não validam, pois terão erros para os usuários que tentarem configurar a receita.
-
Verifique os logs para solução de problemas
Depois de carregar sua receita, você também pode testá-la configurando-a e implantando-a por meio do Citizen Interface do integrador. Não se esqueça de que todas as mesmas ferramentas para depuração estão disponíveis, assim como para qualquer outro projeto Jitterbit. Ver Citizen Integrator - Minhas receitas ou verificar registros de operação, projeto, atividades, etc. dentro do Management Console.
Amostra passo a passo¶
Esta seção fornece um passo a passo para criar uma receita para uso com a interface da web do Citizen Integrator. Esse O exemplo usa alguns dos elementos mais comuns de receitas que você pode encontrar normalmente. Para uma lista completa de opções que você pode incluir nas receitas, consulte Definições de metadados de receita.
Para este exemplo, criaremos uma receita que sincroniza contas do Salesforce e as insere no Zendesk. Você pode acompanhe esta demonstração baixando a receita mais recente do Salesforce para Zendesk seguindo Obtenha uma receita específica e Salvar o Jitterpak localmente do Interface de linha de comando do Jitterbit.
Etapa 1: Criar projeto no Design Studio
O primeiro passo é configurar seu projeto no Design Studio. Ao criar seu projeto, consulte o Práticas recomendadas do Jitterpak acima que são específicos para criar Jitterpaks para uso com receitas.
Esses componentes do Jitterpak são usados para a receita Salesforce to Zendesk:
-
Operations: Este Jitterpak é configurado para que ao executar a operação RunNow, o Jitterbit irá consultar Salesforce para obter informações sobre os casos (casos de consulta) e, em seguida, usar esses casos do Salesforce para atualizar e inserir tickets no Zendesk (Criar tickets do Zendesk ). Se você baixou o Jitterpak para acompanhar, você pode clicar em cada elemento do gráfico para saber mais sobre os componentes das operações.
-
Transformações: Cada transformação foi mapeada para que os campos padrão apropriados sejam incluídos em a receita. Muitas receitas envolverão o mapeamento de campos padrão de um endpoint para outro. Neste exemplo, o A consultar do Salesforce usa apenas os campos apropriados para esta receita específica (ou seja, número do caso, origem, assunto, E-mail Fornecido, Nome Fornecido). Se você estiver criando sua própria receita para uso em uma organização que usa Campos personalizados do Salesforce, você também pode optar por integrá-los à sua receita, desde que o mapeamento seja definido aqui.
-
Fontes e destinos: defina quaisquer origens e destinos como faria normalmente para qualquer projeto do Design Studio. Esse receita específica usa armazenamento temporário para contas Salesforce e casos Salesforce e destinos HTTP como o parâmetros de conexão para Zendesk.
-
Métodos de serviço da Web e Endpoints HTTP hospedados: Este Jitterpak não usa nenhum desses componentes, mas você pode configurá-los como faria para qualquer outro projeto do Design Studio.
-
Horários: Este Jitterpak não inclui um horário, mas você pode incluir aqui se por exemplo quiser a operação para executar diariamente. Como a programação não é configurável pelo usuário da receita, você deve fazer certifique-se de anotar em um campo de texto da receita quando sua operação está programada para ser executada. Um lugar típico para adicionar esta é a etapa de revisão.
-
Mensagens de E-mail: Este Jitterpak não inclui nenhuma mensagem e-mail, mas você pode optar por configurá-las usando variáveis do projeto se quiser que sua receita gere notificações e-mail.
-
Scripts: Neste Jitterpak, scripts são usados para escrever mensagens no log, incluindo sucesso específico e mensagens de falha.
-
Variáveis do projeto: As variáveis do projeto são fundamentais para criar receitas configuráveis. Normalmente, as variáveis do projeto são usados sempre que você deseja que os usuários forneçam valores durante a configuração da receita. Neste Jitterpak, temos variáveis de projeto para credenciais Salesforce e Zendesk. Lembre-se de testar seu projeto do Design Studio com e remova-os antes de exportar o Jitterpak.
-
Jitterbit Connect: Como este Jitterpak usa Salesforce, as credenciais de conexão para a organização são incluídos nesta seção.
-
Conectores: Este Jitterpak não usa nenhum conector, mas muitas outras receitas públicas usam. Se você quiser crie uma nova receita usando um conector, pode ser uma boa ideia baixar um exemplo diferente usando um dos conectores como Autodesk.
Etapa 2: Teste o projeto do Design Studio
Depois que seus componentes forem definidos, salve, implantar e execute seu projeto do Design Studio para garantir que ele seja executado com sucesso.
Você pode verificar o log da operação em busca de mensagens de erro.
Etapa 3: Exportar o projeto do Design Studio
Remova quaisquer valores de variável de projeto ou outras informações de credencial que você criará em sua receita e exporte seu projeto do Design Studio como um Jitterpak.
Neste exemplo, removemos as variáveis e credenciais do projeto no estágio de exportação. Você pode salvar em qualquer local que você desejar agora, pois você carregará o Jitterpak mais tarde (consulte Citizen Integrator - Minhas receitas ou o Interface de linha de comando do Jitterbit.
Etapa 4: Criar metadados de receita
Agora que você criou um Jitterpak, pode personalizar os metadados da receita para que correspondam aos componentes em seu Jitterpak.
Consulte as Práticas recomendadas de metadados acima para criar seu arquivo de metadados de receita como bem como os Tipos de etapa ao iniciar uma nova receita. Para obter uma lista completa de definições de receita, consulte Definições de metadados de receita abaixo para referência.
O arquivo JSON completo usado para definir os metadados da receita do Salesforce para Zendesk é fornecido abaixo, seguido por um detalhamento de cada seção do arquivo de metadados da receita.
Metadados JSON - Salesforce para 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"
}
],
}
-
descrição: Obrigatório
Este campo deve conter uma descrição da receita.
"description": "Sync accounts from Salesforce and upsert to Zendesk"
-
guid: Obrigatório
Este campo pode conter qualquer valor quando a receita é carregada pela primeira vez; ao carregar com um Jitterpak associado, o valor será substituído pelo GUID (identificador exclusivo global) do Jitterpak associado.
"guid": "8yg7df8a-b526-4d14-a49d-39090d63a426"
-
nome: Obrigatório
Este campo deve conter o nome da receita.
Mostrado como o título da receita na lista de receitas:"name": "Salesforce to Zendesk"
Mostrado como o título da receita em Etapas de configuração:
-
projectName: Obrigatório
Este campo deve corresponder ao nome do arquivo Jitterpak (JPK).
"projectName": "Salesforce to Zendesk"
-
etapas: Obrigatório
As etapas definem as etapas de configuração na interface do Citizen Integrator. Os atributos da etapa usados na receita Salesforce para Zendesk são fornecidos abaixo, seguidos por uma comparação do Citizen Integrator interface e os metadados JSON para a etapa.
- nome: Obrigatório Este campo é o nome da etapa.
- descrição: Obrigatório Este campo é uma descrição da etapa.
- rótulo: Este campo é um rótulo que pode ser usado para renderizar um nome de etapa diferente do definido nome da etapa.
- tipo: Obrigatório Este campo é o tipo associado a esta etapa. Consulte Tipos de etapa para uma explicação dos vários tipos de etapas.
- obrigatório: Este valor pode ser definido como verdadeiro ou falso. Se verdadeiro, a etapa da receita deverá ser concluída quando a receita é configurada antes que as ações Test Connection ou Run Operation possam ser usado.
- oculto: Este valor pode ser definido como verdadeiro ou falso. Se verdadeiro, a etapa ficará oculta no Citizen Integrator interface. Isso pode ser útil se você tiver etapas que não deseja mostrar, como para testar a conexão informações. Se falso, o passo será mostrado. O valor padrão é false, o que significa que as etapas são mostradas por padrão.
- caminho: Use se estiver ocultando etapas e quiser referenciá-las em outras etapas. Este valor deve ser definido se você planeja incorporar uma etapa oculta em outra etapa. Por exemplo, se você quiser incluir um teste Botão de conexão dentro de uma etapa, você pode ocultar a etapa para testar as informações de conexão e, em seguida, consulte-o em outro passo. A maneira como nos referimos a isso é definindo um caminho.
- propriedades: Pode ser usado somente se projectVariables não forem usadas. Estes incluem propriedades associadas ao passo. Em uma etapa, você pode ter propriedades ou projectVariables atribuídos, mas não ambos ao mesmo tempo.
- nome: Obrigatório Este campo é o nome da propriedade que está sendo definida para esta etapa.
- defaultValue: Este campo pode conter um valor padrão associado à propriedade. Normalmente isso é usado para inserir texto instrucional ou informativo em uma etapa.
- descrição: Este campo pode conter texto padrão que aparecerá dentro da caixa de texto.
- projectVariables: Pode ser usado apenas se as propriedades não forem usadas. Estes incluem uma lista de variáveis de projeto agrupados que representam entidades configuráveis. Em uma etapa, você pode ter projectVariables ou propriedades atribuídas, mas não ambas ao mesmo tempo.
- nomes: Obrigatório Este campo contém uma lista de todas as variáveis do projeto sendo usadas nesta etapa.
- ação: Este campo define quaisquer ações. Normalmente, eles são usados como botões dentro de uma etapa para executar ações que podem ser definidas como etapas ocultas.
- nome: Obrigatório Este campo é o nome da ação.
- displayName: Este campo pode ser usado se você deseja que um nome diferente seja exibido no Cidadão Interface do integrador.
- useStepAsRequest: Required Este campo é usado para fornecer o caminho para as propriedades definidas em outra etapa que não é renderizada. Use o mesmo valor que você definiu para “path” na etapa oculta.
Etapa 1: Introdução
Metadados JSON para a Etapa 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>" } ] },
Etapa 2: Variáveis de projeto de Endpoint do Salesforce
Metadados Json para a Etapa 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" } } },
Etapa Oculta: Testar informações de conexão do Salesforce
Metadados JSON para Etapa Oculta
{ "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" } ] },
Etapa 3: Variáveis de projeto de Endpoint do Zendesk
Metadados JSON para a Etapa 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" ] } },
Etapa 4: Executar Agora
Metadados JSON para a Etapa 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." } ] },
Etapa 5: Revisão
Metadados JSON para a Etapa 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 seção define quaisquer variáveis de projeto usadas nas etapas da receita. Note que este é um novo seção do arquivo de metadados da receita que vem no final após as etapas e não deve ser confundida com a projectVariables usadas nas próprias etapas.
- nome: Obrigatório Este campo contém o nome da variável do projeto conforme usado em seu Jitterpak.
- displayName: Este campo pode ser utilizado caso você queira que um nome diferente seja exibido no Citizen Integrator interface.
- descrição: Este campo pode ser usado para inserir texto abaixo do campo, por exemplo, para fornecer instruções sobre o que os usuários devem inserir.
- tipo: Este campo pode ser usado para definir o tipo de valor que o usuário pode fornecer. o valor padrão é string. Você também pode usar integer, float, double, date, time, boolean, password, enum, dropdown, checkboxes, ou área de texto.
- obrigatório: Este valor pode ser definido como verdadeiro ou falso. Se verdadeiro, o campo da variável do projeto será necessário concluir quando a receita for configurada antes da conexão de teste ou operação de execução ações podem ser usadas.
- regex: Este campo pode ser usado para fornecer uma expressão regular (string) que o o valor da variável do projeto deve corresponder quando a receita é configurada antes da conexão de teste ou operação de execução ações podem ser usadas. Por exemplo:
.+@.+[.].+
. - valor: Este campo pode ser usado se você quiser atribuir um valor padrão ao seu projeto variável. Isso pode ser usado para fornecer um valor padrão com outros valores opcionais para a variável do projeto. Um exemplo adicional de metadados JSON usando valores e opções é fornecido no Exemplo 2 abaixo.
- opções: Este campo pode ser usado para apresentar valores possíveis em um menu suspenso, texto área ou caixas de seleção. Um exemplo adicional de metadados JSON usando valores e opções é fornecido no Exemplo 2 abaixo.
Exemplo de Metadados 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" } ]
Exemplo de Metadados 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 etapa¶
Cada etapa nos metadados da receita do Citizen Integrator possui um atributo “type” que indica o tipo da etapa. Essas etapas correspondem diretamente com esses usuários verá usando a interface do Citizen Integrator, e os tipos dessas etapas correspondem diretamente com o Design Studio.
Estes são os possíveis tipos de etapas disponíveis. Informações adicionais sobre cada tipo de etapa são fornecidas a seguir Seções.
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
Descrição¶
org.jitterbit.integration.data.entity.Description
Este tipo de etapa deve ser usado quando houver necessidade de fornecer informações detalhadas sobre uma receita ou uma etapa, ou pode ser usado como uma revisão no final da receita.
-
Por exemplo:
{ "name": "Introduction", "description": "Insert accounts into a postgres database", "label": "Introduction", "type": "org.jitterbit.integration.data.entity.Description", "properties": [ { "name": "template", "defaultValue": "<div>...</div>" }
-
Se esta etapa for a última etapa de uma receita (definida como uma etapa de revisão) e contiver o “submitOperationsToRun” , então o botão Salvar e Concluir aplicará esta lógica em relação às operações que precisam ser enviadas para executar. Observe que, se essas opções não forem definidas, o botão Salvar e concluir não enviará as operações para execução.
-
Nenhuma operação será enviada para execução se:
{ "name": "submitOperationsToRun", "value": "" }
-
Somente as operações especificadas serão enviadas para execução se:
{ "name": "submitOperationsToRun", "value": "Operation1;Operation2" }
-
Todas as operações serão enviadas para execução caso a propriedade não esteja presente:
{ "name": "submitOperationsToRun", "value": "*" }
-
ProjetoVariável¶
org.jitterbit.integration.data.entity.ProjectVariable
Este tipo de etapa é usado para agrupar um conjunto de variáveis de projeto. Também pode ser usado para redefinir um endpoint definição. Uma “ação” opcional pode ser anexada a ela.
-
Por exemplo:
{ "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 “ações” são suportadas:
- “test-endpoint-connection”: Isso é usado para testar uma conexão de endpoint. Deve ser usado junto com um endpoint.
- “submit-http-form”: Deve ser usado junto com um formulário HTTP (veja abaixo).
RunOperation¶
org.jitterbit.integration.data.entity.RunOperation
Este tipo de etapa é usado para executar uma operação para permitir que o usuário teste.
-
Por exemplo:
{ "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" } ] }
ApiBinding¶
org.jitterbit.integration.data.entity.ApiBinding
Este tipo de etapa é utilizado quando há necessidade de externalizar operações como APIs.
-
“assignTo”: Isso permite que você armazene o URI em uma variável de projeto que pode ser usada dentro do Jitterpak. Para exemplo:
{ "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 etapa é usado quando há necessidade de interagir com um Endpoint HTTP. As variáveis do projeto podem ser usadas como entradas para solicitação/cabeçalhos.
-
Por exemplo:
{ "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": "" } ] }
Conector¶
org.jitterbit.integration.data.connector.*
Eles são usados para os 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
Definições de Metadados de Receita¶
Essas subseções abrangem as definições completas de metadados para receitas, pois são definidas no Jitterbit. Estas seções descreva todas as partes possíveis do arquivo de metadados JSON. Todos os campos obrigatórios estão listados no final de cada seção.
- Receita
- Etapa
- Ação
- API
- Método API
- Propriedade
- Implantar detalhes do Jitterpak
- Operação
- Implantar resposta
- Integração de receita
- Marcação
- Autor
- Ambiente
- Agente
- Grupo de Agentes
- Resposta de login
- Organização
- Detalhe da Organização
- Informações de conexão do Endpoint
- Parâmetros de conexão HTTP
- Valor chave
- Erro
- Registro de operação
- Registro de registro de operação
- Detalhes do Log de Operação
- Mensagem e Nome do Campo
- Categoria do arquivo de resultado e GUID
- Executar resposta da operação
- Registro
- Informação do usuário
- Status implantado
- Informações do Endpoint
- Erro da AWS
Receita¶
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
Etapa¶
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
Ação¶
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 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
Propriedade¶
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
Implantar detalhes do 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
Operação¶
Operation:
type: object
properties:
operationGuid:
type: string
description: "The GUID of the operation"
operationName:
type: string
description: "The name of the operation"
Implantar resposta¶
DeployResponse:
properties:
deployJpkDetails:
type: array
items:
See separate definition for Deploy JPK Details
operations:
type: array
items:
See separate definition for Operation
Integração de receita¶
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
Marcação¶
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
Ambiente¶
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"
Resposta de login¶
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
Organização¶
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"
Detalhes da Organização¶
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
Informações de conexão 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 conexão 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 chave¶
KeyValue:
type: object
properties:
key:
type: string
value:
type: string
Erro¶
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 operação¶
OperationLog:
type: object
properties:
records:
type: array
items:
See separate definition for Operation Log Record
Registro de log de operação¶
OperationLogRecord:
type: object
properties:
attributes:
See separate definition for Record
childRecords:
See separate definition for Operation Log
Detalhes do log de operação¶
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
Nome da mensagem e do campo¶
MessageAndFieldName:
type: object
properties:
message:
type: string
fieldName:
type: string
Categoria de arquivo de resultado e GUID¶
ResultFileCategoryAndGuid:
type: object
properties:
category:
type: number
fileGuid:
type: number
Executar resposta da operação¶
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"
Informação do usuário¶
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 implantado¶
DeployedStatus:
type: object
properties:
good:
type: integer
warn:
type: integer
error:
type: integer
Informações do endpoint¶
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
Erro da 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