Facebook messenger структурированные сообщения php, не отображающие php

Некоторые из вас могут помочь мне в этом, поскольку несколько дней назад я пытаюсь получить список, похожий на карусель, отображаемый в моем боте FaceBook, используя следующий код:

public function returnCarousel(){

    $messagearray = array (
          'message' => 
      array (
        'attachment' => 
        array (
          'type' => 'list',
          'payload' => 
          array (
            'template_type' => 'list',
            'top_element_style' => 'compact',
            'elements' => 
            array (
              0 => 
              array (
                'title' => 'Classic T-Shirt Collection',
                'subtitle' => 'See all our colors',
                'image_url' => 'https://peterssendreceiveapp.ngrok.io/img/collection.png',
                'buttons' => 
                array (
                  0 => 
                  array (
                    'title' => 'View',
                    'type' => 'web_url',
                    'url' => 'https://peterssendreceiveapp.ngrok.io/collection',
                    'messenger_extensions' => true,
                    'webview_height_ratio' => 'tall',
                    'fallback_url' => 'https://peterssendreceiveapp.ngrok.io/',
                  ),
                ),
              ),
              1 => 
              array (
                'title' => 'Classic White T-Shirt',
                'subtitle' => 'See all our colors',
                'default_action' => 
                array (
                  'type' => 'web_url',
                  'url' => 'https://peterssendreceiveapp.ngrok.io/view?item=100',
                  'messenger_extensions' => false,
                  'webview_height_ratio' => 'tall',
                ),
              ),
              2 => 
              array (
                'title' => 'Classic Blue T-Shirt',
                'image_url' => 'https://peterssendreceiveapp.ngrok.io/img/blue-t-shirt.png',
                'subtitle' => '100% Cotton, 200% Comfortable',
                'default_action' => 
                array (
                  'type' => 'web_url',
                  'url' => 'https://peterssendreceiveapp.ngrok.io/view?item=101',
                  'messenger_extensions' => true,
                  'webview_height_ratio' => 'tall',
                  'fallback_url' => 'https://peterssendreceiveapp.ngrok.io/',
                ),
                'buttons' => 
                array (
                  0 => 
                  array (
                    'title' => 'Shop Now',
                    'type' => 'web_url',
                    'url' => 'https://peterssendreceiveapp.ngrok.io/shop?item=101',
                    'messenger_extensions' => true,
                    'webview_height_ratio' => 'tall',
                    'fallback_url' => 'https://peterssendreceiveapp.ngrok.io/',
                  ),
                ),
              ),
            ),
            'buttons' => 
            array (
              0 => 
              array (
                'title' => 'View More',
                'type' => 'postback',
                'payload' => 'payload',
              ),
            ),
          ),
        ),
      ),
    );

$this->sendMessage($messagearray);        
}

public function sendMessage($parameters) {
    echo json_encode($parameters);
}

Карусель не отображается, и ошибки не возвращаются, если я получаю в консоли ngrok следующее:

{"message": {"attachment": {"type": "list", "payload": {"template_type": "list", "top_element_style": "compact", "elements": [{"title": "Коллекция классических футболок", "subtitle": "Посмотреть все наши цвета", "image_url": "https://peterssendreceiveapp.ngrok.io/img/collection.png", "buttons": [{"title" : "View", "type": "web_url", "url": "https://peterssendreceiveapp.ngrok.io/collection", "messenger_extensions": true, "webview_height_ratio": "tall", "fallback_url": " https://peterssendreceiveapp.ngrok.io/"} provided},{"title":"Classic White T-Shirt "," subtitle ":" Посмотреть все наши цвета "," default_action ": {" type ":" web_url "," url ":" https://peterssendreceiveapp.ngrok.io/view?item=100 "," messenger_extensions ": false," webview_height_ratio ":" tall "}}, {" title ":" Классический синий T- Рубашка "," image_url ":" https://peterssendreceiveapp.ngrok.io/img/blue-t-shirt.png "," subtitle ":" 100% хлопок, 200% удобство "," default_action ": {" type ":" web_url "," url ":" https://peterssendreceiveapp.ngrok.io/view?item=101 "," messenger_extensions ": true," webview_height_ratio ":" tall "," fa llback_url ":" https://peterssendreceiveapp.ngrok.io/ "}," buttons ": [{" title ":" Купить сейчас "," type ":" web_url "," url ":" https: // peterssendreceiveapp .ngrok.io / shop? item = 101 "," messenger_extensions ": true," webview_height_ratio ":" tall "," fallback_url ":" https://peterssendreceiveapp.ngrok.io/ "}]}]," buttons " : [{"title": "Еще", "type": "postback", "payload": "payload"}]}}}}

Если я отправлю одну карту, она сработает, прошу вашей помощи


person Yelmox    schedule 11.08.2018    source источник


Ответы (1)


РЕШЕНИЕ: Я отформатировал массив вот так, и он заработал.

     $messagearray = array (
    'speech' => 'Carousel',
    'messages' => array (
    0 => array (
          'type' => 1,
          'platform' => 'facebook',
          'title' => 'Rosa Amarilla',
          'imageUrl' => 'http://rosa.com/assets/imgs/rosaamarilla.jpg',
          'buttons' => 
            array (
                0 =>array ('text' => 'Detalles de la Rosa', 'postback' => '',),
              ),
         ),
    1 =>array (
        'type' => 1,
        'platform' => 'facebook', 
        'title' => 'Rosa Azul',
        'imageUrl' => 'http://rosa.com/assets/imgs/rosaazul.jpg',
        'buttons' => 
      array (
          0 => array ('text' => 'Detalles de la Rosa', 'postback' => '',),
      ),
    ),
  ),);
person Yelmox    schedule 13.08.2018