none
Como receber os dados de um WEBHOOK em C# RRS feed

  • Pergunta

  • Estou realizando uma integração entre dois sistemas, e um dos sistemas envia um JSON para uma URL definida por mim via webhook (o envio é feito com um POST).

    Essa URL deve estar preparada para receber as informações. Estas informações serão enviadas por uma requisição HTTP1 do tipo POST2. E os dados em si serão enviados em um modelo JSON3.

    Não sei como receber essas informações em C#. Criei uma página web e recuperei os parâmetros enviados pelo POST, mas creio que esteja no caminho errado. Parece que devo criar um serviço REST. 

    Tenho um exemplo feito em PHP:

    <?php
    // Aguardando o POST no formato JSON
    $data = json_decode(file_get_contents("php://input"));
    
    // Armazenar o POST em variável
    $name = $data->leads[0]->name;
    $email = $data->leads[0]->email;
    
    // Este é um exemplo de um campo personalizado, chamado assunto:
    $assunto = $data->leads[0]->custom_fields->assunto;
    
    
    ##### EXEMPLO DE USO #####
    // Registrar em arquivo de log:
    $file = 'receberJsonRD.log';
    $current = file_get_contents($file);
    $current .= '['.date('Y-m-d H:i:s')."] - {$name} ({$email} - assunto: {$assunto})\n";
    file_put_contents($file, $current);
    
    // Será registrado no arquivo receberJsonRD.log:
    // [2017-01-26 21:32:02] - Nome Do Lead (lead@dominio.com.br) - assunto: Orçamento
    ?>

    Alguém pode ajudar?


    • Editado Giovana quinta-feira, 7 de junho de 2018 12:09
    quinta-feira, 7 de junho de 2018 11:52

Todas as Respostas

  • Fiz a leitura assim:

    Stream req = Request.InputStream; req.Seek(0, System.IO.SeekOrigin.Begin); JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); using (StreamReader r = new StreamReader(req)) { string json = r.ReadToEnd();

    dynamic array = serializer.DeserializeObject(json); }


    sexta-feira, 3 de agosto de 2018 13:50