Jump to content

elephantbull

Пользователи
  • Posts

    5
  • Joined

  • Last visited

Everything posted by elephantbull

  1. Igorб согласен с вами и разделяю с вами чувство занятости и отвращение выполнять чужую работу. Однако ваш сервис - коммерческая организация, не смотря на название. Я ваш клиент, неужели Вы не можете переадресовать мой пост более свободному специалисту, который поможет всей команде Zadarma удержать меня как клиента? Убежден , что если я уйду от вас в манго офис (а они почему то очень уверены что мой тест с IVR задарма не увенчается успехом), по причине неадекватного сервиса, функционала и поддержки, то уйдут еще пару десятков клиентов, прочитавших этот и последующие посты. Сделайте же меня счастливым клиентом Zadarma ! Заработайте на мне немного денег!
  2. Igor, спасибо за информацию, в настоящий момент я не могу удостоверится доходят ли вызовы до моего вебхука. Ваши коллеги говорят что скорее всего хук некорректный. Не более того. Сам сценарий - во вложении. Хук ниже. Очень жаль что сервис и документация по нему преподносится как игрушка для не ленивых программистов (большинство из них оказывается не хотят разбираться), а не для безнесменов. if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); use Zadarma_API\Api; use Zadarma_API\Webhook\AbstractNotify; use Zadarma_API\Webhook\NotifyIvr; use Zadarma_API\Webhook\NotifyStart; use Zadarma_API\Webhook\Request; define('KEY', '177e579a06b4557e0118'); define('SECRET', '18ced67cb9f140f726d2'); class WebhookExample { private static $api = null; const INFO_FILE_ID = '199a520c8b81c207'; const WRONG_INPUT_FILE_ID = '199a520c8b81c2071'; const DTMF_NAME_2 = 'date'; const DTMF_NAME_3 = 'menu'; public static $menu = [ 'file' => '1f5240a2c672ddb6', 1 => [ 'file' => '1f5240a2c672ddb6', 1 => [ 'file' => '199a520c8b81c207', 1 => [ 'file' => '199a520c8b81c207', ], ], 2 => [ 'file' => '199a520c8b81c207', ], ], 2 => [ 'file' => '50979aa4feffcf90', ], ]; public static function example3() { $request = new Request(); /** @var NotifyIvr $notify */ if ($notify = self::getEvent([AbstractNotify::EVENT_START])) { $request ->setIvrPlay(self::$menu['file']) ->setWaitDtmf(5, 1, 1, self::DTMF_NAME_3, 'hangup') ->send(); return; } $notify = self::getEvent([AbstractNotify::EVENT_IVR]); if (!empty($notify->wait_dtmf->digits) && mb_strpos($notify->wait_dtmf->name, self::DTMF_NAME_3) === 0) { $menu = mb_substr($notify->wait_dtmf->name, mb_strlen(self::DTMF_NAME_3)); switch ($notify->wait_dtmf->digits){ case 1: case 2: case 3: $menu .= $notify->wait_dtmf->digits; break; case 4: if ($menu) { $menu = mb_substr($menu, 0, mb_strlen($menu) - 1); } break; case 5: default: $request->setHangup()->send(); return; } list($menu, $file) = self::getMenuFile($menu); $request ->setIvrPlay($file) ->setWaitDtmf(5, 1, 1, self::DTMF_NAME_3.$menu, 'hangup') ->send(); } } private static function getEvent($allowedTypes) { if (self::$api === null) { self::$api = new Api(KEY, SECRET, true); } return self::$api->getWebhookEvent($allowedTypes); } private static function getMenuFile($menuDigits) { $menuDigits = (string)$menuDigits; $menuDigitsResult = ''; $menu = self::$menu; while ($menuDigits) { $currentDigit = mb_substr($menuDigits, 0, 1); $menuDigits = mb_substr($menuDigits, 1); if (isset($menu[$currentDigit])) { $menu = $menu[$currentDigit]; $menuDigitsResult .= $currentDigit; } else { break; } } return [$menuDigitsResult, $menu['file']]; } } WebhookExample::example3();
  3. Igor, Я уже месяц пытаюсь наладить IVR через API и ничего не выходит. Уже привлек 3 программистов и ни один из них не сумел. Потратил 5 тыс рублей. Документация и инструкция либо содержат пробелы либо этот функционал просто не работоспособен. Служба поддержки мягко "посылает" Докажите мне что многоуровневый IVR возможен. Напишите мне в личку имя того кто это хоть раз проделал на вашем бесплатно-сервисе.
  4. Всем привет. Мне для своего бизнеса нужно 3 уровневое меню IVR. Но настройка с помощью API для меня сравнима с освоением китайской грамоты без учебника. КТо-нибудь мог бы помочь произвести настройку за оплату? Предложения прошу писать в личку
×
×
  • Create New...