Os pipelines são as suas integrações. Para os endpoints em que é necessário o id da integração (pipeline_id), você pode buscá-los no nosso app, através da sua URL.
Nossas URLs de integrações possuem o formato abaixo:
https://app.kondado.com.br/pipelines/:pipeline_id
Executar integração
Esta rota não está disponível para clientes com planos com limitação de frequência
Descrição
Envia uma integração para a fila de execução – executa o mesmo procedimento que um usuário clicando em “EXECUTAR” no nosso app
Método
POST
Endpoint
/pipelines/:pipeline_id/run
Parâmetros da URL
Nenhum
Exemplo de resposta
{ "success": true }
Descrição do retorno
O retorno é apenas um “success” true ou false, explicando o status da operação. Caso success=false, haverá uma key de erro no JSON, explicando o que aconteceu.
Consultar status de uma integração
Descrição
Retorna o status de uma dada integração através do seu pipeline_id
Método
GET
Endpoint
/pipelines/:pipeline_id/status
Parâmetros da URL
Nenhum
Exemplo de resposta
{ "2040": { "status": "active", "is_running": false, "is_active": true, "is_blocked": false, "raw_msg": null } }
Descrição do retorno
A resposta será um JSON com o id da integração como chave de um novo JSON com os campos explicados abaixo.
status
Descrição do status. Os valores possíveis são:
- running: A integração está executando
- scheduled: A integração está na fila de execução
- active: A integração não está executando e nem na fila, mas está ativa
- not_active: A integração não está executando e nem na fila e está desativada
- building_tables: A integração está (re)criando as tabelas após criação ou edição avançada
- error_building_tables: Ocorreu um erro durante a (re)criação da integração (consultar parâmetro raw_msg)
- too_many_consecutive_failed_builds: A integração apresenta uma alta taxa de erros durante suas últimas execuções (consultar parâmetro raw_msg)
- too_many_consecutive_failed_builds__blocked: A integração foi automaticamente desativada
raw_msg
Caso a integração apresente algum problema, este campo irá vir com a descrição do erro (por exemplo, não estamos conseguindo nos conectar com o seu conector/destino)
is_running
Booleano que indica se a integração está executando (status=running)
is_active
Booleano que indica se a integração está ativa (status=active) ou desativada (status = not_active)
is_blocked
Booleano que indica se a integração está bloqueada por algum motivo. Os motivos que causam um bloqueio da integração são:
- Construíndo tabelas: status inicial (e que dura apenas alguns segundos) de qualquer integração que indica que a Kondado está construindo as tabelas no destino
- Várias falhas consecutivas: Indica que a integração foi desabilitada após várias falhas consecutivas
Duplicar uma integração
Descrição
Permite que seja criada uma nova integração com base em uma integração existente.
- A integração criada assumirá o mesmo savepoint e frequência da integração existente
- Integrações criadas desta maneira não terão dias gratuitos de registros
Método
POST
Endpoint
/pipelines
Parâmetros da URL
Nenhum
Corpo da chamada (payload)
O corpo da chamada deve ser um JSON com os seguintes atributos:
pipeline_id
- Descrição: id da integração base da duplicação
- Obrigatório: Sim
- Formato: número inteiro
dest_collection_id
- Descrição: id do novo destino. Deve ser do mesmo tipo que o utilizado na integração base e estar ativo
- Obrigatório: Sim
- Formato: número inteiro
src_collection_id
- Descrição: id do novo conector. Deve ser do mesmo tipo que o utilizado na integração base e estar ativo
- Obrigatório: Sim
- Formato: número inteiro
client_id
- Descrição: id da conta onde irá ser criada a nova integração. Caso não informado, a integração será criada na mesma conta da integração base
- Obrigatório: Não
- Formato: número inteiro
full_tables
- Descrição: JSON com os paths de tabelas como chaves e novos nomes destas tabelas como valores. Os paths referentes a cada tabela podem ser obtidos ao realizar uma edição avançada na integração, no momento de dar nome às tabelas (ver imagem abaixo). A tabela principal deve ser informado como path string vazia (“”). Todos os paths constantes na integração devem ser informados. A integração criada não ira fazer nenhuma verificação ou exibir aviso no caso de tabelas como os nomes informados já existirem no destino, estas serão apenas recriadas com a nova configuração
- Obrigatório: Sim
- Formato: JSON
deltas_tables
- Descrição: JSON com os paths de tabelas como chaves e novos nomes das tabelas deltas como valores. Os paths referentes a cada tabela podem ser obtidos ao realizar uma edição avançada na integração, no momento de dar nome às tabelas (ver imagem abaixo). A tabela principal deve ser informado como path string vazia (“”). Caso seja informado, todos os paths constantes na integração devem ser informados. A integração criada não ira fazer nenhuma verificação ou exibir aviso no caso de tabelas como os nomes informados já existirem no destino, estas serão apenas recriadas com a nova configuração. Ao informar este
- Obrigatório: Não
- Formato: JSON
execute_immediately
- Descrição: Indica se a integração deve ser executada logo após criada. Apenas valor Y para sim e N para não
- Obrigatório: Sim
- Formato: String “Y” ou “N”
name
- Descrição: Nome da nova integração
- Obrigatório: Não – se não provido, será utilizado o nome da integração original
- Formato: String
Exemplo de body
{
"pipeline_id":12345821,
"dest_collection_id":678910,
"src_collection_id": 877291,
"client_id":732829,
"full_tables":{
"":"novo_bling_produtos_estoque",
"estoquedepositos":"novo_produtos_estoque_depositos"
},
"deltas_tables":{
"":"novo_bling_produtos_estoque",
"estoquedepositos":"novo_produtos_estoque_depositos"
},
"execute_immediately":"Y",
"name":"Nova integração"
}
Descrição do retorno
A resposta será um JSON com o id da integração criada
Exemplo de resposta
{ "success": true, "data": { "success": true, "data": { "new_pipeline_id": 123456789 } } }