diff --git a/composer.json b/composer.json index bb13232..33aeb8e 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "cmdotcom/text-sdk-php", "description": "PHP SDK to send messages with CM.com", "type": "library", - "version": "3.0.0", + "version": "3.0.1", "keywords": ["sms","cm.com","rcs","whatsapp","viber","line","wechat","imessage","twitter","instagram"], "homepage": "https://www.cm.com/products/text/", "license": "MIT", diff --git a/src/CMText/RichContent/Messages/ContactsMessage.php b/src/CMText/RichContent/Messages/ContactsMessage.php index 05df6b4..83b3bab 100644 --- a/src/CMText/RichContent/Messages/ContactsMessage.php +++ b/src/CMText/RichContent/Messages/ContactsMessage.php @@ -3,6 +3,7 @@ namespace CMText\RichContent\Messages; use CMText\RichContent\Common\Contact; +use CMText\RichContent\Messages\WhatsApp\WhatsAppMessageContextTrait; /** * Class ContactsMessage @@ -10,14 +11,16 @@ */ class ContactsMessage implements IRichMessage { + use WhatsAppMessageContextTrait; + /** - * @var \CMText\RichContent\Common\Contact[] + * @var Contact[] */ - private $contacts = []; + public $contacts = []; /** * ContactsMessage constructor. - * @param \CMText\RichContent\Common\Contact $Contact + * @param Contact $Contact */ public function __construct(Contact $Contact) { @@ -25,7 +28,7 @@ public function __construct(Contact $Contact) } /** - * @param \CMText\RichContent\Common\Contact $Contact + * @param Contact $Contact */ public function addContact(Contact $Contact) { @@ -38,9 +41,7 @@ public function addContact(Contact $Contact) #[\ReturnTypeWillChange] public function jsonSerialize() { - return (object)[ - 'contacts' => array_filter($this->contacts), - ]; + return $this; } } diff --git a/src/CMText/RichContent/Messages/LocationPushMessage.php b/src/CMText/RichContent/Messages/LocationPushMessage.php index ee5ea3c..301707b 100644 --- a/src/CMText/RichContent/Messages/LocationPushMessage.php +++ b/src/CMText/RichContent/Messages/LocationPushMessage.php @@ -3,6 +3,7 @@ namespace CMText\RichContent\Messages; use CMText\RichContent\Common\ViewLocationBase; +use CMText\RichContent\Messages\WhatsApp\WhatsAppMessageContextTrait; /** * Class LocationPushMessage @@ -10,10 +11,12 @@ */ class LocationPushMessage implements IRichMessage { + use WhatsAppMessageContextTrait; + /** * @var \CMText\RichContent\Common\ViewLocationBase Location to send. */ - private $location; + public $location; /** @@ -31,8 +34,6 @@ public function __construct(ViewLocationBase $ViewLocation) #[\ReturnTypeWillChange] public function jsonSerialize() { - return (object)[ - 'location' => $this->location, - ]; + return $this; } } \ No newline at end of file diff --git a/src/CMText/RichContent/Messages/MediaMessage.php b/src/CMText/RichContent/Messages/MediaMessage.php index 84fadec..1c88d9c 100644 --- a/src/CMText/RichContent/Messages/MediaMessage.php +++ b/src/CMText/RichContent/Messages/MediaMessage.php @@ -2,17 +2,20 @@ namespace CMText\RichContent\Messages; +use CMText\RichContent\Messages\WhatsApp\WhatsAppMessageContextTrait; + /** * Class MediaMessage * @package CMText\RichContent\Messages */ class MediaMessage implements IRichMessage { + use WhatsAppMessageContextTrait; /** * @var \CMText\RichContent\Messages\MediaContent */ - private $content; + public $media; /** @@ -27,15 +30,13 @@ public function __construct( string $Mimetype ) { - $this->content = new MediaContent($Name, $Uri, $Mimetype); + $this->media = new MediaContent($Name, $Uri, $Mimetype); } #[\ReturnTypeWillChange] public function jsonSerialize() { - return (object)[ - 'media' => $this->content, - ]; + return $this; } } \ No newline at end of file diff --git a/src/CMText/RichContent/Messages/TemplateMessage.php b/src/CMText/RichContent/Messages/TemplateMessage.php index fe04cf8..5024b2f 100644 --- a/src/CMText/RichContent/Messages/TemplateMessage.php +++ b/src/CMText/RichContent/Messages/TemplateMessage.php @@ -2,11 +2,13 @@ namespace CMText\RichContent\Messages; +use CMText\RichContent\Messages\WhatsApp\WhatsAppMessageContextTrait; use CMText\RichContent\Templates\TemplateContentBase; class TemplateMessage implements IRichMessage { + use WhatsAppMessageContextTrait; public $template; diff --git a/src/CMText/RichContent/Messages/TextMessage.php b/src/CMText/RichContent/Messages/TextMessage.php index a73c9cc..6e9485b 100644 --- a/src/CMText/RichContent/Messages/TextMessage.php +++ b/src/CMText/RichContent/Messages/TextMessage.php @@ -2,23 +2,26 @@ namespace CMText\RichContent\Messages; +use CMText\RichContent\Messages\WhatsApp\WhatsAppMessageContextTrait; + /** * Class TextMessage * @package CMText\RichContent\Messages */ class TextMessage implements IRichMessage { + use WhatsAppMessageContextTrait; /** * @var string Body text of the message */ - protected $text; + public $text; /** * @var string Instagram message tag (optional) */ - protected $tag; + public $tag; /** @@ -26,7 +29,7 @@ class TextMessage implements IRichMessage * @param string $Text * @param string $Tag */ - public function __construct(string $Text, string $Tag = '') + public function __construct(string $Text, string $Tag = null) { $this->text = $Text; $this->tag = $Tag; @@ -36,9 +39,6 @@ public function __construct(string $Text, string $Tag = '') #[\ReturnTypeWillChange] public function jsonSerialize() { - return (object)array_filter([ - 'text' => $this->text, - 'tag' => $this->tag - ]); + return $this; } } \ No newline at end of file diff --git a/src/CMText/RichContent/Messages/WhatsApp/WhatsAppInteractiveMessage.php b/src/CMText/RichContent/Messages/WhatsApp/WhatsAppInteractiveMessage.php index 8cd0f2f..ed93619 100644 --- a/src/CMText/RichContent/Messages/WhatsApp/WhatsAppInteractiveMessage.php +++ b/src/CMText/RichContent/Messages/WhatsApp/WhatsAppInteractiveMessage.php @@ -6,6 +6,8 @@ class WhatsAppInteractiveMessage implements IRichMessage { + use WhatsAppMessageContextTrait; + /** * @var WhatsAppInteractiveContent */ diff --git a/src/CMText/RichContent/Messages/WhatsApp/WhatsAppMessageContext.php b/src/CMText/RichContent/Messages/WhatsApp/WhatsAppMessageContext.php new file mode 100644 index 0000000..104e8dc --- /dev/null +++ b/src/CMText/RichContent/Messages/WhatsApp/WhatsAppMessageContext.php @@ -0,0 +1,11 @@ + + * Docs: https://developers.cm.com/messaging/docs/whatsapp-inbound#mt-replies-mo + */ +trait WhatsAppMessageContextTrait +{ + /** + * @var $context WhatsAppMessageContext + */ + public $context; +} \ No newline at end of file diff --git a/src/CMText/TextClient.php b/src/CMText/TextClient.php index 254803f..b98bd8f 100644 --- a/src/CMText/TextClient.php +++ b/src/CMText/TextClient.php @@ -32,7 +32,7 @@ class TextClient implements ITextClient /** * SDK Version constant */ - const VERSION = '3.0.0'; + const VERSION = '3.0.1'; /**