1

Hopping some of you can help me with this, since a few days back I'm trying to get a list like a carousel, displayed in my FaceBook bot using the following code:

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);
}

No carousel is displayed and no error is returnes intead I get in my ngrok console this:

{"message":{"attachment":{"type":"list","payload":{"template_type":"list","top_element_style":"compact","elements":[{"title":"Classic T-Shirt Collection","subtitle":"See all our colors","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/"}]},{"title":"Classic White T-Shirt","subtitle":"See all our colors","default_action":{"type":"web_url","url":"https://peterssendreceiveapp.ngrok.io/view?item=100","messenger_extensions":false,"webview_height_ratio":"tall"}},{"title":"Classic Blue T-Shirt","image_url":"https://peterssendreceiveapp.ngrok.io/img/blue-t-shirt.png","subtitle":"100% Cotton, 200% Comfortable","default_action":{"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":[{"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":[{"title":"View More","type":"postback","payload":"payload"}]}}}}

if I send a single card it works, please your help

Timisorean
  • 1,388
  • 7
  • 20
  • 30
Yelmox
  • 31
  • 1
  • 7

1 Answers1

0

SOLVED: I formatted the array like this and I get it working.

     $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' => '',),
      ),
    ),
  ),);
Yelmox
  • 31
  • 1
  • 7