Tropo WebAPI с модулем Drupal

Я пытаюсь расширить функциональность сайта Drupal, чтобы включить сервис Tropo. Мне абсолютно необходимо иметь доступ к моей базе данных Drupal и API, который Drupal предоставляет мне для своей работы. Я довольно новичок в написании модулей для Drupal, но сейчас мне кажется, что Tropo не может распознать мой файл.module как PHP, поэтому он не принимает необходимые вызовы JSON.

Мне нужен либо a) способ чтения Tropo из моего файла.module, либо b) способ добавления обычного.php файла в мой модуль, чтобы я мог выполнять все обычные вызовы функций Drupal, а Tropo мог получить доступ к моему сценарию.

Мысли?

1 ответ

Решение

В Drupal вы не можете запускать файлы.module напрямую из Интернета. Каждый модуль должен реализовывать hook_menu, и этот хук создает URL-адреса, которые вы будете использовать. Таким образом, вы дадите Tropo URL, созданный yourmodule_menu, а не путь к yourmodule.module.

Например, вот hook_menu из примера модуля для Tropo.

<?php
function demo_menu() {
  $items = array();

  // Set up a route for the incoming call
  $items['demo/answer'] = array(
    'page callback' => 'demo_answer',
    'access arguments' => array('access content'),
    'type' => MENU_NORMAL_ITEM,
  );

    return $items;
}

function demo_answer() {
  module_load_include('php', 'tropo', 'lib/tropo/tropo.class');
  $tropo = new Tropo();
  $tropo->say('Hello. And Goodbye.');
  print $tropo;
}

?>

Функция demo_menu определяет demo / answer как URL на вашем сайте. Если бы ваш сайт был на example.com, вы бы указали Tropo свой URL-адрес как http://example.com/demo/answer. Затем, когда кто-нибудь позвонит на ваш телефонный номер Tropo, запустится функция demo_answer(), которая говорит: "Привет. И до свидания". а затем вешает трубку.

Есть простой демонстрационный модуль, который я использовал в своем выступлении об использовании Drupal в качестве среды приложения, которая может помочь - я широко использую Tropo в демо. https://github.com/akalsey/drupal-framework-demo

Модуль телефонного опроса также был бы хорошим примером. Он использует Tropo для добавления голоса и SMS во встроенный модуль опроса Drupal 6. http://drupal.org/project/phonepoll

Вы также можете взглянуть на VoipDrupal. Это позволяет вам создавать скрипты непосредственно в Drupal, которые взаимодействуют с такими сервисами, как Tropo. http://drupal.org/project/voipdrupal

Другие вопросы по тегам