По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Теперь вы знаете, как работают глобальные префиксы и подсети, а как насчет ID интерфейса? Мы еще не говорили о назначении IPv6-адресов нашим хостам. Назначение адресов хостам почти то же самое, что и для IPv4: Адреса должны быть уникальными для каждого хост; Вы не можете использовать префиксный адрес в качестве адреса хоста. Ранее мы писали про основы работы протокола IPv6 (Internet Protocol version 6). Вы можете настроить IPv6-адрес вручную вместе со шлюзом по умолчанию, DNS-сервером и т. д. или ваши хосты могут автоматически получить IPv6-адрес либо через DHCP, либо через что-то новое, называемое SLAAC (Stateless Address Autoconfiguration). Вот пример IPv6 адресов, которые вы могли бы выбрать для топологии, которая показана выше: Для интерфейсов роутера предлагаю использовать наименьшие числа, так как они легко запоминаются. В этом примере показан уникальный global unicast IPv6-адрес для каждого устройства. Это все, что касается global unicast адресов, так же мы должны рассмотреть уникальные локальные одноадресные адреса. Уникальные локальные адреса работают так же, как и частные адреса IPv4. Вы можете использовать эти адреса в своей собственной сети, если не собираетесь подключаться к Интернету или планируете использовать IPv6 NAT. Преимущество уникальных локальных адресов заключается в том, что вам не нужно регистрироваться в специализированном органе, чтобы получить дополнительные адреса. Вы можете распознать эти адреса, потому что все они начинаются с FD в шестнадцатеричном формате. Есть еще несколько правил, которым вы должны следовать, если хотите использовать уникальные локальные адреса: Убедитесь, что FD - это первые два шестнадцатеричных символ; Вам нужно составить 40-битный глобальный ID, вы можете выбрать все, что вам нравится; Добавьте 40-битный глобальный ID после "FD", чтобы создать 48-битный префикс; Следующие 16 бит должны использоваться для подсетей Это оставляет вам последние 64 бита для использования идентификатора интерфейса. Вот как выглядит уникальный локальный адрес: Это дает нам уникальный локальный адрес, который мы можем использовать в наших собственных сетях. Подсети global unicast адресов или уникальных локальных адресов точно такие же, за исключением того, что на этот раз мы сами создаем префикс вместо того, чтобы провайдер назначил нам глобальный префикс. Глобальный ID может быть любым, что вам нравится, с 40 битами у вас будет 10 шестнадцатеричных символов для использования. Вы можете выбрать что-то вроде 00 0000 0001, поэтому, когда вы поставите перед ним "FD", у вас будет префикс FD00:0000:0001::/48. Вы можете удалить некоторые нули и сделать этот префикс короче, он будет выглядеть так: FD00:0:1:: / 48 Теперь вы можете добавить различные значения за префиксом, чтобы сделать уникальные подсети: FD00:0:1:0000::/6; FD00:0:1:0001::/6; FD00:0:1:0002::/6; FD00:0:1:0003::/6; FD00:0:1:0004::/6; FD00:0:1:0005::/6; FD00:0:1:0006::/6; FD00:0:1:0007::/6; FD00:0:1:0008::/6; FD00:0:1:0009::/6; FD00:0:1:000A::/6; FD00:0:1:000B::/6; FD00:0:1:000C::/6; FD00:0:1:000D::/6; FD00:0:1:000E::/6; FD00:0:1:000F::/6; FD00:0:1:0010::/6; FD00:0:1:0011::/6; FD00:0:1:0012::/6; FD00:0:1:0013::/6; FD00:0:1:0014::/6; И так далее. Когда вы выполняете лабораторные работы, можно использовать простой глобальный ID. В конечном итоге вы получите короткий и простой в запоминании префикс. Для производственных сетей лучше использовать глобальный ID, чтобы он был действительно уникальным. Возможно, однажды вы захотите подключить свою сеть к другой сети, или, возможно, вам придется объединить сети. Когда обе сети имеют один и тот же глобальный идентификатор, вам придется изменить IPv6-адрес для объединённой сети. В случае, если глобальные идентификаторы отличаются, Вы можете просто объединить их без каких-либо проблем. Настройка на маршрутизаторе В оставшейся части этой статьи мы рассмотрим, как можно настроить IPv6 на наших роутерах. Если вы хотите настроить IPv6 адрес на роутере у вас есть два варианта: Вручную настроить 128-битный IPv6-адрес; Использовать EUI-64; Сначала я покажу вам, как вручную настроить IPv6-адрес, а затем объясню, что такое EUI-64. Вот что необходимо выполнить: OFF1(config)#interface fastEthernet 0/0 OFF1(config-if)#ipv6 address 2001:1234:5678:abcd::1/64 Вам нужно использовать команду ipv6 address, а затем вы можете ввести адрес IPv6. Префикс, который я использую, - это 2001:1234:5678:abcd, и этот роутер будет иметь в качестве своего адреса "хоста" "1". Если хотите Вы также можете ввести полный IPv6-адрес: OFF1(config)#interface fastEthernet 0/0 OFF1(config-if)#ipv6 address 2001:1234:5678:abcd:0000:0000:0000:0001/64 Эта команда будет иметь точно такой же результат, что и команда, введенная ранее. Мы можем проверить подсеть и IPv6-адрес следующим образом: OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 No Virtual link-local address(es): Global unicast address(es): 2001:1234:5678:ABCD::1, subnet is 2001:1234:5678:ABCD::/64 Данный вывод информации отображает global unicast адрес и нашу подсеть. Есть еще одна важная вещь, когда мы настраиваем IPv6 на роутере. По умолчанию роутер не будет пересылать никакие пакеты IPv6 и не будет создавать таблицу маршрутизации. Чтобы включить "обработку" пакетов IPv6, нам нужно включить его: OFF1(config)#ipv6 unicast-routing Большинство команд "ip" будут работать, просто попробуйте "ipv6" вместо этого и посмотрите, что он делает: OFF1#show ipv6 interface brief FastEthernet0/0 [up/up] FE80::C000:18FF:FE5C:0 2001:1234:5678:ABCD::1 OFF1#show ipv6 route connected IPv6 Routing Table - 3 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 D - EIGRP, EX - EIGRP external C 2001:1234:5678:ABCD::/64 [0/0] via ::, FastEthernet0/0 Теперь вы знаете, как настроить IPv6-адрес вручную и как его проверить. После, почитайте о том, как настроить IPv6 с EUI-64 на Cisco.
img
Использование REST API является полезной функцией для реализации ваших сценариев. Вы можете получить доступ к новым функциям, а также расширить возможности создания новых, более продвинутых сценариев. Опыт многих пользователей показывает, что, когда начинаешь использовать REST API в скриптах, то чувствуешь себя довольно неуклюже и непривычно. В этой заметке мы обсудим: Что такое REST API Как читать документацию Как использовать API REST с PowerShell Некоторые советы и подсказки, как облегчить и улучшить практику Что такое "REST"? REST, или RESTful API, это API, который использует HTTP запросы для получения, добавления, удаления или манипулирования данными в различных сервисах. Как правило, то, что нужно сделать с данными, решается тем, какой HTTP-метод вы используете. Вот краткий список методов HTTP и их применение в REST API: GET-Read POST-Create PATCH-Partial update/modify PUT-Update/replace DELETE-Remove Данные, которые возвращает API REST, обычно представляются в формате JSON. Теперь давайте начнём с нашего первого API запроса! Что такое API Работа с документацией Для использования различных API REST необходимо научиться читать и интерпретировать документацию. К счастью, если вы знаете, как читать один тип документации, вы сможете быстро научиться читать другие. В этой статье мы используем petstore.swagger.io, так как он использует популярный фреймворк Swagger, который довольно часто используется в разработке. На предыдущем рисунке показана наиболее важная информация о конечных точках REST API: HTTP-метод-GET/POST/DELETE и т.д. URL-адрес, связанный с конечной точкой REST API (Базовый URL, как правило, представлен в верхней части страницы документации) Краткое описание Подробности Первая страница документации просто замечательная, и, как правило, с помощью этой информации можно выполнить большинство запросов, требующих использования метода HTTP GET. Но такие методы, как POST и SET, обычно требуют, чтобы вы щелкнули и развернули строку, чтобы получить больше информации. Если вы нажмете на одну из строк, то получите информацию, которая выглядит так: Здесь мы представили конечную точку REST, которая может создать новый объект pet. Здесь указывается, как должен выглядеть JSON, предоставленный в теле POST, и какой тип контента он принимает. Другие конечные точки REST указывают, что это за параметры, каким типом данных они должны быть и т.д. Это основы для чтения документации. Теперь, когда общие принцип более-менее ясны, пора начать использовать REST API с PowerShell. Получение первых данных (GET) Используя REST API с PowerShell обычно довольно просто, используется встроенные командлеты, таким образом, нет необходимости в дополнительных модулях. Мы собираемся извлечь данные с помощью метода GET в конечной точке /pet/{ petId}. Если развернуть конечную точку /pet/{ petId} в документации, можно увидеть, что {petId} на самом деле является параметром, который принимает целое число. Это делает URL-адрес для выборки объекта pet с идентификатором 1: https://petstore.swagger.io/v2/pet/1 В документации SWAGGER REST API обычно отображается базовый URL-адрес в верхней части страницы. Теперь начнем с PowerShell. Откройте окно терминала и введите: PS51 > Invoke-RestMethod -Method GET -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/1" id : 1 category : @{id=0; name=string} name : doggie photoUrls : {string} tags : {@{id=0; name=string}} status : available Поскольку в ответе от сервера возвращается тип содержимого "application/json" используется метод Invoke-RestMethod, который автоматически преобразует возвращаемый JSON в объект. Ошибка 404 Not found, как правило, означает, что объект не найден или URL-адрес введен неправильно. Итак, мы выполнили первый вызов REST API. Но возможности метода GET для получения данных довольно ограничены, так что давайте создадим что-нибудь с помощью метода POST. Создание объекта методом POST Метод POST чаще всего используется для создания, например, пользователей или записей и т.д. Запрос POST отправляет BODY, содержащий информацию, конечной точке REST, обычно в формате JSON, но он также может быть в виде формы с кодировкой URL. Вы узнаете, как создать объект JSON, который можно отправить в конечную точку/pet. Можно увидеть, как должен выглядеть JSON, если развернуть строку POST/pet в документации. Начнем с создания хэштаблицы, который можно преобразовать в объект JSON. Raw JSON следует избегать в скриптах PowerShell, поскольку он ограничивает его возможности. $Body = @{ id = 19 category = @{ id = 45 name = "Whatever" } name = "Dawg" photoUrls = @( "string" ) tags = @( @{ id = 0 name = "string" } ) status = "available" } Если вам трудно создать хештаблицу, который преобразуется в нужный JSON, установите модуль PsdKit и используйте команду $ JsonString | ThreadTo-Psd Теперь имеется хэш-таблица, которую можно преобразовать в строку JSON и POST в конечную точку/pet: $JsonBody = $Body | ConvertTo-Json $Uri = "https://petstore.swagger.io/v2/pet" Invoke-RestMethod -ContentType "application/json" -Uri $Uri -Method Post -Body $JsonBody id : 19 category : @{id=45; name=Whatever} name : Dawg photoUrls : {string} tags : {@{id=0; name=string}} status : available При создании объекта он обычно получает созданный для подтверждения объект. Использование DELETE. Метод DELETE используется для удаления данных, а применение очень схоже с методом GET. PS51 > Invoke-RestMethod -Method DELETE -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/1" Только убедитесь, что не удалите ничего важного Использование PUT Метод PUT используется для обновления данных. Это делается аналогично методу POST путем представления полного или частичного объекта JSON: PS51> $Body = [PSCustomObject]@{ id = 19 name = "Dawg with a new name" } PS51> $JsonBody = $Body | ConvertTo-Json PS51> $Uri = "https://petstore.swagger.io/v2/pet" PS51> Invoke-RestMethod -ContentType "application/json" -Uri $Uri -Method PUT -Body $JsonBody id name photoUrls tags -- ---- --------- ---- 19 Dawg with a new name {} {} Обычно API REST возвращает объект JSON с использованными и/или обновленными данными. Можно увидеть, что объект был обновлен с помощью метода GET: PS 51> Invoke-RestMethod -ContentType "application/json" -Uri "https://petstore.swagger.io/v2/pet/19" id : 19 category : @{id=45; name=Whatever} name : Dawg with a new name photoUrls : {string} tags : {@{id=0; name=string}} status : available Создание функций Писать эти команды каждый раз вручную может стать довольно утомительным и на самом деле не масштабируемым. Если мы вызываем конечную точку несколько раз, то лучше создать для нее функцию. Это довольно просто и нужно написать всего несколько строк: Function Get-PetstorePet { [cmdletbinding()] param( # Id of the pet [Parameter(Mandatory,ValueFromPipeline)] [int]$Id ) Begin{} Process{ $RestMethodParams = @{ Uri = "https://petstore.swagger.io/v2/pet/$Id" ContentType = "application/json" Method = "GET" } Invoke-RestMethod @RestMethodParams } End{} } После создания функции ее можно вызвать в сценарии: PS51> Get-PetstorePet -Id 1 id name photoUrls tags -- ---- --------- ---- 1 Doggie {http://picture.url} {} Это можно сделать и для метода POST для создания нового объекта pet в Petstore: Function Add-PetstorePet { [cmdletbinding()] param( # Id of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [int]$Id, # Name of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$Name, # Status of the pet (available, sold etc) [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$Status, # Id of the pet category [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [int]$CategoryId, # Name of the pet category [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string]$CategoryName, # URLs to photos of the pet [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string[]]$PhotoUrls, # Tags of the pets as hashtable array: @{Id=1;Name="Dog"} [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [Hashtable[]]$Tags ) Begin{} Process{ $Body = @{ id = $Id category = @{ id = $CategoryId name = $CategoryName } name = $Name photoUrls = $PhotoUrls tags = $Tags status = $Status } $BodyJson = $Body | ConvertTo-Json $RestMethodParams = @{ Uri = "https://petstore.swagger.io/v2/pet/" ContentType = "application/json" Method = "Post" Body = $BodyJson } Invoke-RestMethod @RestMethodParams } End{} } И вызов этой функции PowerShell намного упрощает задачу: PS51> $AddPetStorePetsParams = @{ Id = 44 Name = "Birdie" Status = "available" CategoryId = 50 CategoryName = "Hawks" PhotoUrls = "https://images.contoso.com/hawk.jpg" Tags = @( @{ Id=10 Name="Not eagles" } ) } PS51> Add-PetStorePet @AddPetStorePetsParams id : 44 category : @{id=50; name=Hawks} name : Birdie photoUrls : {https://images.domain.com/hawk.jpg} tags : {@{id=0}} status : available Возможно, что многие модули, которые вы ежедневно используете, состоят из функций, который за кулисами используют REST API. Заключение Обучение работы с REST API, главным образом основано на чтении документации. Мы использовали документацию на основе SWAGGER в этом посте, так как она представляет, как могут выглядеть другие стили документации. Кроме того, преобразование вызовов API в функцию может сэкономить много времени, упростить работу и очистить сценарии.
img
В Amocrm существует два вида воронок: Воронка продаж и Digital воронка. Обе они являются эффективными инструментами для отдела продаж. Основным элементом построения воронки являются этапы, по которым проходит лид перед тем, как совершить целевое действие. /p> В Amo можно создавать до 10 воронок, в каждой из которой можно настроить до 100 шагов. Как создать воронку продаж в AmoCRM? Технически начало построения воронки начинается с открытия вкладки «Сделки» . По умолчанию к редактированию предлагается воронка со стандартными шагами. Далее можно создавать шаги, которые являются последовательностью этапов продаж. Некоторые из них могут заканчиваться неуспешным статусом, например, отказом клиента от покупки. Самостоятельная настройка воронки продаж Создатели AmoCRM рекомендует следовать следующим правилам при самостоятельной настройке воронки продаж: Создавать шаги, которые являются этапами продаж Разделять этапы по длительности Разделять воронки по отделам Называть этапом конкретное действие Шаги, которые являются этапами продаж Специалисты рекомендуют избегать этапов, которые не содержат шаги, приближающие лид к совершению покупки. Так же не создавайте этапы-напоминания. Конечно, существуют сценарии, в которых клиент не выходит на связь, после отправки заявки, или ему не подошли условия. В таком случае следует создать отдельную воронку, в которой будут существовать неуспешные этапы продаж. Это поможет составить более точную и дифференцированную статистику по продажам. Разделять этапы по длительности Самым лучшим вариантом является обозначение времени для каждого шага. Когда в одном этапе сделки сочетается конкретный срок и задание с неопределенной длительностью, высок риск того, что менеджер может забыть или даже «забить» на выполнение задачи. Если каждый этап имеет свой определенный дедлайн, система пришлет менеджеру напоминание, когда срок вот-вот подойдет к концу. Установить срок выполнения задачи можно в настройках Сделки. Выберите «Создать новую сделку» или «Редактировать» уже существующую. Разделение воронки при работе нескольких отделов Случается, что над одной заявкой может работать более одного отдела. Например, сначала клиент контактирует с колл-центром, потом с персональным менеджером по продажам, и в конце концов с финансовым и юридическим отделом, где заключается договор. В этой ситуации продуктивным способом разделить ответственных по шагам и отследить статистику по каждому отделу. Работа со сделками Сделки перемещаются по этапам воронки, с ними взаимодействуют менеджеры по продажам и другие ответственные, которые к ней прикреплены. Чтобы извлечь максимум пользы от каждого взаимодействия с клиентом, рекомендуется отредактировать поля карточки сделки в зависимости от специфики бизнеса. Это действие, как и редактор воронок, доступно только администратору системы. Подключите веб-форму В AmoCRM есть возможность подключения формы обратной связи с сайта прямо к системе. Это означает, что заявки с сайта будут автоматически поступать в воронку. Периодические покупки Это совершенно новый инструмент в AmoCRM, который позволяет работать с существующими клиентами, строить ожидания и гипотезы, когда они вновь обратятся в компанию. Для активации данного инструмента необходимо перейти в «Настройки» - «Общие настройки» , выбрать Периодические покупки и активировать их. После этого система перенесет администратора в раздел «Покупатели» , где необходимо будет задать условия взаимодействия с постоянными клиентами, задачи и рекламные материалы. Amo будет периодически высылать промо материалы этим покупателям, стимулируя их на покупку.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59