packagecom.zoomconnect;importcom.zoomconnect.common.Util;publicclassCharacterEncodingExamples{publicstaticvoidmain(String[]args){StringgmsMessage="This is a simple GSM message! Its not worth £500";System.out.println(gmsMessage+"\nIs GSM 7 only? "+Util.isContainedInGsm7Charset(gmsMessage));System.out.println();StringunicodeMessage1="This is a simple unicode message! It contains non "+"GSM characters like ∑ and ♥";System.out.println(unicodeMessage1+"\nIs GSM 7 only? "+Util.isContainedInGsm7Charset(unicodeMessage1));System.out.println();StringunicodeMessage2="This is a simple unicode message! It contains what "+"looks like a normal space '\u00A0' character but is non GSM";System.out.println(unicodeMessage2+"\nIs GSM 7 only? "+Util.isContainedInGsm7Charset(unicodeMessage2));}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.Account;importorg.springframework.web.client.RestOperations;import staticcom.zoomconnect.common.Constants.*;/** * Example showing how to retrieve the credit balance for an account */publicclassGetAccountBalance{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);Accountaccount=restOperations.getForObject(ACCOUNT_BALANCE_JSON_URL,Account.class);System.out.println("Your account credit balance is: "+account.getCreditBalance());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendSmsRequest;importcom.zoomconnect.model.SendSmsResponse;importorg.springframework.web.client.RestOperations;importjava.util.Date;import staticcom.zoomconnect.common.Constants.*;/** * Example showing the scheduling of a single message */publicclassScheduleSingleMessage{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);Datenow=newDate();DatetenMinutesTime=newDate(now.getTime()+(10*60*1000));SendSmsRequestscheduleMessageRequest=newSendSmsRequest();scheduleMessageRequest.setMessage("Test message");scheduleMessageRequest.setRecipientNumber("27821234567");scheduleMessageRequest.setDateToSend(tenMinutesTime);SendSmsResponsescheduleSmsResponse=restOperations.postForObject(SEND_JSON_URL,scheduleMessageRequest,SendSmsResponse.class);System.out.println("Schedule single message message id: "+scheduleSmsResponse.getMessageId());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendSmsRequest;importcom.zoomconnect.model.SendSmsRequests;importcom.zoomconnect.model.SendSmsResponse;importcom.zoomconnect.model.SendSmsResponses;importorg.springframework.web.client.RestOperations;importjava.util.ArrayList;importjava.util.List;import staticcom.zoomconnect.common.Constants.*;/** * Example showing sending of multiple messages in a single request */publicclassSendBulkMessage{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);SendSmsRequestmessage1=newSendSmsRequest();message1.setMessage("Test message 1");message1.setRecipientNumber("27821234567");SendSmsRequestmessage2=newSendSmsRequest();message2.setMessage("Test message 2");message2.setRecipientNumber("27821234568");List<SendSmsRequest>sendSmsRequestList=newArrayList<SendSmsRequest>();sendSmsRequestList.add(message1);sendSmsRequestList.add(message2);SendSmsRequestssendSmsRequests=newSendSmsRequests();sendSmsRequests.setSendSmsRequests(sendSmsRequestList);SendSmsResponsessendBulkSmsResponses=restOperations.postForObject(SEND_BULK_URL,sendSmsRequests,SendSmsResponses.class);for(SendSmsResponseresponse:sendBulkSmsResponses.getSendSmsResponses()){System.out.println("Send bulk message message id: "+response.getMessageId());}}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendSmsRequest;importcom.zoomconnect.model.SendSmsResponse;importorg.springframework.web.client.RestOperations;import staticcom.zoomconnect.common.Constants.*;/** * Example showing how to set the campaign field when sending a message */publicclassSendSingleMessageForCampaign{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);SendSmsRequestsendMessageRequest=newSendSmsRequest();sendMessageRequest.setMessage("Test message");sendMessageRequest.setRecipientNumber("27821234567");sendMessageRequest.setCampaign("My campaign");SendSmsResponsesendMessageForCampaignResponse=restOperations.postForObject(SEND_JSON_URL,sendMessageRequest,SendSmsResponse.class);System.out.println("Send message for campaign message id: "+sendMessageForCampaignResponse.getMessageId());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendSmsRequest;importcom.zoomconnect.model.SendSmsResponse;importorg.springframework.web.client.RestOperations;import staticcom.zoomconnect.common.Constants.*;/** * Example showing the sending of a single message using JSON */publicclassSendSingleMessageUsingJson{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);SendSmsRequestsingleMessageRequest=newSendSmsRequest();singleMessageRequest.setMessage("Test message");singleMessageRequest.setRecipientNumber("27821234567");SendSmsResponsesendSmsResponse=restOperations.postForObject(SEND_JSON_URL,singleMessageRequest,SendSmsResponse.class);System.out.println("Send single message using JSON message id: "+sendSmsResponse.getMessageId());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendSmsRequest;importcom.zoomconnect.model.SendSmsResponse;importorg.springframework.web.client.RestOperations;import staticcom.zoomconnect.common.Constants.*;/** * Example showing the sending of a single message using XML */publicclassSendSingleMessageUsingXml{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);SendSmsRequestsingleMessageRequest=newSendSmsRequest();singleMessageRequest.setMessage("Test message");singleMessageRequest.setRecipientNumber("27821234567");SendSmsResponsesendSmsResponse=restOperations.postForObject(SEND_XML_URL,singleMessageRequest,SendSmsResponse.class);System.out.println("Send single message using JSON message id: "+sendSmsResponse.getMessageId());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendVoiceMessageResponse;importorg.springframework.core.io.ClassPathResource;importorg.springframework.http.HttpEntity;importorg.springframework.http.HttpHeaders;importorg.springframework.util.LinkedMultiValueMap;importorg.springframework.util.MultiValueMap;importorg.springframework.web.client.RestOperations;importjava.io.IOException;import staticcom.zoomconnect.common.Constants.*;/** * Example showing the sending of a single voice text message */publicclassSendVoiceMessageAudio{publicstaticvoidmain(String[]args)throwsIOException{RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);ClassPathResourceaudioFile=newClassPathResource("test.mp3");if(!audioFile.exists()){System.out.println("Unable to load file");}MultiValueMap<String,Object>parameters=newLinkedMultiValueMap<String,Object>();parameters.add("recipientNumber","27821234567");parameters.add("file",audioFile);HttpHeadersheaders=newHttpHeaders();headers.set("Content-Type","multipart/form-data");SendVoiceMessageResponseresponse=restOperations.postForObject(SEND_VOICE_AUDIO_URL,newHttpEntity<MultiValueMap<String,Object>>(parameters,headers),SendVoiceMessageResponse.class);System.out.println("Send voice message text message id: "+response.getVoiceMessageId());}}
packagecom.zoomconnect;importcom.zoomconnect.common.RestOperationFactory;importcom.zoomconnect.model.SendVoiceMessageResponse;importcom.zoomconnect.model.SendVoiceMessageTextRequest;importorg.springframework.web.client.RestOperations;import staticcom.zoomconnect.common.Constants.*;/** * Example showing the sending of a single voice text message */publicclassSendVoiceMessageText{publicstaticvoidmain(String[]args){RestOperationFactoryrestOperationFactory=newRestOperationFactory();RestOperationsrestOperations=restOperationFactory.buildRestOperations(EMAIL_ADDRESS,REST_API_TOKEN);SendVoiceMessageTextRequestrequest=newSendVoiceMessageTextRequest();request.setMessage("Hello. This is a test voice message.");request.setLanguage("en");request.setRecipientNumber("27821234567");SendVoiceMessageResponseresponse=restOperations.postForObject(SEND_VOICE_TEXT_URL,request,SendVoiceMessageResponse.class);System.out.println("Send voice message text message id: "+response.getVoiceMessageId());}}
packagecom.zoomconnect.serializers;importcom.fasterxml.jackson.core.JsonParser;importcom.fasterxml.jackson.core.ObjectCodec;importcom.fasterxml.jackson.databind.DeserializationContext;importcom.fasterxml.jackson.databind.JsonDeserializer;importcom.fasterxml.jackson.databind.JsonNode;importcom.zoomconnect.common.Constants;importjava.io.IOException;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassJsonDateDeserializerextendsJsonDeserializer<Date>{privateSimpleDateFormatdateFormat=newSimpleDateFormat(Constants.YYYY_MM_DD_HH_MM_DATE_FORMAT);@OverridepublicDatedeserialize(JsonParserjsonParser,DeserializationContextdeserializationContext)throwsIOException{ObjectCodecoc=jsonParser.getCodec();JsonNodenode=oc.readTree(jsonParser);try{returndateFormat.parse(node.textValue());}catch(ParseExceptione){thrownewRuntimeException("Invalid date format");}}}