{"id":728,"date":"2019-12-22T15:32:40","date_gmt":"2019-12-22T18:32:40","guid":{"rendered":"http:\/\/kondado.com.br\/blog\/?p=728"},"modified":"2026-04-08T17:49:14","modified_gmt":"2026-04-08T20:49:14","slug":"o-que-sao-webhooks-e-como-envia-los-ao-seu-data-warehouse","status":"publish","type":"post","link":"https:\/\/kondado.com.br\/blog\/wiki\/2019\/12\/22\/o-que-sao-webhooks-e-como-envia-los-ao-seu-data-warehouse\/","title":{"rendered":"Webhook"},"content":{"rendered":"\n<p>Quando voc\u00ea faz uma integra\u00e7\u00e3o usando os <a href=\"https:\/\/kondado.com.br\/conectores.html\">mais de 50 conectores<\/a> que temos na plataforma da Kondado, a nossa plataforma se encarrega de &#8220;ler&#8221; os dados dessas origens e inserir no seu Data Warehouse ou Data Lake. <\/p>\n\n\n\n<p>Quando esse conector \u00e9 uma ferramenta (por exemplo <a href=\"https:\/\/kondado.com.br\/contato.html?contact_type=dynamic&amp;contact_origin=sources&amp;contact_data__sources__referer=source_details&amp;contact_data__sources__context=AdWords&amp;contact_data__sources__img=conectores_adwords.png&amp;contact_data__sources__main_text=Veja%20a%20integra%C3%A7%C3%A3o%20do%20AdWords%20funcionando&amp;contact_data__sources__secondary_text=Preencha%20as%20informa%C3%A7%C3%B5es%20abaixo\">Google Ads<\/a>, <a href=\"https:\/\/kondado.com.br\/contato.html?contact_type=dynamic&amp;contact_origin=sources&amp;contact_data__sources__referer=source_details&amp;contact_data__sources__context=Facebook%20Ads&amp;contact_data__sources__img=conectores_facebookads.png&amp;contact_data__sources__main_text=Veja%20a%20integra%C3%A7%C3%A3o%20do%20Facebook%20Ads%20funcionando&amp;contact_data__sources__secondary_text=Preencha%20as%20informa%C3%A7%C3%B5es%20abaixo\">Facebook<\/a> ou <a href=\"https:\/\/kondado.com.br\/contato.html?contact_type=dynamic&amp;contact_origin=sources&amp;contact_data__sources__referer=source_details&amp;contact_data__sources__context=Pipedrive&amp;contact_data__sources__img=conectores_pipedrive.png&amp;contact_data__sources__main_text=Veja%20a%20integra%C3%A7%C3%A3o%20do%20Pipedrive%20funcionando&amp;contact_data__sources__secondary_text=Preencha%20as%20informa%C3%A7%C3%B5es%20abaixo\">Pipedrive<\/a>), n\u00f3s fazemos essa leitura via API para obter as informa\u00e7\u00f5es que voc\u00ea deseja.<\/p>\n\n\n\n<p>Webhooks podem ser considerados como &#8220;APIs reversas&#8221;: ao inv\u00e9s de a nossa plataforma ler de forma pr\u00f3-ativa as informa\u00e7\u00f5es, \u00e9 o conector que envia os dados para a nossa plataforma e n\u00f3s inserimos do webhook para o Data Warehouse.<\/p>\n\n\n\n\n\n<p><\/p>\n\n\n\n<h2>Adicionando o conector<\/h2>\n\n\n\n<p>1) Antes de adicionar um webhook, \u00e9 importante que voc\u00ea leia <a href=\"https:\/\/kondado.com.br\/blog\/wiki\/tokens-de-acesso\/\" data-type=\"URL\" data-id=\"https:\/\/kondado.com.br\/blog\/wiki\/tokens-de-acesso\/\">esse post<\/a> sobre como gerenciar os seus tokens de acesso e crie um token que ser\u00e1 respons\u00e1vel por autenticar o seu webhook.<\/p>\n\n\n\n<p>2)  Uma vez na nossa plataforma, v\u00e1 para a <a href=\"https:\/\/kondado.com.br\/blog\/wiki\/adicionando-conectores-na-plataforma-da-kondado\/\" data-type=\"URL\" data-id=\"https:\/\/kondado.com.br\/blog\/wiki\/adicionando-conectores-na-plataforma-da-kondado\/\">se\u00e7\u00e3o de adicionar conectores<\/a>, selecione o conector de webhook e adicione-o. N\u00e3o \u00e9 necess\u00e1rio fornecer informa\u00e7\u00f5es de acesso nesse momento, basta dar um nome para o seu novo conector e salv\u00e1-lo.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"560\" height=\"238\" src=\"http:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-4.png\" alt=\"\" class=\"wp-image-729\" srcset=\"https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-4.png 560w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-4-300x128.png 300w\" sizes=\"(max-width: 560px) 100vw, 560px\" \/><\/figure><\/div>\n\n\n\n<p>3) Com o conector adicionado, v\u00e1 para a se\u00e7\u00e3o de integra\u00e7\u00f5es e clique em &#8220;Nova integra\u00e7\u00e3o&#8221;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"454\" height=\"405\" src=\"http:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-5.png\" alt=\"\" class=\"wp-image-730\" srcset=\"https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-5.png 454w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-5-300x268.png 300w\" sizes=\"(max-width: 454px) 100vw, 454px\" \/><\/figure><\/div>\n\n\n\n<p>4) Siga o fluxo normal de cria\u00e7\u00e3o de integra\u00e7\u00f5es, selecionando o novo conector de webhooks como origem<\/p>\n\n\n\n<p>5) Uma vez criada a integra\u00e7\u00e3o, acesse-a e, na barra de endere\u00e7o do seu navegador, copie o id da integra\u00e7\u00e3o, que \u00e9 o c\u00f3digo num\u00e9rico ao final de &#8220;app.kondado.com.br\/pipelines\/<strong>XXXX<\/strong>&#8220;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"1024\" height=\"567\" src=\"http:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-7-1024x567.png\" alt=\"\" class=\"wp-image-732\" srcset=\"https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-7-1024x567.png 1024w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-7-300x166.png 300w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-7-768x425.png 768w, https:\/\/kondado.com.br\/blog\/wiki\/wp-content\/uploads\/sites\/2\/2019\/12\/image-7.png 1037w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p><strong>Enviando informa\u00e7\u00f5es para o seu webhook<\/strong><\/p>\n\n\n\n<p>O seu novo webhook aceita requisi\u00e7\u00f5es do tipo POST e ir\u00e1 enviar para o seu destino o body da chamada, que deve ser do tipo JSON.<\/p>\n\n\n\n<p>O endere\u00e7o do seu webhook \u00e9 composto da seguinte forma:<\/p>\n\n\n\n<p><strong>URL Base<\/strong><\/p>\n\n\n\n<p>https:\/\/k1.kondado.com.br<\/p>\n\n\n\n<p><strong>Par\u00e2metros obrigat\u00f3rios<\/strong><\/p>\n\n\n\n<ul><li><strong>pipeline_id<\/strong>: c\u00f3digo da sua integra\u00e7\u00e3o, obtido no passo (5)<\/li><li><strong>key<\/strong>: chave do seu token, obtido no passo (1)<\/li><li><strong>token<\/strong>: o seu token, obtido no passo (2)<\/li><\/ul>\n\n\n\n<p><strong>Exemplo de URL<\/strong><\/p>\n\n\n\n<p>Combinando a URL base e os par\u00e2metros, a sua chamada ir\u00e1 se parecer com a seguinte:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/k1.kondado.com.br?pipeline_id=835212&amp;token=oseutokenaqui&amp;key=achavedoseutokenaqui<\/pre>\n\n\n\n<p>Com a sua URL criada, basta adicion\u00e1-la na sua ferramenta ou aplica\u00e7\u00e3o e fazer posts nela com o body que deseja enviar ao seu datawarehouse.<\/p>\n\n\n\n<p><strong>ATEN\u00c7\u00c3O: Cuidado para n\u00e3o confundir token e key ao adicion\u00e1-los na URL. Para diferenci\u00e1-los com maior facilidade, lembre-se que a key ter\u00e1 um formato com h\u00edfens, como por exemplo &#8220;d538b946-9d55-405a-9bd2-72d74b1cb8f5&#8221; e o token ser\u00e1 uma longa sequencia de n\u00fameros e letras, mas sem h\u00edfens<\/strong><\/p>\n\n\n\n<p><strong>Veja um exemplo de utiliza\u00e7\u00e3o de webhooks<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-kondado\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/kondado.com.br\/blog\/integrando-conversoes-do-rdstation-ao-seu-data-warehouse-via-webhook\/\n<\/div><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>C\u00f3digos de resposta do webhook<\/strong><\/p>\n\n\n\n<p>A resposta da URL retornar\u00e1 o c\u00f3digo 200 em caso de sucesso e 400 em caso de falha. Na resposta, haver\u00e1 um JSON, cujo formato pode ser:<\/p>\n\n\n\n<p><strong>Inser\u00e7\u00e3o bem-sucedida<\/strong><\/p>\n\n\n\n<p>A inser\u00e7\u00e3o bem-sucedida retornar\u00e1 um JSON no formato abaixo, onde a vari\u00e1vel &#8220;success&#8221; vir\u00e1 como <em>true<\/em> e haver\u00e1 uma outra vari\u00e1vel &#8220;data&#8221;, que cont\u00e9m informa\u00e7\u00f5es sobre o request.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"success\": true,\n    \"data\": {\n        \"__kdd_request_id\": \"rydjemeilmsqkqvjtfkc\",\n        \"__kdd_request_unix_timestamp\": 1577015690.3118637\n    }\n}<\/pre>\n\n\n\n<ul><li><strong>__kdd_request_id<\/strong>: id da execu\u00e7\u00e3o do webhook, que ser\u00e1 inserido no seu data warehouse<\/li><li><strong>__kdd_request_unix_timestamp<\/strong>: UNIX timestamp (em UTC) que indica quando o request aconteceu. Tamb\u00e9m ser\u00e1 inserido no seu data warehouse<\/li><\/ul>\n\n\n\n<p>Voc\u00ea pode usar as vari\u00e1veis enviadas em &#8220;data&#8221; para manter algum tipo de log na sua aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p>A inser\u00e7\u00e3o bem sucedida n\u00e3o significa que o seus dados ser\u00e3o processados. Ap\u00f3s receber uma resposta de sucesso, os dados ainda passar\u00e3o por uma valida\u00e7\u00e3o de autentica\u00e7\u00e3o em um segundo momento e a resposta negativa de autentica\u00e7\u00e3o n\u00e3o ser\u00e1 retornada &#8211; os dados apenas ser\u00e3o descartados. A resposta positiva voc\u00ea poder\u00e1 conferir uma vez que os dados sejam inseridos no seu destino<\/p>\n\n\n\n<p><strong>Inser\u00e7\u00e3o mal-sucedida<\/strong><\/p>\n\n\n\n<p>A inser\u00e7\u00e3o mal-sucedida retorna um JSON como o abaixo, onde &#8220;success&#8221; ser\u00e1 <em>false<\/em> e a vari\u00e1vel &#8220;error&#8221; trar\u00e1 o c\u00f3digo de erro encontrado.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"success\": false,\n    \"error\": \"ERROR_CODE\"\n}<\/pre>\n\n\n\n<p>C\u00f3digos de erro e os seus significados:<\/p>\n\n\n\n<ul><li><strong>MISSING_PARAMETER: <em>parameter_key<\/em><\/strong>. Indica que a URL est\u00e1 mal-formatada e o par\u00e2metro indicado por <em>parameter_key<\/em> n\u00e3o foi fornecido (lembrando que s\u00e3o obrigat\u00f3rios os par\u00e2metros pipeline_id, key e token)<\/li><li><strong>INVALID_PARAMETER:<\/strong> <strong><em>parameter_key<\/em><\/strong>: o valor do par\u00e2metro informado \u00e9 inv\u00e1lido<\/li><li><strong>NO_PARAMETERS_PROVIDED. <\/strong>Indica que a URL est\u00e1 mal formatada e nenhum par\u00e2metro foi fornecido<\/li><li><strong>NO_BODY_PROVIDED<\/strong>. Indica que nenhum body foi fornecido durante o POST<\/li><\/ul>\n\n\n\n<h2>Integra\u00e7\u00f5es<\/h2>\n\n\n\n\n\t\t<a style=\"width: 100%;min-width: 100%\" href=\"https:\/\/kdd-public-files.s3.amazonaws.com\/wiki\/erd\/webhook.svg\" target=\"_blank\" rel=\"noopener\">\n\t\t\t<div style=\"border-top:1px solid gray;border-bottom:1px solid gray;padding-bottom:10px;margin-left: auto;margin-right: auto;width: 100%;background-color: #efeaee\">\n\t\t\t\t<p style=\"width: 100%;min-width: 100%\">\n\t\t\t\t\t<p style=\"width: 100%;min-width: 100%;font-weight: bold;text-decoration: underline\">\n\t\t\t\t\t\tGr\u00e1fico de relacionamento entre tabelas\n\t\t\t\t\t<\/p>\n\t\t\t\t\t<p style=\"width: 100%;min-width: 100%\">\n\t\t\t\t\t\t<div style=\"margin-left: auto;margin-right: auto;width: 50%;height:auto;background-color: white\">\n\t\t\t\t\t\t\t<img src=\"https:\/\/kdd-public-files.s3.amazonaws.com\/wiki\/erd\/webhook.svg\" style=\"margin-left: auto;margin-right: auto;width: 150px\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/a>\t\n\t\n\n\n\n<h3><strong>Post raw JSON<\/strong><\/h3>\n\n\n\n<ul><li>__kdd_request_body ir\u00e1 receber o JSON do post<\/li><\/ul>\n\n\n\n<!--- __kdd_doc_updated:2021-12-04T20:27:19.742567Z -->\n<a name=\"parent_pipeline_type:post_raw_json\"><\/a>\n<div style=\"padding-left:10%\"><table>\n\n\t\t\t  <tr style=\"border-bottom:1px solid gray\">\n\t\t\t    <th><small><b>Campo<\/b><\/small><\/th>\n\t\t\t    <th style=\"padding-left:10px\"><small><b>Tipo<\/b><\/small><\/th>\n\t\t\t    <th style=\"padding-left:10px\"><small><b><\/b><\/small><\/th>\n\t\t\t  <\/tr>\n\t\t\n\n\t\t\t\t<tr>\n\t\t\t\t\t<td style=\"vertical-align:top\"><small><p>__kdd_request_id<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><p>text<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><\/small><\/td>\n\t\t\t\t<\/tr>\n\t\t\t\n\n\t\t\t\t<tr>\n\t\t\t\t\t<td style=\"vertical-align:top\"><small><p>__kdd_request_unix_timestamp<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><p>float<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><\/small><\/td>\n\t\t\t\t<\/tr>\n\t\t\t\n\n\t\t\t\t<tr>\n\t\t\t\t\t<td style=\"vertical-align:top\"><small><p>__kdd_requester_key<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><p>text<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><\/small><\/td>\n\t\t\t\t<\/tr>\n\t\t\t\n\n\t\t\t\t<tr>\n\t\t\t\t\t<td style=\"vertical-align:top\"><small><p>__kdd_request_body<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><p>text<\/p><\/small><\/td>\n\t\t\t\t\t<td style=\"padding-left:10px;vertical-align:top\"><small><\/small><\/td>\n\t\t\t\t<\/tr>\n\t\t\t\n<\/table><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entenda o que s\u00e3o webhooks e como envi\u00e1-los ao seu data warehouse com a Kondado. Receba dados em tempo real de qualquer sistema.<\/p>\n","protected":false},"author":2,"featured_media":733,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[229],"tags":[],"_links":{"self":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/728"}],"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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/comments?post=728"}],"version-history":[{"count":13,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/728\/revisions"}],"predecessor-version":[{"id":11152,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/728\/revisions\/11152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/media\/733"}],"wp:attachment":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/media?parent=728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/categories?post=728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/tags?post=728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}