{"id":1612,"date":"2020-09-20T20:51:45","date_gmt":"2020-09-20T23:51:45","guid":{"rendered":"https:\/\/kondado.com.br\/blog\/wiki\/?p=1612"},"modified":"2026-04-08T17:49:08","modified_gmt":"2026-04-08T20:49:08","slug":"kondado-api-pipelines","status":"publish","type":"post","link":"https:\/\/kondado.com.br\/blog\/wiki\/2020\/09\/20\/kondado-api-pipelines\/","title":{"rendered":"Pipelines"},"content":{"rendered":"\n<p>Os pipelines s\u00e3o as suas integra\u00e7\u00f5es. Para os endpoints em que \u00e9 necess\u00e1rio o id da integra\u00e7\u00e3o (pipeline_id), voc\u00ea pode busc\u00e1-los no nosso app, atrav\u00e9s da sua URL.<\/p>\n\n\n\n<p>Nossas URLs de integra\u00e7\u00f5es possuem o formato abaixo:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/app.kondado.com.br\/pipelines\/<strong>:pipeline_id<\/strong><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2>Executar integra\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background\">Esta rota n\u00e3o est\u00e1 dispon\u00edvel para clientes com planos com limita\u00e7\u00e3o de frequ\u00eancia (Essentials)<\/p>\n\n\n\n<h3>Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p>Envia uma integra\u00e7\u00e3o para a fila de execu\u00e7\u00e3o &#8211; executa o mesmo procedimento que um usu\u00e1rio clicando em &#8220;EXECUTAR&#8221; no <a href=\"https:\/\/app.kondado.com.br\">nosso app<\/a><\/p>\n\n\n\n<h3>M\u00e9todo<\/h3>\n\n\n\n<p>POST<\/p>\n\n\n\n<h3>Endpoint<\/h3>\n\n\n\n<p>\/pipelines\/:pipeline_id\/run<\/p>\n\n\n\n<h3>Par\u00e2metros da URL<\/h3>\n\n\n\n<p><em>Nenhum<\/em><\/p>\n\n\n\n<h3>Exemplo de resposta<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"success\": true\n}<\/pre>\n\n\n\n<h3>Descri\u00e7\u00e3o do retorno<\/h3>\n\n\n\n<p>O retorno \u00e9 apenas um &#8220;success&#8221; true ou false, explicando o status da opera\u00e7\u00e3o. Caso success=false, haver\u00e1 uma key de erro no JSON, explicando o que aconteceu.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2>Consultar status de uma integra\u00e7\u00e3o<\/h2>\n\n\n\n<h3>Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p>Retorna o status de uma dada integra\u00e7\u00e3o atrav\u00e9s do seu pipeline_id<\/p>\n\n\n\n<h3>M\u00e9todo<\/h3>\n\n\n\n<p>GET<\/p>\n\n\n\n<h3>Endpoint<\/h3>\n\n\n\n<p>\/pipelines\/:pipeline_id\/status<\/p>\n\n\n\n<h3>Par\u00e2metros da URL<\/h3>\n\n\n\n<p><em>Nenhum<\/em><\/p>\n\n\n\n<h3>Exemplo de resposta<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n     \"2040\": {\n         \"status\": \"active\",\n         \"is_running\": false,\n         \"is_active\": true,\n         \"is_blocked\": false,\n         \"raw_msg\": null\n     }\n }<\/pre>\n\n\n\n<h3>Descri\u00e7\u00e3o do retorno<\/h3>\n\n\n\n<p>A resposta ser\u00e1 um JSON com o id da integra\u00e7\u00e3o como chave de um novo JSON com os campos explicados abaixo.<\/p>\n\n\n\n<p><strong>status<\/strong><\/p>\n\n\n\n<p>Descri\u00e7\u00e3o do status. Os valores poss\u00edveis s\u00e3o:<\/p>\n\n\n\n<ul><li><strong>running<\/strong>: A integra\u00e7\u00e3o est\u00e1 executando<\/li><li><strong>scheduled<\/strong>: A integra\u00e7\u00e3o est\u00e1 na fila de execu\u00e7\u00e3o<\/li><li><strong>active<\/strong>: A integra\u00e7\u00e3o n\u00e3o est\u00e1 executando e nem na fila, mas est\u00e1 ativa<\/li><li><strong>not_active<\/strong>: A integra\u00e7\u00e3o n\u00e3o est\u00e1 executando e nem na fila e est\u00e1 desativada<\/li><li><strong>building_tables<\/strong>: A integra\u00e7\u00e3o est\u00e1 (re)criando as tabelas ap\u00f3s cria\u00e7\u00e3o ou edi\u00e7\u00e3o avan\u00e7ada<\/li><li><strong>error_building_tables<\/strong>: Ocorreu um erro durante a (re)cria\u00e7\u00e3o da integra\u00e7\u00e3o (consultar par\u00e2metro <strong>raw_msg<\/strong>)<\/li><li><strong>too_many_consecutive_failed_builds<\/strong>: A integra\u00e7\u00e3o apresenta uma alta taxa de erros durante suas \u00faltimas execu\u00e7\u00f5es (consultar par\u00e2metro <strong>raw_msg<\/strong>)<\/li><li><strong>too_many_consecutive_failed_builds__blocked<\/strong>: A integra\u00e7\u00e3o foi automaticamente desativada<\/li><\/ul>\n\n\n\n<p><strong>raw_msg<\/strong><\/p>\n\n\n\n<p>Caso a integra\u00e7\u00e3o apresente algum problema, este campo ir\u00e1 vir com a descri\u00e7\u00e3o do erro (por exemplo, n\u00e3o estamos conseguindo nos conectar com o seu conector\/destino)<\/p>\n\n\n\n<p><strong>is_running<\/strong><\/p>\n\n\n\n<p>Booleano que indica se a integra\u00e7\u00e3o est\u00e1 executando (status=running)<\/p>\n\n\n\n<p><strong>is_active<\/strong><\/p>\n\n\n\n<p>Booleano que indica se a integra\u00e7\u00e3o est\u00e1 ativa (status=active) ou desativada (status = not_active)<\/p>\n\n\n\n<p><strong>is_blocked<\/strong><\/p>\n\n\n\n<p>Booleano que indica se a integra\u00e7\u00e3o est\u00e1 bloqueada por algum motivo. Os motivos que causam um bloqueio da integra\u00e7\u00e3o s\u00e3o:<\/p>\n\n\n\n<ul><li><strong>Constru\u00edndo tabelas<\/strong>: status inicial (e que dura apenas alguns segundos) de qualquer integra\u00e7\u00e3o que indica que a Kondado est\u00e1 construindo as tabelas no destino<\/li><li><strong>V\u00e1rias falhas consecutivas<\/strong>: Indica que a integra\u00e7\u00e3o foi desabilitada ap\u00f3s v\u00e1rias falhas consecutivas<\/li><\/ul>\n\n\n\n<h2 id=\"duplicate\">Duplicar uma integra\u00e7\u00e3o<\/h2>\n\n\n\n<h3>Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p>Permite que seja criada uma nova integra\u00e7\u00e3o com base em uma integra\u00e7\u00e3o existente.<\/p>\n\n\n\n<ul><li>A integra\u00e7\u00e3o criada assumir\u00e1 o mesmo savepoint e frequ\u00eancia da integra\u00e7\u00e3o existente<\/li><li>Integra\u00e7\u00f5es criadas desta maneira n\u00e3o ter\u00e3o dias gratuitos de registros<\/li><\/ul>\n\n\n\n<h3>M\u00e9todo<\/h3>\n\n\n\n<p>POST<\/p>\n\n\n\n<h3>Endpoint<\/h3>\n\n\n\n<p>\/pipelines<\/p>\n\n\n\n<h3>Par\u00e2metros da URL<\/h3>\n\n\n\n<p><em>Nenhum<\/em><\/p>\n\n\n\n<h3>Corpo da chamada (payload)<\/h3>\n\n\n\n<p>O corpo da chamada deve ser um JSON com os seguintes atributos:<\/p>\n\n\n\n<p><strong>pipeline_id<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> id da integra\u00e7\u00e3o base da duplica\u00e7\u00e3o<\/li><li><strong>Obrigat\u00f3rio<\/strong>: Sim<\/li><li><strong>Formato:<\/strong> n\u00famero inteiro<\/li><\/ul>\n\n\n\n<p><strong>dest_collection_id<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> id do novo destino. Deve ser do mesmo tipo que o utilizado na integra\u00e7\u00e3o base e estar ativo<\/li><li><strong>Obrigat\u00f3rio<\/strong>: Sim<\/li><li><strong>Formato:<\/strong> n\u00famero inteiro<\/li><\/ul>\n\n\n\n<p><strong>src_collection_id<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> id do novo conector. Deve ser do mesmo tipo que o utilizado na integra\u00e7\u00e3o base e estar ativo<\/li><li><strong>Obrigat\u00f3rio<\/strong>: Sim<\/li><li><strong>Formato:<\/strong> n\u00famero inteiro<\/li><\/ul>\n\n\n\n<p><strong>client_id<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> id da conta onde ir\u00e1 ser criada a nova integra\u00e7\u00e3o. Caso n\u00e3o informado, a integra\u00e7\u00e3o ser\u00e1 criada na mesma conta da integra\u00e7\u00e3o base. Voc\u00ea pode obter o id de sua conta em app.kondado.com.br\/account &#8211; ele \u00e9 o ID de um de seus times associados no formato YYYYY-X, onde YYYYY \u00e9 o id que voc\u00ea est\u00e1 buscando<\/li><li><strong>Obrigat\u00f3rio<\/strong>: N\u00e3o<\/li><li><strong>Formato:<\/strong> n\u00famero inteiro<\/li><\/ul>\n\n\n\n<p><strong>full_tables<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> 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\u00e7\u00e3o avan\u00e7ada na integra\u00e7\u00e3o, no momento de dar nome \u00e0s tabelas (ver imagem abaixo). A tabela principal deve ser informado como path string vazia (&#8220;&#8221;). Todos os paths constantes na integra\u00e7\u00e3o devem ser informados. A integra\u00e7\u00e3o criada n\u00e3o ira fazer nenhuma verifica\u00e7\u00e3o ou exibir aviso no caso de tabelas como os nomes informados j\u00e1 existirem no destino, estas ser\u00e3o apenas recriadas com a nova configura\u00e7\u00e3o<\/li><li><strong>Obrigat\u00f3rio<\/strong>: Sim<\/li><li><strong>Formato:<\/strong> JSON<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"734\" height=\"483\" src=\"https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2023\/10\/image-8.png\" alt=\"\" class=\"wp-image-6484\" srcset=\"https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2023\/10\/image-8.png 734w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2023\/10\/image-8-300x197.png 300w\" sizes=\"(max-width: 734px) 100vw, 734px\" \/><figcaption>Exemplo de como localizar paths das tabelas. Neste caso a aba principal possui o path &#8220;&#8221; e a segunda tabela possui o path &#8220;estoquedepositos&#8221;<\/figcaption><\/figure>\n\n\n\n<p><strong>deltas_tables<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> 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\u00e7\u00e3o avan\u00e7ada na integra\u00e7\u00e3o, no momento de dar nome \u00e0s tabelas (ver imagem abaixo). A tabela principal deve ser informado como path string vazia (&#8220;&#8221;). Caso seja informado, todos os paths constantes na integra\u00e7\u00e3o devem ser informados. A integra\u00e7\u00e3o criada n\u00e3o ira fazer nenhuma verifica\u00e7\u00e3o ou exibir aviso no caso de tabelas como os nomes informados j\u00e1 existirem no destino, estas ser\u00e3o apenas recriadas com a nova configura\u00e7\u00e3o. Ao informar este <\/li><li><strong>Obrigat\u00f3rio<\/strong>: N\u00e3o<\/li><li><strong>Formato:<\/strong> JSON<\/li><\/ul>\n\n\n\n<p><strong>execute_immediately<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> Indica se a integra\u00e7\u00e3o deve ser executada logo ap\u00f3s criada. Apenas valor Y para sim e N para n\u00e3o<\/li><li><strong>Obrigat\u00f3rio<\/strong>: Sim<\/li><li><strong>Formato:<\/strong> String &#8220;Y&#8221; ou &#8220;N&#8221;<\/li><\/ul>\n\n\n\n<p><strong>name<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> Nome da nova integra\u00e7\u00e3o<\/li><li><strong>Obrigat\u00f3rio<\/strong>: N\u00e3o &#8211; se n\u00e3o provido, ser\u00e1 utilizado o nome da integra\u00e7\u00e3o original<\/li><li><strong>Formato:<\/strong> String<\/li><\/ul>\n\n\n\n<p><strong>overwrite_parameters<\/strong><\/p>\n\n\n\n<ul><li><strong>Descri\u00e7\u00e3o:<\/strong> JSON de par\u00e2metros a serem alterados na nova integra\u00e7\u00e3o. O par\u00e2metro deve existir na integra\u00e7\u00e3o base. Cada integra\u00e7\u00e3o possui um conjunto de par\u00e2metros distintos, ent\u00e3o entre em contato com nosso suporte para maiores informa\u00e7\u00f5es sobre o nome e formato correto dos par\u00e2metros a serem utilizados. \u00c9 necess\u00e1rio que o par\u00e2metro esteja preenchido na integra\u00e7\u00e3o base para que possa ser utilizado na nova integra\u00e7\u00e3o (mesmo que com valor diferente)<\/li><li><strong>Obrigat\u00f3rio<\/strong>: N\u00e3o<\/li><li><strong>Formato:<\/strong> JSON<\/li><\/ul>\n\n\n\n<h4><strong>Exemplo de body<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"pipeline_id\":12345821,\n    \"dest_collection_id\":678910,\n    \"src_collection_id\": 877291,\n    \"client_id\":732829,\n    \"full_tables\":{\n        \"\":\"novo_bling_produtos_estoque\",\n        \"estoquedepositos\":\"novo_produtos_estoque_depositos\"\n    },\n    \"deltas_tables\":{\n        \"\":\"novo_bling_produtos_estoque\",\n        \"estoquedepositos\":\"novo_produtos_estoque_depositos\"\n    },\n    \"execute_immediately\":\"Y\",\n    \"name\":\"Nova integra\u00e7\u00e3o\",\n    \"overwrite_parameters\": {\n        \"__kdd_ad_account\":&#091;\"act_yyyyyyyyyy\", \"act_xxxxxxxxxxxxxx\"]\n    }\n}<\/code><\/pre>\n\n\n\n<h3>Descri\u00e7\u00e3o do retorno<\/h3>\n\n\n\n<p>A resposta ser\u00e1 um JSON com o id da integra\u00e7\u00e3o criada<\/p>\n\n\n\n<h3>Exemplo de resposta<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"success\": true,\n    \"data\": {\n        \"success\": true,\n        \"data\": {\n            \"new_pipeline_id\": 123456789\n        }\n    }\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Documenta\u00e7\u00e3o da API da Kondado: endpoint de Pipelines. Gerencie suas integra\u00e7\u00f5es programaticamente via API REST.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[334],"tags":[],"_links":{"self":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/1612"}],"collection":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/comments?post=1612"}],"version-history":[{"count":21,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/1612\/revisions"}],"predecessor-version":[{"id":11141,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/1612\/revisions\/11141"}],"wp:attachment":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/media?parent=1612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/categories?post=1612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/tags?post=1612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}