diff --git a/.env-example b/.env-example index eab35ff..8360d92 100644 --- a/.env-example +++ b/.env-example @@ -1,5 +1,6 @@ VONAGE_API_KEY= VONAGE_API_SECRET= +VONAGE_SIGNATURE_SECRET= VONAGE_APPLICATION_ID=12a3b4cd-a1b2-1ab2-a1b2-a1234bc5d678 VONAGE_APPLICATION_PRIVATE_KEY_PATH= FROM= diff --git a/composer.json b/composer.json index 1fd6c9d..41e6b88 100644 --- a/composer.json +++ b/composer.json @@ -2,6 +2,10 @@ "require": { "vonage/client": "^2.3", "vlucas/phpdotenv": "^2.5", - "lcobucci/jwt": "^3.0" + "lcobucci/jwt": "^4.0" + } + , + "require-dev": { + "roave/security-advisories": "dev-latest" } } diff --git a/messages/messenger/send-audio.php b/messages/messenger/send-audio.php new file mode 100644 index 0000000..d259be6 --- /dev/null +++ b/messages/messenger/send-audio.php @@ -0,0 +1,21 @@ +sms()->send($message); + +// Incoming Request +$signature = new Vonage\Client\Signature(VONAGE_API_KEY, VONAGE_SIGNATURE_SECRET, 'sha256'); +$isValid = $signature->check($_GET['sig']); \ No newline at end of file diff --git a/messages/sms/send-sms.php b/messages/sms/send-sms.php new file mode 100644 index 0000000..958aabd --- /dev/null +++ b/messages/sms/send-sms.php @@ -0,0 +1,16 @@ + "template", + "template" => [ + "namespace" => WHATSAPP_TEMPLATE_NAMESPACE, + "name" => WHATSAPP_TEMPLATE_NAME, + "language" => ["code" => "en", "policy" => "deterministic"], + "components" => [ + [ + "type" => "header", + "parameters" => [ + [ + "type" => "image", + "image" => ["link" => HEADER_IMAGE_URL], + ], + ], + ], + [ + "type" => "body", + "parameters" => [ + ["type" => "text", "text" => "Anand"], + ["type" => "text", "text" => "Quest"], + ["type" => "text", "text" => "113-0921387"], + ["type" => "text", "text" => "23rd Nov 2019"], + ], + ], + [ + "type" => "button", + "index" => "0", + "sub_type" => "url", + "parameters" => [ + ["type" => "text", "text" => "1Z999AA10123456784"], + ], + ], + ], + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-button-quick-reply.php b/messages/whatsapp/send-button-quick-reply.php new file mode 100644 index 0000000..c82b9c5 --- /dev/null +++ b/messages/whatsapp/send-button-quick-reply.php @@ -0,0 +1,58 @@ + "template", + "template" => [ + "namespace" => WHATSAPP_TEMPLATE_NAMESPACE, + "name" => WHATSAPP_TEMPLATE_NAME, + "language" => ["code" => "en", "policy" => "deterministic"], + "components" => [ + [ + "type" => "header", + "parameters" => [["type" => "text", "text" => "12/26"]], + ], + [ + "type" => "body", + "parameters" => [ + ["type" => "text", "text" => "*Ski Trip*"], + ["type" => "text", "text" => "2019-12-26"], + [ + "type" => "text", + "text" => "*Squaw Valley Ski Resort, Tahoe*", + ], + ], + ], + [ + "type" => "button", + "sub_type" => "quick_reply", + "index" => 0, + "parameters" => [ + ["type" => "payload", "payload" => "Yes-Button-Payload"], + ], + ], + [ + "type" => "button", + "sub_type" => "quick_reply", + "index" => 1, + "parameters" => [ + ["type" => "payload", "payload" => "No-Button-Payload"], + ], + ], + ], + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-contact.php b/messages/whatsapp/send-contact.php new file mode 100644 index 0000000..c6de6af --- /dev/null +++ b/messages/whatsapp/send-contact.php @@ -0,0 +1,68 @@ + "contacts", + "contacts" => [ + [ + "addresses" => [ + [ + "city" => "Menlo Park", + "country" => "United States", + "country_code" => "us", + "state" => "CA", + "street" => "1 Hacker Way", + "type" => "HOME", + "zip" => "94025", + ], + [ + "city" => "Menlo Park", + "country" => "United States", + "country_code" => "us", + "state" => "CA", + "street" => "200 Jefferson Dr", + "type" => "WORK", + "zip" => "94025", + ], + ], + "birthday" => "2012-08-18", + "emails" => [ + ["email" => "test@fb.com", "type" => "WORK"], + ["email" => "test@whatsapp.com", "type" => "WORK"], + ], + "name" => [ + "first_name" => "John", + "formatted_name" => "John Smith", + "last_name" => "Smith", + ], + "org" => [ + "company" => "WhatsApp", + "department" => "Design", + "title" => "Manager", + ], + "phones" => [ + ["phone" => "+1 (940) 555-1234", "type" => "HOME"], + [ + "phone" => "+1 (650) 555-1234", + "type" => "WORK", + "wa_id" => "16505551234", + ], + ], + "urls" => [["url" => "https://www.facebook.com", "type" => "WORK"]], + ], + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-file.php b/messages/whatsapp/send-file.php new file mode 100644 index 0000000..e4f1490 --- /dev/null +++ b/messages/whatsapp/send-file.php @@ -0,0 +1,21 @@ + "location", + "location" => [ + "longitude" => -122.425332, + "latitude" => 37.758056, + "name" => "Facebook HQ", + "address" => "1 Hacker Way, Menlo Park, CA 94025", + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-media-mtm.php b/messages/whatsapp/send-media-mtm.php new file mode 100644 index 0000000..669cdef --- /dev/null +++ b/messages/whatsapp/send-media-mtm.php @@ -0,0 +1,49 @@ + "template", + "template" => [ + "namespace" => WHATSAPP_TEMPLATE_NAMESPACE, + "name" => WHATSAPP_TEMPLATE_NAME, + "language" => ["policy" => "deterministic", "code" => "en"], + "components" => [ + [ + "type" => "header", + "parameters" => [ + [ + "type" => "location", + "location" => [ + "longitude" => -122.425332, + "latitude" => 37.758056, + "name" => "Facebook HQ", + "address" => "1 Hacker Way, Menlo Park, CA 94025", + ], + ], + ], + ], + [ + "type" => "body", + "parameters" => [ + "Value 1", + "Value 2", + "Value 3", + ], + ], + ], + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-mtm.php b/messages/whatsapp/send-mtm.php new file mode 100644 index 0000000..2c364c6 --- /dev/null +++ b/messages/whatsapp/send-mtm.php @@ -0,0 +1,25 @@ + WHATSAPP_TEMPLATE_NAMESPACE . ":" . WHATSAPP_TEMPLATE_NAME, + "parameters" => [ + "Vonage Verification", + "64873", + "10", + ], +]; + +$whatsApp = new \Vonage\Messages\MessageType\WhatsApp\WhatsAppCustom( + TO_NUMBER, + FROM_NUMBER, + $custom +); diff --git a/messages/whatsapp/send-text.php b/messages/whatsapp/send-text.php new file mode 100644 index 0000000..8861a77 --- /dev/null +++ b/messages/whatsapp/send-text.php @@ -0,0 +1,16 @@ +sms()->send( - new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'こんにちは世界') -); - -var_dump($response->current()); + new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'こんにちは世界', 'unicode') +); \ No newline at end of file diff --git a/sms/verify-signed-sms.php b/sms/verify-signed-sms.php index 81ceca7..38ee1fc 100644 --- a/sms/verify-signed-sms.php +++ b/sms/verify-signed-sms.php @@ -4,9 +4,9 @@ $inbound = \Vonage\Message\InboundMessage::createFromGlobals(); -if($inbound->isValid()){ +if ($inbound->isValid()) { $params = $inbound->getRequestData(); - $signature = new Nexmo\Client\Signature( + $signature = new Vonage\Client\Signature( $params, VONAGE_API_SIGNATURE_SECRET, 'md5hash' diff --git a/verify/request.php b/verify/request.php index 32db0e8..e710b8a 100644 --- a/verify/request.php +++ b/verify/request.php @@ -7,6 +7,13 @@ $client = new \Vonage\Client(new \Vonage\Client\Credentials\Container($basic)); $request = new \Vonage\Verify\Request(NUMBER, BRAND_NAME); + +// choose PIN length (4 or 6) +$request->setCodeLength(4); + +// set locale +$request->setCountry('de'); + $response = $client->verify()->start($request); echo "Started verification, `request_id` is " . $response->getRequestId(); \ No newline at end of file diff --git a/verify2/cancel-request.php b/verify2/cancel-request.php new file mode 100644 index 0000000..e8bc37c --- /dev/null +++ b/verify2/cancel-request.php @@ -0,0 +1,12 @@ +verify2()->cancel(REQUEST_ID); \ No newline at end of file diff --git a/verify2/check-verification-code.php b/verify2/check-verification-code.php new file mode 100644 index 0000000..3c534ab --- /dev/null +++ b/verify2/check-verification-code.php @@ -0,0 +1,14 @@ +verify2()->check(CODE); +} catch (\Exception $e) { + var_dump($e->getMessage()); +} diff --git a/verify2/send-request-email.php b/verify2/send-request-email.php new file mode 100644 index 0000000..eb9e92e --- /dev/null +++ b/verify2/send-request-email.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-silent-auth.php b/verify2/send-request-silent-auth.php new file mode 100644 index 0000000..370bace --- /dev/null +++ b/verify2/send-request-silent-auth.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-sms.php b/verify2/send-request-sms.php new file mode 100644 index 0000000..6d3376a --- /dev/null +++ b/verify2/send-request-sms.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-voice.php b/verify2/send-request-voice.php new file mode 100644 index 0000000..b0d76cc --- /dev/null +++ b/verify2/send-request-voice.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-whatsapp-interactive.php b/verify2/send-request-whatsapp-interactive.php new file mode 100644 index 0000000..0645594 --- /dev/null +++ b/verify2/send-request-whatsapp-interactive.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-whatsapp.php b/verify2/send-request-whatsapp.php new file mode 100644 index 0000000..c059566 --- /dev/null +++ b/verify2/send-request-whatsapp.php @@ -0,0 +1,11 @@ +verify2()->startVerification($newRequest); diff --git a/verify2/send-request-with-fallback.php b/verify2/send-request-with-fallback.php new file mode 100644 index 0000000..06ebfe6 --- /dev/null +++ b/verify2/send-request-with-fallback.php @@ -0,0 +1,13 @@ +addWorkflow($emailWorkflow); +$client->verify2()->startVerification($newRequest);