По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В нашей базе знаний очень много материалов посвящено CRM – системам. Оно и понятно, ведь на сегодняшний день CRM – это одно из самых распространенных, доступных и необходимых решений для современного бизнеса. Сегодня мы расскажем об одной из таких систем, которая была разработана нашими партнерами – amoCRM. amoCRM – это универсальная система взаимоотношений с клиентами, ориентированная на малый и средний бизнес, главным предназначением которой, является учет и систематизация всех клиентов, задач, продаж и сделок в компании. Другими словами, amoCRM это некая реляционная база данных, которую заполняют менеджеры отдела продаж, занося туда всю информацию о клиенте, полученную после первичного контакта, будь то обратная форма связи на сайте, письмо на почту или телефонный звонок. Разработчики amoCRM сделали свой продукт очень удобным, многофункциональным и совместимым с другими решениями, а благодаря открытому API и виджетам любой партнер или клиент может расширить возможности amoCRM в соответствии с его нуждами и пожеланиями. Одной из главных особенностей amoCRM является установка, а точнее ее отсутствие. То есть в отличие от многих других решений, amoCRM не имеет дистрибутива, ее не поставляют на диске и нельзя скачать по ссылке, так как это SaaS (Software As A Service) продукт. Поэтому за его постоянной работоспособностью и своевременным обновлением следят непосредственно специалисты компании amoCRM, а клиентам остается только зарегистрироваться на сайте и начать пользоваться. После успешной регистрации, клиента встречает дружелюбный и интуитивно понятный интерфейс amoCRM, содержащий 6 вкладок: Рабочий стол Сделки Контакты Задачи Аналитика Настройки (Видны только пользователю с правами администратора) Здесь нужно уделить некоторое время терминологии amoCRM, которая, впрочем, может быть Вам уже знакома, однако лишним это не будет, так как в процессе работы с amoCRM (да и любой другой CRM системой) данные термины будут фигурировать очень часто. Лид (lead) – потенциальный клиент Контакт – данные, по которым можно связаться с клиентом (тел, email, fax, Skype) Сделка – двусторонний договор на предоставление чего либо Задача - напоминание ответственному менеджеру о чём либо (позвонить, написать, встретиться с клиентом) Воронка продаж – графическое представление процесса продажи товара или услуги, состоящее из нескольких этапов и показывающее на каком этапе отсеивается большая часть клиентов В терминологии amoCRM задачи, сделки, контакты и прочие термины, называются “сущностями” и представляют из себя таблицы данных, которые так или иначе могут быть связаны между собой образуя единую реляционную базу данных. Рассмотрим каждую вкладку amoCRM подробнее. Рабочий стол Данная вкладка, по сути, является окном самой актуальной информации в Вашей компании. Здесь отображаются самые последние контакты, сделки, события и задачи, добавленные в CRM, а также их текущий статус: первый контакт, переговоры, на согласовании и др. Кроме того существует возможность поиска и сортировки событий по любому периоду времени и другим критериям. Рабочий стол позволяет также самостоятельно добавить новую задачу или контакт и посмотреть текущее состояние воронки продаж. Сделки На данной вкладке отображаются все продажи, которые проводятся в компании. Их можно отсортировать, например, отобразив только сделки, которые ведете Вы или сделки, по которым не назначены/просрочены задачи и т.п. Для каждой сделки отображается следующая информация: Название (Например, название предоставляемой услуги) Ответственный менеджер (Человек из Вашей компании, ведущий данную сделку) Основной контакт (Человек со стороны клиента) Компания (Юридическое название компании, с которой ведется сделка) Статус (Текущий статут сделки в воронке продаж: завершена, отклонена и т.п) Бюджет (Объем денежных средств, выделенных на данную сделку) Сделки можно посмотреть в виде и списка и в виде воронки. В виде списка В виде воронки Если база сделок уже имеется, то ее можно просто импортировать на этапе внедрения AmoCRM. Также на данной вкладке можно создать новую сделку, добавить к ней тэг или примечание. Контакты Данная вкладка содержит все контакты всех клиентов Вашей компании, которые можно отсортировать по наличию или отсутствию по ним задач, просроченным задачам и так далее. На данной вкладке можно также добавить новый контакт, самостоятельно заполнив всю необходимую информацию. Задачи На данной вкладке находятся все задачи, которые были заведены за время работы amoCRM. Кроме того, можно создать новую задачу, заполнив следующие поля: Срок выполнения Контакт или сделка, к которой относится задача Ответственный менеджер Тип задачи (связаться с клиентом, выслать КП и т.п) Примечание Аналитика Данная вкладка содержит 5 внутренних вкладок с разными типами отчетности: Анализ продаж Показывает сколько в среднем сделки находятся в каждом из статусов воронки продаж. Сводный отчет Содержит отчет обо всех открытых сделках и показывает на каком этапе воронки продаж они находятся. Отчет по сотрудникам Анализирует конкретного менеджера и его загруженность, основываясь на данных анализа его сделок, задач и контактов. Список событий Содержит отчет обо всех действиях, которые были совершены за время пользования amoCRM Настройки Вкладка для администратора системы. Здесь можно изменить название и адрес Вашего аккаунта, часовой пояс и валюту, настроить список IP-адресов, которым будет разрешен доступ в систему и ее API, дополнить или изменить статусы сделок, поменять их цвет, добавить новые поля в карточки сделок, контактов и компаний, посмотреть свой тарифный план и срок его завершения, добавлять в систему новых пользователей, настраивать им права, добавлять их в отделы и группы, назначать отделам и группам руководителя. Во вкладке История посещений содержится лог авторизаций. Это информация о посещении пользователями CRM Вашего аккаунта, такая как: дата, имя пользователя, браузер и IP адрес, с которого пользователь зашёл в аккаунт. Отдельно нужно сказать о вкладке Виджеты. Данная вкладка содержит список доступных и рекомендованных виджетов с подробным описанием каждого для расширения возможностей amoCRM. Виджеты позволяют интегрировать amoCRM с другими приложениями, например IP-телефонии или приложениями SMS и Email-рассылок и сервисами online чатов. Если в Вашей компании есть разработчик, он может написать свой виджет в соответствии с особенностями Вашего бизнеса. Несмотря на довольно объемную многофункциональность,amoCRM очень удобна и проста в работе. Она не требует дополнительных установок и настроек, а благодаря бесплатным мобильным приложениям для Android и iOS является полностью мобильной системой, избавляя Вас от необходимости постоянно находиться за стационарным компьютером.
img
SQL расшифровывается как Structured Query Language, или структурированный язык запросов. Команды SQL – это инструкции, которые даются базе данных для выполнения задач, функций и запросов с данными. SQL-командами можно пользоваться для поиска по базе данных и выполнения различных функций: создания и удаления таблиц, добавления данных в таблицы и их редактирования. Ниже приведен список основных команд (их иногда называют операторами), которые необходимо знать при работе с SQL. SELECT и FROM SELECT в запросе определяет, какие столбцы данных отобразить в результатах. Кроме того, в SQL есть возможности отображать данные не из столбца таблицы. В примере ниже показаны 3 столбца, взятые из таблицы студентов Student (через SELECT и FROM) и один вычисляемый столбец. В базе данных хранятся ID (studentID), имя (FirstName) и фамилия (LastName) студента. Мы можем объединить столбцы с именем и фамилией и создать вычисляемое поле с полным именем (FullName). SELECT studentID, FirstName, LastName, FirstName + ' ' + LastName AS FullName FROM student; Вывод: +-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec) CREATE TABLE Название CREATE TABLE говорит само за себя – оператор создает таблицу. Вы можете задать название таблицы и настроить, какие столбцы будут присутствовать в таблице. CREATE TABLE table_name ( column_1 datatype, column_2 datatype, column_3 datatype ); ALTER TABLE ALTER TABLE изменяет структуру таблицы. Вот так можно добавить столбец в базу данных: ALTER TABLE table_name ADD column_name datatype; CHECK CHECK ограничивает диапазон значений, которые можно добавить в столбец. Когда вы настраиваете ограничение CHECK для отдельного столбца, оператор проверяет, что в этом столбце присутствуют строго определенные значения. Если же CHECK настраивается для таблицы, то он может ограничивать значения в отдельных столбцах на основании значений из других столбцов этой строки. В следующем примере при создании таблицы Persons используется ограничение CHECK для столбца «Возраст» (Age). Таким образом проверяется, что в таблицу не попадают лица младше 18 лет. CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) ); Следующий синтаксис используется для присвоения названия оператору CHECK и настройки CHECK для нескольких столбцов: CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') ); WHERE (AND, OR, IN, BETWEEN и LIKE) Оператор WHERE используется для ограничения количества возвращаемых строк. Сначала, в качестве примере, мы покажем оператор SELECT и его результат без оператора WHERE. Затем добавим оператор WHERE, в котором используются сразу 5 из вышеуказанных квалификаторов. SELECT studentID, FullName, sat_score, rcd_updated FROM student; +-----------+------------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+------------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+---------------------+ 9 rows in set (0.00 sec) Теперь повторим запрос SELECT, но ограничим возвращаемые строки оператором WHERE. STUDENT studentID, FullName, sat_score, recordUpdated FROM student WHERE (studentID BETWEEN 1 AND 5 OR studentID = 8) AND sat_score NOT IN (1000, 1400); +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 5 rows in set (0.00 sec) UPDATE Для обновления записи в таблице используется оператор UPDATE. Условием WHERE можно уточнить, какие именно записи вы бы хотели обновить. Вы можете обновлять по одному или нескольким столбцам сразу. Синтаксис выглядит так: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; В примере ниже обновляется название записи (поле Name) с Id 4: UPDATE Person SET Name = “Elton John” WHERE Id = 4; Помимо этого, можно обновлять столбцы в таблице значениями из других таблиц. Чтобы получить данные из нескольких таблиц, воспользуйтесь оператором JOIN. Синтаксис выглядит так: UPDATE table_name1 SET table_name1.column1 = table_name2.columnA table_name1.column2 = table_name2.columnB FROM table_name1 JOIN table_name2 ON table_name1.ForeignKey = table_name2.Key В примере ниже мы обновляем поле «Менеджер» (Manager) для всех записей: UPDATE Person SET Person.Manager = Department.Manager FROM Person JOIN Department ON Person.DepartmentID = Department.ID GROUP BY GROUP BY позволяет объединять строки и агрегировать данные. Вот так выглядит синтаксис GROUP BY: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; HAVING HAVING позволяет сортировать данные, которые собираются через GROUP BY. Таким образом, пользователю показывается лишь ограниченный набор записей. Вот так выглядит синтаксис HAVING: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > value; AVG() AVG, или среднее, вычисляет среднее значение числового столбца из набора строк, которые возвращает оператор SQL. Вот так выглядит синтаксис: SELECT groupingField, AVG(num_field) FROM table1 GROUP BY groupingField А вот пример этого оператора для таблицы Student: SELECT studentID, FullName, AVG(sat_score) FROM student GROUP BY studentID, FullName; AS AS позволяет переименовать столбец или таблицу с помощью псевдонима. SELECT user_only_num1 AS AgeOfServer, (user_only_num1 - warranty_period) AS NonWarrantyPeriod FROM server_table И вот так будет выглядеть результат. +-------------+------------------------+ | AgeOfServer | NonWarrantyPeriod | +-------------+------------------------+ | 36 | 24 | | 24 | 12 | | 61 | 49 | | 12 | 0 | | 6 | -6 | | 0 | -12 | | 36 | 24 | | 36 | 24 | | 24 | 12 | +-------------+------------------------+ Кроме того, через оператор AS вы можете задать название таблицы – так будет проще обращаться к ней в JOIN. SELECT ord.product, ord.ord_number, ord.price, cust.cust_name, cust.cust_number FROM customer_table AS cust JOIN order_table AS ord ON cust.cust_number = ord.cust_number Результат выглядит так. +-------------+------------+-----------+-----------------+--------------+ | product | ord_number | price | cust_name | cust_number | +-------------+------------+-----------+-----------------+--------------+ | RAM | 12345 | 124 | John Smith | 20 | | CPU | 12346 | 212 | Mia X | 22 | | USB | 12347 | 49 | Elise Beth | 21 | | Cable | 12348 | 0 | Paul Fort | 19 | | Mouse | 12349 | 66 | Nats Back | 15 | | Laptop | 12350 | 612 | Mel S | 36 | | Keyboard| 12351 | 24 | George Z | 95 | | Keyboard| 12352 | 24 | Ally B | 55 | | Air | 12353 | 12 | Maria Trust | 11 | +-------------+------------+-----------+-----------------+--------------+ ORDER BY ORDER BY позволяет сортировать результирующий набор данных по одному или нескольким элементам в разделе SELECT. Ниже дан пример сортировки студентов по имени (FullName) в порядке убывания. Изначально используется стандартная сортировка по возрастанию (ASC), поэтому для сортировки в обратном порядке мы применяем DESC. SELECT studentID, FullName, sat_score FROM student ORDER BY FullName DESC; COUNT COUNT вычисляет количество строк и возвращает результирующее значение в столбце. Ниже приводятся возможные сценарии использования COUNT: Подсчет всех строк в таблице (не требуется Group by) Подсчет общего числа подмножеств данных (в операторе обязательно прописывается Group By) Этот оператор SQL выводит количество всех строк. Кроме того, что вы можете настроить название результирующего столбца COUNT с помощью AS. SELECT count(*) AS studentCount FROM student; DELETE DELETE используется для удаления записи из таблицы. Будьте внимательны! Вы можете удалить несколько записей в таблице, либо сразу все. С помощью условия WHERE вы указываете, какие записи необходимо удалить. Синтаксис выглядит так: DELETE FROM table_name WHERE condition; Вот так выглядит удаление из таблицы Person записи с Id 3: DELETE FROM Person WHERE Id = 3; INNER JOIN JOIN, или внутреннее соединение, выбирает записи, соответствующие значениям в двух таблицах. SELECT * FROM A x JOIN B y ON y.aId = x.Id LEFT JOIN LEFT JOIN возвращает все строки из левой таблицы и соответствующие им строки из правой таблицы. Строки из левой таблицы возвращаются даже при пустых значениях в правой таблице. Если для строк из левой таблицы нет соответствия в правой, то в значениях последней будет стоять null. SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id RIGHT JOIN RIGHT JOIN возвращает все строки из правой таблицы и соответствующие им строки из левой. В отличие от левого соединения, здесь возвращаются все строки из правой таблицы, даже если им ничего не соответствует в левой. В таком случае, в значениях столбцов из левой таблицы будет стоять null. SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id FULL OUTER JOIN FULL OUTER JOIN возвращает все строки, соответствующие условиям в любой из таблиц. Если в левой таблице есть строки, которым ничего не соответствует в правой, то они все равно отобразятся в результирующих значениях. То же самое распространяется и на строки из правой таблицы без соответствующих значений в левой. SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName INSERT INSERT используется для добавления данных в таблицу. INSERT INTO table_name (column_1, column_2, column_3) VALUES (value_1, 'value_2', value_3); LIKE LIKE используется в связке с WHERE или HAVING (в составе оператора GROUP BY) и ограничивает выбранные строки по элементам, если в столбце содержится определенный шаблон символов. Этот SQL запрос выбирает студентов, чье значение в FullName начинается с «Monique» или заканчивается с «Greene». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName LIKE 'Monique%' OR FullName LIKE '%Greene'; +-----------+---------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+---------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | +-----------+---------------+-----------+---------------------+ 2 rows in set (0.00 sec) Перед LIKE вы можете добавить NOT, и тогда строки, соответствующие условию, будут исключаться, а не добавляться. Этот SQL исключает записи, у которых в столбце FULL NAME содержится «cer Pau» и «Ted». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%'; +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 7 rows in set (0.00 sec)
img
CURL это мощный инструмент командной строки, который позволяет тестировать различные API интерфейсы, отправлять данные на URL методом POST/GET и прочее. Как минимум для разработчика это необходимый инструмент. Если вам нужно протестировать CURL, а вы не хотите устанавливать Postman, например, то из терминала (командной строки) на MacOS можно лего инициировать CURL. В статье мы покажем несколько полезных примеров cURL и терминала. Отправка POST запрос через cURL Сделать POST легко: можно с данными, а можно и без них. Смотрите какой синтаксис использования: CURL запрос без дополнительных данных curl -X POST http://URL/test.php CURL запрос с дополнительными параметрами curl -d "data=test1data2=test2" http://URL/test.php CURL с передаче полей curl -X POST -F "name=diman" -F "password=test" http://URL/example.php CURL с передачей файла curl -X POST -F "image=@/path/pic.png" http://URL/testform.php Отправка CURL с JSON Ловите пример отправки JSON curl -H "Content-Type: application/json" -X POST -d '{"user":"sanya","pass":"qwerty"}' http://test/myscript.php Вам мало примеров? Если так, то вы легко можете изучить все возможности CURL в консоли: curl --help curl --manual Профит!
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59