Exemple #1
0
        public void CreatTask(string portal, string acectok, string otv, string otvzakont, int idcon, int tasktypeid)
        {
            DateTimeOffset td   = DateTimeOffset.Now;
            DateTimeOffset td2  = td.AddHours(1);
            var            data = new[]
            {
                new{
                    text                = "Пропущеный звонок",
                    complete_till       = td2.ToUnixTimeSeconds(),
                    created_at          = td.ToUnixTimeSeconds(),
                    responsible_user_id = Convert.ToInt32(otvzakont),
                    created_by          = Convert.ToInt32(otv),
                    entity_type         = "contacts",
                    entity_id           = idcon,
                    task_type_id        = tasktypeid
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v4/tasks", contentText2, "application/json").ToString();
            }
        }
Exemple #2
0
        public string CreatDopFildDeal(string portal, string acectok)
        {
            var data = new[]
            {
                new
                {
                    name  = "Источник-аксател",
                    type  = "select",
                    enums = new[]
                    {
                        new { value = "GoogleAds", sort = 1 },
                        new { value = "Яндекс.Директ", sort = 2 },
                        new { value = "Соц. сети", sort = 3 },
                        new { value = "Бесплатные площадки", sort = 4 },
                        new { value = "Офлайн источники", sort = 5 },
                        new { value = "Прямой трафик", sort = 6 }
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v4/leads/custom_fields", contentText2, "application/json").ToString();
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

            return(obj._embedded.custom_fields[0].id.ToString());
        }
Exemple #3
0
        // получсаем ид ответственного
        public string[] isHaveCont(string portal, string acectok, string tel)
        {
            string respc;

            xNet.HttpResponse resp;
            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                resp  = request.Get("https://" + portal + "/api/v2/contacts?query=" + tel);
                respc = resp.ToString();
            }
            var converter = new ExpandoObjectConverter();

            if (resp.StatusCode != xNet.HttpStatusCode.OK)
            {
                return(null);
            }
            else
            {
                dynamic  obj2   = JsonConvert.DeserializeObject <ExpandoObject>(respc, converter);
                string[] iduser = new string[3];
                iduser[0] = obj2._embedded.items[0].responsible_user_id.ToString(); // ответственный
                iduser[1] = obj2._embedded.items[0].name.ToString();                // имя контакта
                iduser[2] = obj2._embedded.items[0].id.ToString();                  // ид контакта
                return(iduser);
            }
        }
 private string ReadAsXNet(string server, string addr)
 {
     using (var client = new xNet.HttpRequest(server))
     {
         return(client.Get(addr).ToString());
     }
 }
 private string ReadAsXNetForce(string server, string addr)
 {
     using (var client = new xNet.HttpRequest(server))
     {
         client.IgnoreProtocolErrors = true;
         return(client.Get(addr).ToString());
     }
 }
Exemple #6
0
        public string CreatCont(string portal, string acectok, string tel, string userid)
        {
            string content2;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content2 = request.Get("https://" + portal + "/api/v2/account?with=custom_fields").ToString();
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
            string  idtelef   = "0";

            foreach (var item in obj._embedded.custom_fields.contacts)
            {
                if (item.Value.name == "Телефон")
                {
                    idtelef = item.Value.id.ToString(); break;
                }
            }

            DateTimeOffset td   = DateTimeOffset.Now;
            var            data = new
            {
                add = new[] {
                    new
                    {
                        name = "Новый контакт",
                        responsible_user_id = userid,
                        created_by          = userid,
                        created_at          = td.ToUnixTimeSeconds(),
                        custom_fields       = new[] {
                            new
                            {
                                id     = idtelef,
                                values = new[]
                                {
                                    new { value = tel, @enum = "WORK" }
                                }
                            }
                        }
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v2/contacts", contentText2, "application/json").ToString();
            }
            dynamic obj2   = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
            string  iduser = obj2._embedded.items[0].id.ToString();

            return(iduser);
        }
Exemple #7
0
        public int CreatDeal(string portal, string acectok, int cosht, int idcont, int idotv, string tag, string number, Dictionary <string, string> dicdop)
        {
            Dopdata[] dopdatas = new Dopdata[dicdop.Count];

            int i = 0;

            foreach (var item in dicdop)
            {
                Dopdata dopdata = new Dopdata();
                dopdata.field_id = Convert.ToInt32(item.Key);
                dopdata.values   = new[] { new { value = item.Value.ToString() } };
                dopdatas[i]      = dopdata;
                i++;
            }


            foreach (var item in dicdop)
            {
            }
            var data = new[]
            {
                new
                {
                    name                = "Новая сделка от " + number,
                    created_by          = idotv,
                    responsible_user_id = idotv,
                    price               = cosht,
                    //custom_fields_values = new[]
                    //{
                    //    new {field_id = Convert.ToInt32(iddopfild), values = new[]{ new { value = namedopfild } }  }

                    //},
                    custom_fields_values = dopdatas,
                    _embedded            = new
                    {
                        contacts = new[]
                        {
                            new{ id = idcont }
                        },
                        tags = new[]
                        {
                            new{ name = tag }
                        }
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v4/leads", contentText2, "application/json").ToString();
            }
            return(1);
        }
Exemple #8
0
        private void downloadFileV2_Ex(string url, string path)
        {
            xNet.HttpRequest http = new xNet.HttpRequest();
            http.ConnectTimeout   = 99999999;
            http.KeepAliveTimeout = 99999999;
            http.ReadWriteTimeout = 99999999;
            var binImg = http.Get(url).ToMemoryStream().ToArray();

            File.WriteAllBytes(path, binImg);
        }
Exemple #9
0
 private List <UpdateFileInfo> GetUpdateFiles()
 {
     using (var request = new xNet.HttpRequest())
     {
         try
         {
             string content = request.Get(String.Format("{0}/updateInfo.json", updateFilePath)).ToString();
             return(JsonConvert.DeserializeObject <List <UpdateFileInfo> >(content));
         }
         catch (Exception e)
         {
             HandleError(0, e);
             return(null);
         }
     }
 }
Exemple #10
0
        public bool ifhaveDeals(string portal, string acectok, int idcont /*, List<string> lststatus*/)
        {
            List <string> lststatus = new List <string>()
            {
                "142", "143"
            };
            var    converter = new ExpandoObjectConverter();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Get("https://" + portal + "/api/v4/contacts/" + idcont + "?with=leads").ToString();
            }
            dynamic    obj      = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
            List <int> lstdeals = new List <int>();

            foreach (var item in obj._embedded.leads)
            {
                lstdeals.Add(Convert.ToInt32(item.id));
            }
            bool flag = false;

            foreach (var item in lstdeals)
            {
                string content2;
                using (xNet.HttpRequest request2 = new xNet.HttpRequest())
                {
                    request2.AddHeader("Authorization", " Bearer " + acectok);
                    content2 = request2.Get("https://" + portal + "/api/v4/leads/" + item).ToString();
                }
                dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
                if (lststatus.Contains(obj2.status_id.ToString()))
                {
                    continue;
                }
                else
                {
                    flag = true;
                }
            }
            return(flag);
        }
Exemple #11
0
        public string GetUserName(string portal, string acectok, int iduser)
        {
            string resp;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                resp = request.Get("https://" + portal + "/api/v2/account?with=users").ToString();
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(resp, converter);
            string  name      = "";

            foreach (var item in obj._embedded.users)
            {
                if (Convert.ToInt32(item.Value.id) == iduser)
                {
                    name = item.Value.name;
                }
            }
            return(name);
        }
Exemple #12
0
        public static string tfacode(string code)
        {
            string result = "";

            xNet.HttpRequest http = new xNet.HttpRequest();
            try
            {
                code = code.Replace("\r", "").Replace("\n", "").Replace(" ", "").ToString();
                string response = http.Get("http://2fa.live/tok/" + code).ToString();
                result = Regex.Match(response, "token.*?(\\d+)").Groups[1].Value;
            }
            catch
            {
                result = "";
            }
            finally
            {
                http.Dispose();
                http.Close();
            }
            return(result);
        }
Exemple #13
0
        public void ShowEvent(string portal, string acectok, string tel, string useid)
        {
            var data = new
            {
                add = new[] {
                    new
                    {
                        type         = "phone_call",
                        phone_number = tel,
                        users        = new[] { useid }
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v2/events", contentText2, "application/json").ToString();
            }
        }
Exemple #14
0
        public List <string> StatusDeal(string portal, string acectok)
        {
            var    converter = new ExpandoObjectConverter();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Get("https://" + portal + "/api/v4/leads/pipelines").ToString();
            }
            dynamic obj     = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
            string  idvoron = obj._embedded.pipelines[0].id.ToString();

            string content2;

            using (xNet.HttpRequest request2 = new xNet.HttpRequest())
            {
                request2.AddHeader("Authorization", " Bearer " + acectok);
                content2 = request2.Get("https://" + portal + "/api/v4/leads/pipelines/" + idvoron + "/statuses").ToString();
            }
            dynamic       obj2      = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
            List <string> lstidstat = new List <string>();

            foreach (var item in obj2._embedded.statuses)
            {
                Encoding utf8         = Encoding.GetEncoding("UTF-8");
                Encoding win1251      = Encoding.GetEncoding("Windows-1251");
                byte[]   utf8Bytes    = win1251.GetBytes(item.name);
                byte[]   win1251Bytes = Encoding.Convert(utf8, win1251, utf8Bytes);

                item.name = win1251.GetString(win1251Bytes);
                if ((item.name == "Первичный контакт") || (item.name == "Переговоры") || (item.name == "Принимают решение") || (item.name == "Согласование договора"))
                {
                    lstidstat.Add(item.id.ToString());
                }
            }
            return(lstidstat);
        }
Exemple #15
0
        public ActionResult Index(string Domen, string Hesh)
        {
            List <object[]> nametask = new List <object[]>();
            var             data     = new
            {
                filter = new
                {
                    TAG = "oktell"
                },
                select = new[] { "UF_CRM_TASK", "TITLE", "TAG" }
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();
            string content;

            try
            {
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content = request.Post("https://" + Domen + "/rest/" + Hesh + "/tasks.task.list", contentText, "application/json").ToString();
                }
            }
            catch
            {
                nametask = null;
                return(View(nametask));
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

            foreach (var item in obj.result.tasks)
            {
                nametask.Add(new object[] { item.id, item.title });
            }
            ViewBag.Domen = Domen;
            ViewBag.Hesh  = Hesh;

            return(View(nametask));
        }
Exemple #16
0
        public ActionResult Test()
        {
            // string text = System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("/text.txt"));
            var data = new
            {
                ALFACRM_URL  = "legionsport.s20.online",
                PHONE_NUMBER = "+375(44)719-66-49",                    // номер звонящего в случае входящего звонка, или исходящий номер.
                AXATEL_GUID  = "ceb9906c-0a24-4d7b-a8f4-f6e8f381c355",
                CALL_GUID    = "asd9906c-0ad4-4d7b-ada4-f6e8fasdc353", // постоянный ID звонка во внешней системе
                TYPE         = "in"                                    // направление звонка, может быть либо in либо out;
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("http://localhost:62415/method/alfacrm/alert", contentText2, "application/json").ToString();
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj4      = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

            return(Content(content));
        }
Exemple #17
0
        public List <UserGetApi> GetListApiUsers(string portal, string acectok)
        {
            string resp;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                resp = request.Get("https://" + portal + "/api/v2/account?with=users").ToString();
            }
            var               converter = new ExpandoObjectConverter();
            dynamic           obj       = JsonConvert.DeserializeObject <ExpandoObject>(resp, converter);
            List <UserGetApi> userlst   = new List <UserGetApi>();

            foreach (var item in obj._embedded.users)
            {
                UserGetApi user = new UserGetApi();
                user.id      = Convert.ToInt32(item.Value.id);
                user.isadmin = item.Value.is_admin;
                user.name    = item.Value.name;
                userlst.Add(user);
            }
            return(userlst);
        }
Exemple #18
0
        public void RegisterCall(string portal, string acectok, string tel, string userid, int status, string type, string link, string CALL_FINISH_DATE = "", int?duration = 0)
        {
            if (status == 6)
            {
                duration = 0; CALL_FINISH_DATE = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");
            }
            string result = "";

            if (status == 4)
            {
                result = "Звонок cостоялся";
            }
            else if (status == 1)
            {
                result = "Оставил голосовое сообщение";
            }
            else if (status == 2)
            {
                result = "Перезвонить позже";
            }
            else if (status == 3)
            {
                result = "Нет на месте";
            }
            else if (status == 5)
            {
                result = "Неверный номер";
            }
            else if (status == 7)
            {
                result = "Номер занят";
            }

            // DateTime td = DateTimeю.Parse(CALL_START_DATE);
            //   DateTimeOffset td = DateTimeOffset.Now;
            DateTimeOffset tdn  = DateTimeOffset.Parse(CALL_FINISH_DATE);
            Guid           guid = Guid.NewGuid();
            var            data = new
            {
                add = new[] {
                    new
                    {
                        uniq                = guid.ToString(),
                        phone_number        = tel,
                        source              = ClienID,
                        created_at          = tdn.ToUnixTimeSeconds(),
                        created_by          = userid,
                        duration            = duration,
                        call_status         = status,
                        call_result         = result,
                        direction           = type,
                        link                = link, //"https://service-axatel.ru:8099/content/zapisvobrabotke.mp3",
                        responsible_user_id = userid
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string pach         = System.Web.Hosting.HostingEnvironment.MapPath("/logamo.txt");

            System.IO.StreamWriter myfile = new System.IO.StreamWriter(pach, true);
            myfile.WriteLine(DateTime.Now.ToString() + "--FinishJson--Data:" + contentText2 + "--Portal:" + portal + "\n\n");
            myfile.Close();
            myfile.Dispose();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);

                content = request.Post("https://" + portal + "/api/v2/calls", contentText2, "application/json").ToString();
            }
        }
 private RestApiClient()
 {
     _request = new xNet.HttpRequest();
     _obj     = new object();
 }
        public void loadProxyByUrl(bool withThread, int updateInterval = 15)
        {
            try
            {
                if (withThread)
                {
                    Thread a = new Thread(new ThreadStart(() =>
                    {
                        while (true)
                        {
                            again:
                            try
                            {
                                if (loadByFile)
                                {
                                    proxyList.Clear();
                                    loadList(proxyUrl, ref proxyList);
                                }
                                else
                                {
                                    xNet.HttpRequest req = new xNet.HttpRequest
                                    {
                                        IgnoreProtocolErrors = true,
                                        Cookies = new xNet.CookieDictionary(false),
                                        KeepAlive = true,
                                        ConnectTimeout = 20000,
                                        ReadWriteTimeout = 20000
                                    };
                                    req.Get(proxyUrl, null);
                                    string source = req.Response.ToString();
                                    if (source.Length > 50)
                                    {
                                        Regex rx = new Regex(@"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}:\d{1,5}");
                                        MatchCollection collection = rx.Matches(source);
                                        if (collection.Count > 30)
                                        {
                                            proxyList.Clear();
                                            foreach (Match item in collection)
                                            {
                                                try
                                                {
                                                    string value = item.Value.ToString();
                                                    if (value.Length > 10)
                                                    {
                                                        proxyList.Add(value);
                                                    }
                                                    else
                                                    {
                                                        continue;
                                                    }
                                                }
                                                catch { }
                                            }
                                            listClearance(ref proxyList);
                                            statistics.Proxies = proxyList.Count;
                                            statistics.Proxies_FX += proxyList.Count;
                                            addLog($"{proxyList.Count} proxies updated", ConsoleColor.Cyan);
                                        }
                                        else
                                        {
                                            addLog("There is no enough proxies in pool", ConsoleColor.Red);
                                        }
                                    }
                                    else
                                    {
                                        addLog("There is no proxies in pool", ConsoleColor.Red);
                                    }
                                }
                            }
                            catch (Exception E)
                            {
                                HandleException(E);

                                Thread.Sleep(5000);
                                goto again;
                            }
                            Thread.Sleep(updateInterval * 60000);
                        }
                    }));
                    threadlist.Add(a);
                    a.Start();
                }
                else
                {
                    try
                    {
                        xNet.HttpRequest req = new xNet.HttpRequest
                        {
                            IgnoreProtocolErrors = true,
                            Cookies = new xNet.CookieDictionary(false),
                            KeepAlive = true,
                            ConnectTimeout = 20000,
                            ReadWriteTimeout = 20000
                        };
                        req.Get(proxyUrl, null);
                        string source = req.Response.ToString();
                        if (source.Length > 50)
                        {
                            Regex rx = new Regex(@"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}:\d{1,5}");
                            MatchCollection collection = rx.Matches(source);
                            if (collection.Count > 30)
                            {
                                proxyList.Clear();
                                foreach (Match item in collection)
                                {
                                    try
                                    {
                                        string value = item.Value.ToString();
                                        if (value.Length > 10)
                                        {
                                            proxyList.Add(value);
                                        }
                                        else
                                        {
                                            continue;
                                        }
                                    }
                                    catch { }
                                }
                                listClearance(ref proxyList);
                                statistics.Proxies = proxyList.Count;
                                statistics.Proxies_FX += proxyList.Count;
                                addLog($"{proxyList.Count} proxies updated", ConsoleColor.Cyan);
                            }
                            else
                            {
                                addLog("There is no enough proxies in pool", ConsoleColor.Red);
                            }
                        }
                        else
                        {
                            addLog("There is no proxies in pool", ConsoleColor.Red);
                        }
                    }
                    catch (Exception E)
                    {
                        HandleException(E);
                    }
                }
            }
            catch (Exception E)
            {
                HandleException(E);
            }
        }
Exemple #21
0
        public ActionResult ParsTask(int IdTaskB24, string Domen, string Hesh, string NameTbl)
        {
            List <DataAbonent> badabonent = new List <DataAbonent>();  // Список пустых абонентов
            var    converter = new ExpandoObjectConverter();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Get("https://" + Domen + "/rest/" + Hesh + "/tasks.task.get?id=" + IdTaskB24).ToString();
            }
            dynamic       obj     = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
            List <string> lstabon = new List <string>();

            foreach (var item in obj.result.task.ufCrmTask)
            {
                lstabon.Add(item);
            }
            // List<object[]> lsttel = new List<object[]>();
            //try
            //{
            //    lsttel = sql.SelectUserTel(NameTbl);
            //}catch
            //{

            //}
            sql.CreateTable(NameTbl);

            foreach (var item in lstabon)
            {
                DataAbonent abonent  = new DataAbonent();
                string[]    dataabon = item.Split('_');
                if (dataabon[0] == "C")
                {
                    using (xNet.HttpRequest request = new xNet.HttpRequest())
                    {
                        content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.contact.get?id=" + dataabon[1]).ToString();
                    }
                    dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                    content          = System.Text.RegularExpressions.Regex.Unescape(content);
                    abonent.datajson = content;
                    abonent.Type     = "Контакт";
                    abonent.IdEnt    = dataabon[1];
                    try
                    {
                        abonent.telef = obj2.result.PHONE[0].VALUE;
                    }
                    catch { continue; }
                }
                else if (dataabon[0] == "CO")
                {
                    using (xNet.HttpRequest request = new xNet.HttpRequest())
                    {
                        content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.company.get?id=" + dataabon[1]).ToString();
                    }
                    dynamic obj3 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                    content          = System.Text.RegularExpressions.Regex.Unescape(content);
                    abonent.datajson = content;
                    abonent.Type     = "Компания";
                    abonent.IdEnt    = dataabon[1];
                    try
                    {
                        abonent.telef = obj3.result.PHONE[0].VALUE;
                    }
                    catch { continue; }
                }
                else if (dataabon[0] == "L")
                {
                    using (xNet.HttpRequest request = new xNet.HttpRequest())
                    {
                        content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.lead.get?id=" + dataabon[1]).ToString();
                    }
                    dynamic obj4 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                    content          = System.Text.RegularExpressions.Regex.Unescape(content);
                    abonent.datajson = content;
                    abonent.Type     = "Лид";
                    abonent.IdEnt    = dataabon[1];
                    try
                    {
                        abonent.telef = obj4.result.PHONE[0].VALUE;
                    }
                    catch { continue; }
                }
                else if (dataabon[0] == "D")
                {
                    using (xNet.HttpRequest request = new xNet.HttpRequest())
                    {
                        content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.deal.get?id=" + dataabon[1]).ToString();
                    }
                    dynamic obj5 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                    System.Threading.Thread.Sleep(400);
                    if (obj5.result.COMPANY_ID != "0")
                    {
                        using (xNet.HttpRequest request = new xNet.HttpRequest())
                        {
                            content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.company.get?id=" + obj5.result.COMPANY_ID).ToString();
                        }
                        dynamic obj3 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                        content          = System.Text.RegularExpressions.Regex.Unescape(content);
                        abonent.datajson = content;
                        abonent.Type     = "Сделка";
                        abonent.IdEnt    = dataabon[1];
                        try
                        {
                            abonent.telef = obj3.result.PHONE[0].VALUE;
                        }
                        catch { continue; }
                    }
                    else
                    {
                        if (obj5.result.CONTACT_ID == null)
                        {
                            continue;
                        }
                        using (xNet.HttpRequest request = new xNet.HttpRequest())
                        {
                            content = request.Get("https://" + Domen + "/rest/" + Hesh + "/crm.contact.get?id=" + obj5.result.CONTACT_ID).ToString();
                        }
                        dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
                        content          = System.Text.RegularExpressions.Regex.Unescape(content);
                        abonent.datajson = content;
                        abonent.Type     = "Сделка";
                        abonent.IdEnt    = dataabon[1];
                        try
                        {
                            abonent.telef = obj2.result.PHONE[0].VALUE;
                        }
                        catch { continue; }
                    }
                }

                string strtel = new string(abonent.telef.Where(t => char.IsDigit(t)).ToArray());
                strtel = func.FilterNumber(strtel);
                // lsttel = sql.SelectUserTel(NameTbl);
                if (string.IsNullOrEmpty(strtel))
                {
                    abonent.Title = "Пустой телефон или не верный формат";
                    badabonent.Add(abonent);
                    continue;
                }
                if (!sql.HaveRowsTel(NameTbl, strtel))
                {
                    sql.ImportDataTel(NameTbl, strtel, abonent.datajson, IdTaskB24);
                    count++;
                }
                else
                {
                    abonent.Title = "Дубль";
                    badabonent.Add(abonent);
                }
                System.Threading.Thread.Sleep(400);
            }
            ViewBag.Count = count;
            return(View(badabonent));

            return(Content("<div style=\"text-align: center; padding: 20px; font-size: 22px; \"><div>Импорт завершен! Всего: " + count + " записей.</div><div><a href=\"/\">Назад</a></div></div>"));
        }
Exemple #22
0
        public int CreatRazobrab(string portal, string acectok, int cosht, int idcont, int idotv, string tag, string number, string link, int duration, string iddopfild, string namedopfild)
        {
            var    converter = new ExpandoObjectConverter();
            string content2;

            using (xNet.HttpRequest request2 = new xNet.HttpRequest())
            {
                request2.AddHeader("Authorization", " Bearer " + acectok);
                content2 = request2.Get("https://" + portal + "/api/v4/leads/pipelines").ToString();
            }
            dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);

            var data3 = new[]
            {
                new{ name = tag }
            };
            string contentText3 = JsonConvert.SerializeObject(data3).ToString();
            string content3;

            using (xNet.HttpRequest request3 = new xNet.HttpRequest())
            {
                request3.AddHeader("Authorization", " Bearer " + acectok);
                content3 = request3.Post("https://" + portal + "/api/v4/leads/tags", contentText3, "application/json").ToString();
            }
            dynamic        obj3    = JsonConvert.DeserializeObject <ExpandoObject>(content3, converter);
            int            idtag   = Convert.ToInt32(obj3._embedded.tags[0].id);
            int            idvoron = Convert.ToInt32(obj2._embedded.pipelines[0].id);
            string         guid1   = Guid.NewGuid().ToString();
            DateTimeOffset td      = DateTimeOffset.Now;
            var            data    = new[]
            {
                new
                {
                    request_id  = "123",
                    source_name = "Источник #1",
                    source_uid  = guid1,
                    pipeline_id = idvoron,
                    created_at  = td.ToUnixTimeSeconds(),
                    _embedded   = new
                    {
                        leads = new[]
                        {
                            new{ name  = "Новая сделка",
                                 price = cosht,
                                 custom_fields_values = new[]
                                 {
                                     new { field_id = Convert.ToInt32(iddopfild), values = new[] { new { value = namedopfild } } }
                                 },
                                 _embedded = new{
                                     tags = new[]
                                     {
                                         new{ id = idtag }
                                     }
                                 } }
                        },
                        contacts = new[]
                        {
                            new{ id = idcont }
                        }
                    },
                    metadata = new
                    {
                        is_call_event_needed = true,
                        duration             = duration,
                        uniq         = guid1,
                        service_code = "12345678",
                        link         = link, //"https://service-axatel.ru:8099/content/zapisvobrabotke.mp3",
                        phone        = number,
                        called_at    = td.ToUnixTimeSeconds(),
                        from         = "клиента " + number
                    }
                }
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                request.AddHeader("Authorization", " Bearer " + acectok);
                content = request.Post("https://" + portal + "/api/v4/leads/unsorted/sip", contentText2, "application/json").ToString();
            }
            dynamic obj = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

            return(1);
        }