{"id":1277,"date":"2022-06-09T07:44:36","date_gmt":"2022-06-09T07:44:36","guid":{"rendered":"https:\/\/wptest.welcorp.com\/?page_id=1277"},"modified":"2025-02-04T01:07:10","modified_gmt":"2025-02-04T01:07:10","slug":"api-documentation","status":"publish","type":"page","link":"https:\/\/welcorp.com\/public\/api-documentation\/","title":{"rendered":"API Documentation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1277\" class=\"elementor elementor-1277\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1a64105 elementor-section-height-min-height elementor-section-boxed elementor-section-height-default elementor-section-items-middle\" data-id=\"1a64105\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7355373\" data-id=\"7355373\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-46e7c85 elementor-widget elementor-widget-heading\" data-id=\"46e7c85\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">API Documentation<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-627dc58 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"627dc58\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-16 elementor-top-column elementor-element elementor-element-91803cb\" data-id=\"91803cb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-5aa6815\" data-id=\"5aa6815\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-94835ab elementor-widget elementor-widget-heading\" data-id=\"94835ab\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">WELCORP Web Service API<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb81226 elementor-widget elementor-widget-text-editor\" data-id=\"fb81226\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Overview<\/h3><p>The WEL Web Service API allows a registered user to submit a variety of messages and retrieve reports using SOAP over HTTP.<\/p><p>The location of the Web Service, service description and WSDL can be found at<br \/>http:\/\/www.welcorp.com\/webservice\/service.asmx<\/p><p>This document is technical in nature and it is assumed that the reader is familiar with SOAP and the implementation of web services.<\/p><p>A note on code samples: These have been provided in .Net c# and Java using callable methods; however, any high-level SOAP toolkit should provide the same functionality. The web service is cross-platform and conforms to the web service standards.<\/p><h3>Service Addresses<\/h3><p>The original WEL API is located at:<br \/>http:\/\/www.welcorp.com\/webservice\/service.asmx<\/p><p>For those who require access to a version using the SOAP DOCUMENT-LITERAL encoding, the address is:<br \/>http:\/\/www.welcorp.com\/webservice\/webserviceDL.asmx<\/p><h3>Web Methods<\/h3><h4><em>Authentication<\/em><\/h4><p>All web methods require an authentication header consisting of username and password (and optionally user code) to be submitted within the SOAP header.<\/p><p>Authentication Header User Credentials:<\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Username<\/td><td>String<\/td><td>Yes<\/td><td>Assigned username<\/td><\/tr><tr><td>Password<\/td><td>String<\/td><td>Yes<\/td><td>Assigned password<\/td><\/tr><tr><td>Usercode<\/td><td>String<\/td><td>No<\/td><td>In the case that the user credentials belong to an administrator, the usercode of the job to be submitted under or retrieved, or of the user to be modified or deleted must be provided.<\/td><\/tr><\/tbody><\/table><h4><em>SubmitJob<\/em><\/h4><p>This method is used to submit a Fax, Email, SMS, Text to Speech or Voice job to the WEL Corp messaging system.<\/p><p><strong>Expects:<\/strong><br \/>Job entity conforming to one of the following types:- FaxJob, EmailJob, SmsJob, TtsJob or VoiceJob<\/p><p><strong>Returns:<\/strong><br \/>Integer representing the job id or an exception on error.<\/p><p><strong>***Important Note<\/strong><br \/>When sending multiple Fax jobs or multiple Text-to-Speech jobs, there is a non-trivial performance and time cost in converting the document\/message, so in the case of multiple identical messages, users are strongly recommended to batch these together into one job, rather than send many individual jobs. This also applies to Voice jobs as uploading multiple large files can also be a performance bottleneck.<\/p><h4><em>Job<\/em><\/h4><p><strong>Job<\/strong> is an abstract class \u2013 submitted jobs must be one of FaxJob, EmailJob, SmsJob, TtsJob or VoiceJob.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Recipients[]<\/td><td>Recipient array<\/td><td>No*<\/td><td>Array of message recipients.<\/td><\/tr><tr><td>AdditionalReportEmails<\/td><td>String<\/td><td>No<\/td><td>List of additional emails to be CC\u2019d on the report email<\/td><\/tr><\/tbody><\/table><p>* One or more ListIds OR one or more Recipient required. Note that you may not use a combination of both ListIds AND Recipient as the object model differs between the two.<\/p><h4><em>FaxJob<\/em><\/h4><p>Extends <strong>Job<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Files[]<\/td><td>File<\/td><td>Yes<\/td><td>One or more file objects<\/td><\/tr><tr><td>Recipients[]<\/td><td>FaxRecipient array<\/td><td>No<\/td><td>Required if no ListIds submitted. FaxRecipient derives from Recipient<\/td><\/tr><tr><td>IsHighRes<\/td><td>Boolean<\/td><td>No<\/td><td>If true, fax is sent in high resolution.<\/td><\/tr><tr><td>CallbackURL<\/td><td>String<\/td><td>No<\/td><td>If present, a HTML post request will be sent to the specified URL when the system receives a Fax report. Note, this overrides the user setting.<\/td><\/tr><tr><td>CutOffHour<\/td><td>String<\/td><td>No<\/td><td>The hour that the job will be stopped. (format: 13:00)<\/td><\/tr><tr><td>DeDupe<\/td><td>Boolean<\/td><td>No<\/td><td>Dedupe the recipient set<\/td><\/tr><\/tbody><\/table><h4><em><strong>EmailJob<\/strong><\/em><\/h4><p>Extends <strong>Job<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Subject<\/td><td>String<\/td><td>Yes<\/td><td>Email subject<\/td><\/tr><tr><td>Text<\/td><td>String<\/td><td>No**<\/td><td>Text version of email (required if no HTML version exists)<\/td><\/tr><tr><td>Html<\/td><td>String<\/td><td>No**<\/td><td>HTML version of email (required if no Text version exists)<\/td><\/tr><tr><td>Files[]<\/td><td>File array<\/td><td>No<\/td><td>One or more file objects to be attached to email<\/td><\/tr><tr><td>Recipients[]<\/td><td>EmailRecipient array<\/td><td>No<\/td><td>Required if no ListIds submitted. EmailRecipient derives from Recipient<\/td><\/tr><tr><td>DeDupe<\/td><td>Boolean<\/td><td>No<\/td><td>Dedupe the recipient set<\/td><\/tr><\/tbody><\/table><p>** Either one or both of Text, Html is required<\/p><h4><em>SmsJob<\/em><\/h4><p>Extends <strong>Job<br \/><\/strong>Also sends as MMS if a file is attached.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Text<\/td><td>String<\/td><td>Yes<\/td><td>SMS text. Restriction of 3060 characters.<\/td><\/tr><tr><td>IsTwoWay<\/td><td>Boolean<\/td><td>Yes<\/td><td>Is this a two way SMS job?<\/td><\/tr><tr><td>SMSResponseEmailAddress<\/td><td>String<\/td><td>No<\/td><td>Email address to send the text of the SMS replies to. If blank, the users main email address will be used.<\/td><\/tr><tr><td>ExpiryHours<\/td><td>Byte<\/td><td>No<\/td><td>If this is a two way SMS job, how many hours before job should expire?<\/td><\/tr><tr><td>BatchReplies<\/td><td>Boolean<\/td><td>Yes<\/td><td>Should replies be batched at expiry? If not, replies will be sent individually to Sender.ReplyTo value as they arrive. For Two Way Jobs only.<\/td><\/tr><tr><td>Recipients[]<\/td><td>SmsRecipient array<\/td><td>No<\/td><td>Required if no ListIds submitted. SmsRecipient derives from Recipient<\/td><\/tr><tr><td>CallbackURL<\/td><td>String<\/td><td>No<\/td><td>If present, a HTML post request will be sent to the specified URL when the system receives a 2 way SMS reply. (Also see below field)<\/td><\/tr><tr><td>CallbackOnSMSStatusUpdate<\/td><td>bool<\/td><td>No<\/td><td>If present, and CallbackURL is set, then callbacks will be made to the specified URL on SMS status updates as well as 2 way SMS replies.<\/td><\/tr><tr><td>UseTwoWayCustomSenderID<\/td><td>bool<\/td><td>No<\/td><td>If present, and the job is a 2 Way SMS, then the SMS sender id will be the ReplyTo field given in your sender object, and not the WEL automated reply handling numbers. This means WEL will not get replies and optouts. (Not for general use)<\/td><\/tr><tr><td>CutOffHour<\/td><td>String<\/td><td>No<\/td><td>The hour that sms\u2019s will not be delivered past. NOTE, some carriers will deliver up to an hour after this time, and some carriers might ignore it completely. (format: 13:00)<\/td><\/tr><tr><td>OptoutCode<\/td><td>String<\/td><td>No<\/td><td>If a reply to a 2 Way SMS contains this string, then the recipient is added to the users optout list.<\/td><\/tr><tr><td>Dedupe<\/td><td>Boolean<\/td><td>No<\/td><td>Dedupe the recipient set<\/td><\/tr><tr><td>MMSFile<\/td><td>File<\/td><td>No<\/td><td>Send job as MMS if included. Supported file types are:<br \/>.gif, .jpg, .jpeg, .mp3, .mp4, .3gpp<\/td><\/tr><tr><td>LinkInSMSPage<\/td><td>String<\/td><td>No<\/td><td>A Page template that will be merged with the recipient fields to create a custom Link In SMS page. See LinkInSMS details below.<\/td><\/tr><tr><td>LinkInSMSecQuestion<\/td><td>String<\/td><td>No<\/td><td>When using LinkInSMS, this question must be answered by the recipient before viewing the linked content<\/td><\/tr><tr><td>LinkInSMSSecAnswer<\/td><td>String<\/td><td>No<\/td><td>When using LinkInSMS, this answer must be entered by the recipient before viewing the linked content<\/td><\/tr><\/tbody><\/table><h3>TtsJob<\/h3><p>Extends <strong>Job<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Text<\/td><td>String<\/td><td>Yes<\/td><td>Text to speech text.<\/td><\/tr><tr><td>IsTwoWay<\/td><td>Boolean<\/td><td>Yes<\/td><td>Is this a two way TTS job?<\/td><\/tr><tr><td>KeypressOnly<\/td><td>Boolean<\/td><td>Yes<\/td><td>If the purpose of your job is to collect keypresses only and not transfer to a third party, set this to true (along with \u201cIsTwoWay\u201d)<\/td><\/tr><tr><td>SuppressHeader<\/td><td>Boolean<\/td><td>Yes<\/td><td>Suppress the introductory header?<\/td><\/tr><tr><td>PreferredDestinationType<\/td><td>Enum<\/td><td>No<\/td><td>UseDefault = 0<\/td><\/tr><tr><td>UseLandline = 1<\/td><td>UseMobile = 2<br \/>TransferKeys[]<br \/>TransferKey array<\/td><td>No<\/td><td>Required for Two Way TTS jobs (not required where KeypressOnly = true)<\/td><\/tr><tr><td>KeyAckMessages []<\/td><td>KeyAckMessage array<\/td><td>No<\/td><td>Optional for Two Way TTS jobs.<\/td><\/tr><tr><td>Recipients[]<\/td><td>TtsRecipient array<\/td><td>No<\/td><td>Required if no ListIds submitted. TtsRecipient derives from Recipient<\/td><\/tr><tr><td>Voice<\/td><td>String<\/td><td>No<\/td><td>Language\/Voice that text will be read in.<\/td><\/tr><tr><td>HeaderText<\/td><td>String<\/td><td>No<\/td><td>Optional Header Text. Default will be used if blank<\/td><\/tr><tr><td>SkipMsgRepeat<\/td><td>Boolean<\/td><td>No<\/td><td>Message will be repeated unless this field is present and set to \u201ctrue\u201d<\/td><\/tr><tr><td>VoiceMailMessage<\/td><td>String<\/td><td>No<\/td><td>The message that will be left if the call is picked up by voicemail.<\/td><\/tr><tr><td>CutOffHour<\/td><td>String<\/td><td>No<\/td><td>The hour that the job will be stopped. (format: 13:00)<\/td><\/tr><tr><td>CallbackURL<\/td><td>String<\/td><td>No<\/td><td>If present, a HTML post request will be sent to the specified URL when the system receives a TTS report. Note, this overrides the user setting.<\/td><\/tr><tr><td>Dedupe<\/td><td>Boolean<\/td><td>No<\/td><td>Dedupe the recipient set<\/td><\/tr><\/tbody><\/table><h3><strong>VoiceJob<\/strong><\/h3><p>Extends <strong>Job<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>A future date and time for the job to be activated<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Causes a scheduled job to repeat every \u201cRepeatInterval\u201d seconds<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>An array of list id\u2019s if using lists already uploaded to the WEL website.<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Complex type consisting of sender information.<\/td><\/tr><tr><td>Recording<\/td><td>File<\/td><td>Yes<\/td><td>File object \u2013 only WAV files are accepted.<\/td><\/tr><tr><td>Recipients[]<\/td><td>VoiceRecipient array<\/td><td>No<\/td><td>Required if no ListIds submitted. VoiceRecipient derives from Recipient<\/td><\/tr><tr><td>PreferredDestinationType<\/td><td>Enum<\/td><td>No<\/td><td>UseDefault = 0<br \/>UseLandline = 1<br \/>UseMobile = 2<\/td><\/tr><tr><td>TransferKeys[]<\/td><td>TransferKey array<\/td><td>No<\/td><td>Required for Two Way Voice jobs (not required where KeypressOnly = true)<\/td><\/tr><tr><td>KeyAckMessages []<\/td><td>KeyAckMessage array<\/td><td>No<\/td><td>Optional for Two Way TTS jobs<\/td><\/tr><tr><td>IsTwoWay<\/td><td>Boolean<\/td><td>Yes<\/td><td>Is this a two way Voice job?<\/td><\/tr><tr><td>KeypressOnly<\/td><td>Boolean<\/td><td>Yes<\/td><td>If the purpose of your job is to collect keypresses only and not transfer to a third party, set to true. Note: you must also set IsTwoWay to true for keypresses to be collected<\/td><\/tr><tr><td>CutOffHour<\/td><td>String<\/td><td>No<\/td><td>The hour that the job will be stopped. (format: 13:00)<\/td><\/tr><tr><td>CallbackURL<\/td><td>String<\/td><td>No<\/td><td>If present, a HTML post request will be sent to the specified URL when the system receives a Fax report. Note, this overrides the user setting.<\/td><\/tr><tr><td>DeDupe<\/td><td>Boolean<\/td><td>No<\/td><td>Dedupe the Recipient Set<\/td><\/tr><\/tbody><\/table><h3>TtsDirectJob<\/h3><p>Extends <strong>Job<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>A user defined name for the job<\/td><\/tr><tr><td>Scheduled<\/td><td>DateTime<\/td><td>No<\/td><td>Inherited but not used<\/td><\/tr><tr><td>RepeatInterval<\/td><td>Integer<\/td><td>No<\/td><td>Inherited but not used<\/td><\/tr><tr><td>ListIds[]<\/td><td>Integer array<\/td><td>No*<\/td><td>Inherited but not used<\/td><\/tr><tr><td>Sender<\/td><td>Sender<\/td><td>No<\/td><td>Inherited but not used<\/td><\/tr><tr><td>Text<\/td><td>String<\/td><td>Yes<\/td><td>Text to speech text.<\/td><\/tr><tr><td>Voice<\/td><td>String<\/td><td>No<\/td><td>Language\/Voice that text will be read in.<\/td><\/tr><\/tbody><\/table><h3>Sender<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>No<\/td><td>Contact name of user submitting job. If not provided, the company name from the stored user profile will be used.<\/td><\/tr><tr><td>Company<\/td><td>String<\/td><td>No<\/td><td><p>Company name. If not provided, the company name from the stored user profile will be used.<\/p><p>Company name will be mentioned in TTS broadcasts as part of the introductory message<\/p><\/td><\/tr><tr><td>ReplyTo<\/td><td>String<\/td><td>No<\/td><td>Reply email (for email job) or number\/name (for SMS job). If not provided, details in stored user profile will be used. The reply email will be displayed in email broadcasts; the reply mobile number will be displayed in one way SMS jobs.<br \/>Note, for SMS jobs, an alphanumeric sender id must be 11 characters or less.<\/td><\/tr><\/tbody><\/table><h3>File<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>String<\/td><td>Yes<\/td><td>File name including extension<\/td><\/tr><tr><td>Priority<\/td><td>Integer<\/td><td>No<\/td><td>Priority order for multiple files<\/td><\/tr><tr><td>Content[]<\/td><td>Byte array<\/td><td>Yes<\/td><td>Byte array of file content<\/td><\/tr><\/tbody><\/table><h3>Recipient<\/h3><p>An abstract class representing a message recipient.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Destination \u2013 e.g. fax number, email address, phone number or mobile number.<\/td><\/tr><\/tbody><\/table><h3>PhoneRecipient<\/h3><p>An abstract class representing a phone recipient. Extends <strong>Recipient<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid phone, fax or mobile number<\/td><\/tr><\/tbody><\/table><p>Valid number construction for Destination:-<br \/>Local number with area code e.g. 02 9123 4567<br \/>International number with \u201c+\u201d e.g. +44 2 1234 5678<br \/>International number with \u201c0011\u201d e.g. 0011 44 2 1234 5678<\/p><h3>FaxRecipient<\/h3><p>Extends <strong>PhoneRecipient<\/strong>.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid phone, fax or mobile number<\/td><\/tr><\/tbody><\/table><h3>EmailRecipient<\/h3><p>Extends <strong>Recipient<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid email address<\/td><\/tr><tr><td>MergeField[]<\/td><td>MergeField array<\/td><td>No<\/td><td>A list of merge key\/value pairs<\/td><\/tr><\/tbody><\/table><p>Valid construction for Destination:- any valid email address<\/p><h3>SmsRecipient<\/h3><p>Extends <strong>PhoneRecipient<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid phone style number<\/td><\/tr><tr><td>MergeField[]<\/td><td>MergeField array<\/td><td>No<\/td><td>A list of merge key\/value pairs. This can include the LinkInSMS page content. See Link In SMS section.<\/td><\/tr><\/tbody><\/table><h3>TtsRecipient<\/h3><p>Extends <strong>PhoneRecipient<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid phone style number<\/td><\/tr><tr><td>MergeField[]<\/td><td>MergeField array<\/td><td>No<\/td><td>A list of merge key\/value pairs<\/td><\/tr><\/tbody><\/table><h3><strong>VoiceRecipient<\/strong><\/h3><p>Extends <strong>PhoneRecipient<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Reference<\/td><td>String<\/td><td>No<\/td><td>User defined reference for this recipient<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>No<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>No<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>Yes<\/td><td>Valid email address<\/td><\/tr><\/tbody><\/table><h3>MergeField<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Key<\/td><td>String<\/td><td>Yes<\/td><td>Key relating to the merge field in message to be replaced.<\/td><\/tr><tr><td>Value<\/td><td>String<\/td><td>Yes<\/td><td>Value to replace key with for specific recipient.<\/td><\/tr><\/tbody><\/table><h3>TransferKey<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Keypress<\/td><td>Byte<\/td><td>Yes<\/td><td>Number that customer can press.<\/td><\/tr><tr><td>TransferNumber<\/td><td>String<\/td><td>Yes<\/td><td>Phone number to be transferred to.<\/td><\/tr><tr><td>MaxSimultaneousCalls<\/td><td>Integer<\/td><td>Yes<\/td><td>Maximum number of simultaneous calls allowed to transfer number.<\/td><\/tr><\/tbody><\/table><h3>KeyAckMessage<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Keypress<\/td><td>Byte<\/td><td>Yes<\/td><td>Number that customer can press.<\/td><\/tr><tr><td>Message<\/td><td>String<\/td><td>Yes<\/td><td>TTS Message to read out when key is pressed.<\/td><\/tr><\/tbody><\/table><h2><em>RetrieveReport<\/em><\/h2><p>Use this method to retrieve information about a specific WEL job by Job ID.<\/p><p><strong>Expects:<\/strong><br \/>Integer <strong>jobId<\/strong> representing the job to be retrieved.<\/p><p><strong>Returns:<\/strong><br \/><strong>StatusReport<\/strong> entity<\/p><h2><em>RetrieveDetailedReport<\/em><\/h2><p>Use this method to retrieve a detailed job report by Job ID.<\/p><p><strong>Expects:<\/strong><br \/>Integer <strong>jobId<\/strong> representing the job to be retrieved.<\/p><p><strong>Returns:<\/strong><br \/><strong>DetailedReport<\/strong> entity<\/p><h2>StatusReport<\/h2><p>Entity representing the status report of a job.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>JobId<\/td><td>Integer<\/td><td>The job id to be retrieved.<\/td><\/tr><tr><td>JobName<\/td><td>String<\/td><td>The user assigned Job name<\/td><\/tr><tr><td>Submitted<\/td><td>Datetime<\/td><td>The datetime that the job was submitted to the network. This is the system time + System Timezone offset.<\/td><\/tr><tr><td>JobType<\/td><td>String<\/td><td>FAX, Email, Voice, SMS, Text-To-Speech<\/td><\/tr><tr><td>JobStatus<\/td><td>String<\/td><td>Scheduled, Pending, Broadcast Submitted, Complete, Closed, Queued<\/td><\/tr><tr><td>TotalRecipients<\/td><td>Integer<\/td><td>Total number of recipients submitted<\/td><\/tr><tr><td>SentRecipients<\/td><td>Integer<\/td><td>Total number successfully sent to<\/td><\/tr><tr><td>FailedRecipients<\/td><td>Integer<\/td><td>Total number of failed recipients<\/td><\/tr><tr><td>TotalCost<\/td><td>Double<\/td><td>Total cost of job (if complete or closed)<\/td><\/tr><tr><td>RelatedJobs<\/td><td>String<\/td><td>For repeat scheduled tasks, returns a comma separated string of job IDs that were started by the supplied JobID.<\/td><\/tr><tr><td>Pages<\/td><td>Integer<\/td><td>The number of Fax pages per recipient sent for fax job, or the number of SMS messages per recipient.<\/td><\/tr><tr><td>ResentAs<\/td><td>String<\/td><td>If a job has been resent to the failed or errored recipients, this will have the ID of the resend job.<\/td><\/tr><tr><td>ResendOriginalID<\/td><td>String<\/td><td>If this job is the resend of a previous job, it will have the id of the original job<\/td><\/tr><\/tbody><\/table><h3>DetailedReport<\/h3><p>Extends <strong>StatusReport<\/strong><\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>JobId<\/td><td>Integer<\/td><td>The job id to be retrieved.<\/td><\/tr><tr><td>Submitted<\/td><td>Dateime<\/td><td>The datetime that the job was submitted to the network. This is the system time + System Timezone offset.<\/td><\/tr><tr><td>JobType<\/td><td>String<\/td><td>FAX, Email, Voice, SMS, Text-To-Speech<\/td><\/tr><tr><td>JobStatus<\/td><td>String<\/td><td>Scheduled, Pending, Broadcast Submitted, Complete, Closed, Queued<\/td><\/tr><tr><td>TotalRecipients<\/td><td>Integer<\/td><td>Total number of recipients submitted<\/td><\/tr><tr><td>SentRecipients<\/td><td>Integer<\/td><td>Total number successfully sent to<\/td><\/tr><tr><td>FailedRecipients<\/td><td>Integer<\/td><td>Total number of failed recipients<\/td><\/tr><tr><td>TotalCost<\/td><td>Double<\/td><td>Total cost of job (if complete or closed)<\/td><\/tr><tr><td>RelatedJobs<\/td><td>String<\/td><td>For repeat scheduled tasks, returns a comma separated string of job IDs that were started by the supplied JobID.<\/td><\/tr><tr><td>Pages<\/td><td>Integer<\/td><td>The number of Fax pages per recipient sent for fax job, or the number of SMS messages per recipient.<\/td><\/tr><tr><td>ReportRecipient[]<\/td><td>ReportRecipient array<\/td><td>Array of completed recipients for the job<\/td><\/tr><\/tbody><\/table><h3>ReportRecipient<\/h3><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Recipient<\/td><td>String<\/td><td>Recipient name<\/td><\/tr><tr><td>Reference<\/td><td>String<\/td><td>Recipient reference<\/td><\/tr><tr><td>Destination<\/td><td>String<\/td><td>For user lists only:- fax, phone or email<\/td><\/tr><tr><td>Status<\/td><td>String<\/td><td>SENT, ERR etc.<\/td><\/tr><tr><td>Duration<\/td><td>Integer<\/td><td>Fax\/TTS\/voice jobs only \u2013 duration of message<\/td><\/tr><tr><td>Cost<\/td><td>Double<\/td><td>Cost of message<\/td><\/tr><tr><td>Keypress<\/td><td>Integer<\/td><td>2 Way TTS jobs only \u2013 keypress user selected<\/td><\/tr><tr><td>Reply<\/td><td>String<\/td><td>2 Way SMS jobs only \u2013 user reply<\/td><\/tr><tr><td>Voicemail<\/td><td>Boolean<\/td><td>True if the voice message went to Voice Mail<\/td><\/tr><\/tbody><\/table><h2><em>AddUser(User)<\/em><\/h2><p>Please note: this method is available for administrator and agent privileges only.<\/p><p>Use this method to add users to the broadcast system.<\/p><p><strong>Expects:<\/strong><br \/><strong>User<\/strong> object.<\/p><p><strong>Returns:<\/strong><br \/>Boolean indicating success or fail.<\/p><h2><em>ModifyUser(User)<\/em><\/h2><p>Please note: this method is available for administrator and agent privileges only.<\/p><p>Use this method to modify users to the broadcast system.<\/p><p><strong>Expects:<\/strong><br \/>User object. You must also provide the usercode of the user to be modified in the authentication header.<\/p><p>Note, only the fields that are not blank or null will be changed.<\/p><p><strong>Returns:<\/strong><br \/>Boolean indicating success or fail.<\/p><p>Note: To update a users password, pass in a user object with all fields blanks except for the new password. Similarly, the other fields can be updated individually.<\/p><h2><em>DeleteUser(User)<\/em><\/h2><p>Please note: this method is available for administrator and agent privileges only.<\/p><p>Use this method to suspend users from the broadcast system.<\/p><p><strong>Expects:<\/strong><br \/>The usercode of the user to be suspended in the authentication header.<\/p><p><strong>Returns:<\/strong><br \/>Boolean indicating success or fail.<\/p><p>Note: This does not remove the user from the system, but simply sets them to disabled. Alternatively, you can use ModifyUser with <strong>user.IsLive = false;<\/strong><br \/>To reactivate a suspended user, user ModifyUser with <strong>user.IsLive = true;<\/strong><\/p><h3>User<\/h3><p>Entity representing a user object.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>UserCode<\/td><td>String<\/td><td>Yes*<\/td><td>User code of the user. This will become the authentication username.<\/td><\/tr><tr><td>Password<\/td><td>String<\/td><td>Yes*<\/td><td>User password<\/td><\/tr><tr><td>Title<\/td><td>String<\/td><td>No<\/td><td>Recipient title (e.g. Mr, Ms etc)<\/td><\/tr><tr><td>FirstName<\/td><td>String<\/td><td>Yes*<\/td><td>First name of recipient<\/td><\/tr><tr><td>LastName<\/td><td>String<\/td><td>Yes*<\/td><td>Last name of recipient<\/td><\/tr><tr><td>Email<\/td><td>String<\/td><td>Yes*<\/td><td>Email address<\/td><\/tr><tr><td>Phone<\/td><td>String<\/td><td>No<\/td><td>Phone number<\/td><\/tr><tr><td>Fax<\/td><td>String<\/td><td>No<\/td><td>Fax number<\/td><\/tr><tr><td>Mobile<\/td><td>String<\/td><td>No<\/td><td>Mobile\/Cell number<\/td><\/tr><tr><td>Company<\/td><td>Company<\/td><td>Yes*<\/td><td>Company object (See below)<\/td><\/tr><tr><td>MonthlyLimit<\/td><td>Double<\/td><td>No<\/td><td>What is this user\u2019s monthly spend limit? If not provided this value is set to the system default of 5,000<\/td><\/tr><tr><td>IsFax<\/td><td>Boolean<\/td><td>Yes*<\/td><td>Activate fax for this user<\/td><\/tr><tr><td>IsSms<\/td><td>Boolean<\/td><td>Yes*<\/td><td>Activate SMS for this user<\/td><\/tr><tr><td>IsTts<\/td><td>Boolean<\/td><td>Yes*<\/td><td>Activate TTS for this user<\/td><\/tr><tr><td>IsEmail<\/td><td>Boolean<\/td><td>Yes*<\/td><td>Activate Email for this user<\/td><\/tr><tr><td>IsTtsTwoWay<\/td><td>Boolean<\/td><td>Yes*<\/td><td>Activate 2 way TTS for this user<\/td><\/tr><tr><td>ReportType **<\/td><td>Enum<\/td><td>No<\/td><td>Detailed = 0 (default),<br \/>Exception = 1,<br \/>Summary = 2<\/td><\/tr><tr><td>ListCosts[]<\/td><td>ListCosts array<\/td><td>No<\/td><td>Array of costs for this user. If not provided, values are set to the reseller default.<\/td><\/tr><tr><td>CallBackURL<\/td><td>String<\/td><td>No<\/td><td>A path for a status update callback. Leave blank for no callback<\/td><\/tr><tr><td>FaxHeaderText<\/td><td>String<\/td><td>No<\/td><td>An optional value for the text to go in the Fax header in place of the company name.<\/td><\/tr><tr><td>IsLive<\/td><td>Boolean<\/td><td>No<\/td><td>On User-Add, a null value will be taken as TRUE.<\/td><\/tr><tr><td>IsAntiSpam<\/td><td>Boolean<\/td><td>No<\/td><td>Set to true if the user has agreed to the Anti Spam policy on your system.<\/td><\/tr><tr><td>EmailToBroadcastEmailAddress<\/td><td>String<\/td><td>No<\/td><td>Alternate email to broadcast email address or domain:<br \/>Email to Broadcast emails from this address or domain will use this account.<br \/>This can be an email address or a domain address.<\/td><\/tr><tr><td>BroadcastLimitWarnAddress<\/td><td>String<\/td><td>No<\/td><td>Alternate email to sent credit\/spend limit warnings to<\/td><\/tr><tr><td>EmailToBroadcastAuthType<\/td><td>String<\/td><td>No<\/td><td>Email to broadcast authentication type:<br \/>Choose between one of:<br \/>&#8211; ChResp<br \/>&#8211; Password<br \/>&#8211; None<\/td><\/tr><tr><td>EmailToBroadcastSubjectBehaviour<\/td><td>String<\/td><td>No<\/td><td><p>How the incoming Email subject is handled:<\/p><p>Choose between one of:<br \/>&#8211; JobName<br \/>&#8211; MessageConcat<\/p><\/td><\/tr><tr><td>EmailToBroadcastBodyAsFaxCover<\/td><td>String<\/td><td>No<\/td><td>Does the email body of an Email to Fax get used as a cover page:<br \/>Choose between one of:<br \/>&#8211; Yes<br \/>&#8211; No<\/td><\/tr><tr><td>EmailToBroadcastSignatureStart<\/td><td>String<\/td><td>No<\/td><td>Text to mark the beginning of the signature area of an Email to broadcast email.<\/td><\/tr><tr><td>SMSSenderID<\/td><td>String<\/td><td>No<\/td><td>The default sender ID to use when sending SMS\u2019s.<br \/>This must be between 1 and 11 alphanumeric characters only.<\/td><\/tr><tr><td>DefaultTTSVoice<\/td><td>String<\/td><td>No<\/td><td>The default voice to use for TTS messages.<br \/>This must be one of the voice codes from the \u201cTTS Language Support\u201d section of this document<\/td><\/tr><tr><td>TTSRepeatCount<\/td><td>String<\/td><td>No<\/td><td>The default number of times to repeat the body of a TTS message.<br \/>The text should be one of:<br \/>&#8211; \u201cTwo\u201d<br \/>&#8211; \u201cThree\u201d<br \/>&#8211; \u201cFour\u201d<br \/>(excluding the quotes)<\/td><\/tr><tr><td>CreditLimitForAlert<\/td><td>String<\/td><td>No<\/td><td>Decimal amount below which a Low Credit alert is sent to the user.<\/td><\/tr><tr><td>CreditLimitAlertAddress<\/td><td>String<\/td><td>No<\/td><td>Email address to which the low credit alert is sent.<\/td><\/tr><tr><td>DefaultSMSReplyEmail<\/td><td>String<\/td><td>No<\/td><td>Default email address for SMS replies to be sent to.<\/td><\/tr><tr><td>EtoBXcode<\/td><td>String<\/td><td>No<\/td><td>Code embedded in the header of an email to broadcast to identify the account used for sending.<\/td><\/tr><tr><td>HideCostsInReport<\/td><td>String<\/td><td>No<\/td><td>Option to hide the final costs in job reports. \u201cYes\u201d or \u201cNo\u201d(default).<\/td><\/tr><tr><td>SMSFilterOutNonAscii<\/td><td>String<\/td><td>No<\/td><td>Filter out non-ascii characters from outbound SMSs. Value must be \u201cYes\u201d or \u201cNo\u201d(default).<\/td><\/tr><tr><td>TTSCharLimit<\/td><td>String<\/td><td>No<\/td><td>Maximum number of characters that will be sent as a TTS. Extra characters will be discarded.<\/td><\/tr><tr><td>TTSMsgPrefix<\/td><td>String<\/td><td>No<\/td><td>String to be added at the start of all outgoing TTS message. Eg \u201c\\Speed=30\u201d<\/td><\/tr><tr><td>DocRetentionHours<\/td><td>String<\/td><td>No<\/td><td>Number of hours after which documents are deleted from the server. Leave blank to not delete documents (default)<\/td><\/tr><tr><td>InboundFaxEmail<\/td><td>String<\/td><td>No<\/td><td>Email address for inbound faxes (if configured) to be emailed to.<\/td><\/tr><tr><td>ShowRecipientsInOnlineReport<\/td><td>String<\/td><td>No<\/td><td>Show recipient details in the online report. \u201cYes\u201d (default) or \u201cNo\u201d.<\/td><\/tr><tr><td>ShowRecipientsInEmailReport<\/td><td>String<\/td><td>No<\/td><td>Show recipient details in the emailed report. \u201cYes\u201d (default) or \u201cNo\u201d.<\/td><\/tr><tr><td>IncludeCopyOfFaxInReport<\/td><td>String<\/td><td>No<\/td><td>Option to include a copy of the sent fax in the emailed fax report. \u201cYes\u201d or \u201cNo\u201d(default).<\/td><\/tr><tr><td>HideAccounts<\/td><td>String<\/td><td>No<\/td><td>Do not display the web portal accounts page to the user. \u201cYes\u201d or \u201cNo\u201d(default).<\/td><\/tr><tr><td>EmailToBroadcastIPWhiteList<\/td><td>String<\/td><td>No<\/td><td>Comma separated list of IP addresses allowed to send or relay email to broadcast jobs for the user. Leave blank for no restriction.<\/td><\/tr><tr><td>EmailToBroadcastIPWhiteListAlertEmail<\/td><td>String<\/td><td>No<\/td><td>If a non-authorized IP address tries to send an email to broadcast job, an alert will be sent to this address if set.<\/td><\/tr><tr><td>TimeZoneID<\/td><td>String<\/td><td>No<\/td><td>Numeric ID for the users Timezone. See Appendix.<\/td><\/tr><\/tbody><\/table><p>* Required only for the <strong>AddUser<\/strong> method. When updating a user, only fields with values will change the user profile.<\/p><p>** <strong>Report Types<\/strong>:<br \/>Detailed: The user will receive a report listing summary details plus all recipients attempted, success or fail.<br \/>Exception: The user will receive a report listing summary details plus recipients who have failed.<br \/>Summary: The user will receive a report listing only the basic numbers of total attempted, number successful and number failed.<\/p><h3>Company<\/h3><p>Entity representing a company object.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>CompanyName<\/td><td>String<\/td><td>Yes<\/td><td>Company name (if not provided, the users name is utilized)<\/td><\/tr><tr><td>Address<\/td><td>String<\/td><td>No<\/td><td>Address<\/td><\/tr><tr><td>City<\/td><td>String<\/td><td>No<\/td><td>City or suburb<\/td><\/tr><tr><td>State<\/td><td>String<\/td><td>No*<\/td><td>State if applicable<\/td><\/tr><tr><td>Postcode<\/td><td>String<\/td><td>No<\/td><td>Post or zip code<\/td><\/tr><tr><td>Country<\/td><td>String<\/td><td>Yes<\/td><td>Country of user. If not provided will be set to the resellers default.<\/td><\/tr><\/tbody><\/table><h3>ListCosts<\/h3><p>Entity representing a billing object.<\/p><p><strong>Properties:<\/strong><\/p><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>ListType<\/td><td>Enum<\/td><td>Yes<\/td><td>AuMedia = 1, (Australian media)<br \/>AuBusinesss = 2, (Australian business)<br \/>AuGovernment = 4, (Australian government)<br \/>Messaging = 3, (User\u2019s own lists, web service lists)<br \/>USMedia = 7, (USA media)<br \/>AsiaMedia = 8 (Asia Pacific media)<\/td><\/tr><tr><td>Service<\/td><td>Enum<\/td><td>Yes<\/td><td>Fax = 1,<br \/>Email = 2,<br \/>SMS = 3,<br \/>TextToSpeech = 4,<br \/>TextToSpeechMobile = 5,<br \/>TwoWaySMS = 9,<br \/>TwoWayTTS = 10,<br \/>TwoWayTTSMobile = 11<br \/><em><strong>(NOTE, TTS costs also apply to \u201cVoice\u201d calls)<\/strong><\/em><\/td><\/tr><tr><td>Cost<\/td><td>Double<\/td><td>Yes<\/td><td>Cost in dollars. E.g. 0.5 is equivalent to 50 cents<br \/><em><strong>(NOTE, for TTS\/Voice, this amount is for Flagfall AND ongoing costs)<\/strong><\/em><\/td><\/tr><\/tbody><\/table><h2><em>AddPrePay(float, string)<\/em><\/h2><p>Please note: this method is available for administrator privileges only.<\/p><p>Use this method to add a prepayment to a \u201ccredit\u201d users account.<\/p><p><strong>Expects:<\/strong><br \/>Float\/double: The amount to add to the users credit, eg. 99.99.<br \/>String: A payment message for tracking purposes. Eg. \u201cPaid by Visa on 12\/12\/2020, Auth:ABC123\u201d<\/p><p><strong>Returns:<\/strong><br \/>Boolean indicating success or an error.<\/p><h2><em>Cancel Job<\/em><\/h2><p>Use this method to cancel unsent scheduled jobs from the WEL system.<\/p><p><strong>Expects:<\/strong><br \/>An Integer containing the Job number of the broadcast to cancel.<br \/>In the case of a reoccurring scheduled task, the latest Job number, or the original job number will cancel the scheduled Job.<\/p><p><strong>Returns:<\/strong><br \/>Boolean indicating success or fail.<\/p><h2><em>TtsDirectStatus<\/em><\/h2><p>Use this method to retrieve the status or associated URL for a TTSDirect Job.<\/p><p><strong>Expects:<\/strong><br \/>Integer <strong>jobId<\/strong> representing the job to be retrieved.<\/p><p><strong>Returns:<\/strong><br \/><strong>String<\/strong> containing the job status or a URL to the resulting WAV file.<\/p><h2><strong>Using Merge Fields<\/strong><\/h2><p>Merge fields may be used in the following jobs only:-<\/p><ol><li>Email<\/li><li>SMS<\/li><li>Text-To-Speech<\/li><\/ol><p>To indicate a merge field in your message, the field should be enclosed by double percentage characters \u2013 e.g. %%MyField%%<\/p><p>There are reserved merge fields which you may use without specifically creating using the merge key\/value pairs. These are:<\/p><ol><li>%%Title%% &#8211; recipient\u2019s title<\/li><li>%%FirstName%% &#8211; recipient\u2019s first name<\/li><li>%%LastName%% &#8211; recipient\u2019s last name<\/li><li>%%Recipient%% &#8211; will be replaced by recipient\u2019s full name<\/li><li>%%Reference%% &#8211; will be replaced by the recipient\u2019s reference<\/li><li>%%Email%% &#8211; will be replaced by the recipient\u2019s destination for Email type jobs<\/li><li>%%Mobile%% &#8211; will be replaced by the recipient\u2019s destination for SMS type jobs<\/li><li>%%Phone%% &#8211; will be replaced by the recipient\u2019s destination for Text-To-Speech type jobs<\/li><\/ol><p><em>Sample message:<\/em><br \/>Attention: %%Recipient%%<\/p><p>Dear %%FirstName%%,<\/p><p>According to our records you are currently overdue on payment for %%BillName%%. The amount owing is %%BillAmount%%.<\/p><p>Please organize payment before the due date of %%DueDate%%.<\/p><p><em>Sample Construction<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f6d00b elementor-widget elementor-widget-code-highlight\" data-id=\"6f6d00b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-xml \">\n\t\t\t\t<code readonly=\"true\" class=\"language-xml\">\n\t\t\t\t\t<xmp><SmsRecipient>\n\t<FirstName>Andrew<\/FirstName>\n\t<LastName>Citizen<\/LastName>\n\t<Reference>19462<\/Reference>\n\t<Destination>0412 345 678<\/Destination>\n\t<MergeField>\n\t\t<Key>BillName<\/Key>\n\t\t<Value>June Electricity Bill<\/Value>\n\t<\/MergeField>\n\t<MergeField>\n\t\t<Key>BillAmount<\/Key>\n\t\t<Value>$78.32<\/Value>\n\t<\/MergeField>\n\t<MergeField>\n\t\t<Key>DueDate<\/Key>\n\t\t<Value>1 August 2007<\/Value>\n\t<\/MergeField>\n<\/SmsRecipient>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-396dce0 elementor-widget elementor-widget-text-editor\" data-id=\"396dce0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><strong>Code Samples<\/strong><\/h2><h2><em>C# Examples<\/em><\/h2><p><strong>Notes:<\/strong><br \/>The Wel Webservice should be setup as a <strong>\u201cWeb reference\u201d<\/strong> pointing to <span style=\"text-decoration: underline;\">http:\/\/www.welcorp.com\/webservice\/service.asmx<\/span> in your project. Note, in recent versions of Visual studio, this is found under the \u201cAdvanced\u2026\u201d button in the \u201cService Reference\u201d page.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d01521 elementor-widget elementor-widget-code-highlight\" data-id=\"9d01521\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-java \">\n\t\t\t\t<code readonly=\"true\" class=\"language-java\">\n\t\t\t\t\t<xmp>public void TestFax()\n{\nList<FaxRecipient> recipientList = new List<FaxRecipient>();\nFaxRecipient recipient = new FaxRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"02 9123 4567\";\n\nrecipientList.Add(recipient);\n\nList<File> fileList = new List<File>();\n\nFile myFile = new File();\nmyFile.Name = \"test.doc\";\nmyFile.Priority = 1;\nSystem.IO.FileStream file = new System.IO.FileStream(\"files\/test.doc\", System.IO.FileMode.Open, System.IO.FileAccess.Read);\nSystem.IO.BinaryReader br = new System.IO.BinaryReader(file);\nbyte[] buffer = new byte[(int)file.Length];\nbr.Read(buffer, 0, (int)file.Length);\nbr.Close();\n\nmyFile.Content = buffer;\n\nfileList.Add(myFile);\n\nFaxJob faxJob = new FaxJob();\nfaxJob.Name = \"Test Fax\";\nfaxJob.Sender = new Sender();\nfaxJob.Sender.Company = \"My Company\";\nfaxJob.Sender.Name = \"My Name\";\nfaxJob.Sender.ReplyTo = \"02 9876 5432\";\n\nfaxJob.Recipients = recipientList.ToArray();\nfaxJob.Files = fileList.ToArray();\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(faxJob);\n\n}\n\npublic void TestEmail()\n{\nList<EmailRecipient> recipientList = new List<EmailRecipient>();\n\nEmailRecipient recipient = new EmailRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"a.citizen@theworld.com \";\nList<MergeField> fieldList = new List<MergeField>();\nMergeField mergeField = new MergeField();\nmergeField.Key = \"FavouriteAnimal\";\nmergeField.Value = \"Cats\";\nfieldList.Add(mergeField);\n\nrecipient.MergeFields = fieldList.ToArray();\n\nrecipientList.Add(recipient);\n\nList<File> myFiles = new List<File>();\nFile myFile = new File();\nmyFile.Name = \"test.jpg\";\nmyFile.Priority = 1;\nSystem.IO.FileStream file = new System.IO.FileStream(\"files\/test.jpg\", System.IO.FileMode.Open, System.IO.FileAccess.Read);\nSystem.IO.BinaryReader br = new System.IO.BinaryReader(file);\nbyte[] buffer = new byte[(int)file.Length];\nbr.Read(buffer, 0, (int)file.Length);\nbr.Close();\n\nmyFile.Content = buffer;\nmyFiles.Add(myFile);\n\nEmailJob emailJob = new EmailJob();\nemailJob.Name = \"Test Email\";\nemailJob.Sender = new Sender();\nemailJob.Sender.Company = \"My Company\";\nemailJob.Sender.Name = \"Test Person\";\nemailJob.Sender.ReplyTo = \"test@test.com\";\nemailJob.Subject = \"My Test Email\";\nemailJob.Recipients = recipientList.ToArray();\nemailJob.Text = \"Hi %%FirstName%%, your favourite animal is %%FavouriteAnimal%%.\";\nemailJob.Files = myFiles.ToArray();\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(emailJob);\n}\n\npublic void TestSMS()\n{\nList<SmsRecipient> recipientList = new List<SmsRecipient>();\n\nSmsRecipient recipient = new SmsRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"+61 4 9876 5432\";\n\nList<MergeField> fieldList = new List<MergeField>();\nMergeField mergeField = new MergeField();\nmergeField.Key = \"FavouriteAnimal\";\nmergeField.Value = \"Cats\";\nfieldList.Add(mergeField);\n\nrecipient.MergeFields = fieldList.ToArray();\nrecipientList.Add(recipient);\n\nSmsJob smsJob = new SmsJob();\nsmsJob.Name = \"SMS Test\";\nsmsJob.Sender = new Sender();\nsmsJob.Sender.Company = \"My Company\";\nsmsJob.Sender.Name = \"Test Person\";\nsmsJob.Sender.ReplyTo = \"+61 4 1234 5678\";\nsmsJob.IsTwoWay = false;\nsmsJob.Recipients = recipientList.ToArray();\nsmsJob.Text = \"Test SMS message - your favourite animal is %%FavouriteAnimal%%.\";\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(smsJob);\n\n}\n\npublic void TestTwoWaySMS()\n{\nList<SmsRecipient> recipientList = new List<SmsRecipient>();\n\nSmsRecipient recipient = new SmsRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"+61 4 9876 5432\";\n\nList<MergeField> fieldList = new List<MergeField>();\nMergeField mergeField = new MergeField();\nmergeField.Key = \"FavouriteAnimal\";\nmergeField.Value = \"Cats\";\nfieldList.Add(mergeField);\n\nrecipient.MergeFields = fieldList.ToArray();\nrecipientList.Add(recipient);\n\nSmsJob smsJob = new SmsJob();\nsmsJob.Name = \"2 Way SMS Test\";\nsmsJob.Sender = new Sender();\nsmsJob.Sender.Company = \"My Company\";\nsmsJob.Sender.Name = \"Test Person\";\nsmsJob.Sender.ReplyTo = \"smsreplies@mycompany.com\";\nsmsJob.IsTwoWay = true;\nsmsJob.BatchReplies = false;\nsmsJob.ExpiryHours = 24;\nsmsJob.Recipients = recipientList.ToArray();\nsmsJob.Text = \"Test SMS message - your favourite animal is %%FavouriteAnimal%%. Reply to this to get 25% off your next visit to Pet Care.\";\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(smsJob);\n\n}\n\npublic void TestTTS()\n{\nList<TtsRecipient> recipientList = new List<TtsRecipient>();\n\nTtsRecipient recipient = new TtsRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"+61 4 9876 5432\";\n\nList<MergeField> fieldList = new List<MergeField>();\nMergeField mergeField = new MergeField();\nmergeField.Key = \"FavouriteAnimal\";\nmergeField.Value = \"Cats\";\nfieldList.Add(mergeField);\n\nrecipient.MergeFields = fieldList.ToArray();\n\nrecipientList.Add(recipient);\n\nTtsJob ttsJob = new TtsJob();\nttsJob.Name = \"Test TTS\";\nttsJob.Sender = new Sender();\nttsJob.Sender.Company = \"My Company\";\nttsJob.Sender.Name = \"Test Person\";\nttsJob.Sender.ReplyTo = \"+61 4 1234 5678\";\nttsJob.IsTwoWay = false;\n\nttsJob.Recipients = recipientList.ToArray();\nttsJob.Text = \"Test TTS message - your favourite animal is %%FavouriteAnimal%%.\";\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(ttsJob);\n\n}\npublic void TestTTSTwoWay()\n{\nList<TtsRecipient> recipientList = new List<TtsRecipient>();\n\nTtsRecipient recipient = new TtsRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"02 9123 4567\";\n\nList<MergeField> fieldList = new List<MergeField>();\nMergeField mergeField = new MergeField();\nmergeField.Key = \"FavouriteAnimal\";\nmergeField.Value = \"Cats\";\nfieldList.Add(mergeField);\n\nrecipient.MergeFields = fieldList.ToArray();\n\nrecipientList.Add(recipient);\n\nTtsJob ttsJob = new TtsJob();\nttsJob.Name = \"Test Two Way TTS\";\nttsJob.Sender = new Sender();\nttsJob.Sender.Company = \"My Company\";\nttsJob.Sender.Name = \"Joe Blow\";\nttsJob.Sender.ReplyTo = \"02 9123 4567\";\n\nttsJob.IsTwoWay = true;\nList<TransferKey> transKeys = new List<TransferKey>();\nTransferKey transKey = new TransferKey();\ntransKey.Keypress = 1;\ntransKey.MaxSimultaneousCalls = 15;\ntransKey.TransferNumber = \"03 9123 4567\";\ntransKeys.Add(transKey);\n\nttsJob.TransferKeys = transKeys.ToArray();\nttsJob.Recipients = recipientList.ToArray();\nttsJob.Text = \"Test TTS message - your favourite animal is %%FavouriteAnimal%%. To speak to a vet, please press 1 now.\";\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(ttsJob);\n\n}\npublic void TestVoice()\n{\nList<VoiceRecipient> recipientList = new List<VoiceRecipient>();\n\nVoiceRecipient recipient = new VoiceRecipient();\nrecipient.Title = \"Ms\";\nrecipient.FirstName = \"Annette\";\nrecipient.LastName = \"Citizen\";\nrecipient.Reference = \"Of the world\";\nrecipient.Destination = \"02 9123 4567\";\n\nrecipientList.Add(recipient);\n\nFile myFile = new File();\nmyFile.Name = \"test.wav\";\nmyFile.Priority = 1;\nSystem.IO.FileStream file = new System.IO.FileStream(\"files\/test.wav\", System.IO.FileMode.Open, System.IO.FileAccess.Read);\nSystem.IO.BinaryReader br = new System.IO.BinaryReader(file);\nbyte[] buffer = new byte[(int)file.Length];\nbr.Read(buffer, 0, (int)file.Length);\nbr.Close();\n\nmyFile.Content = buffer;\n\nVoiceJob voiceJob = new VoiceJob();\nvoiceJob.Name = \"WAV File Test\";\nvoiceJob.Sender = new Sender();\nvoiceJob.Sender.Company = \"My Company\";\nvoiceJob.Sender.Name = \"My Name\";\n\nvoiceJob.Recipients = recipientList.ToArray();\nvoiceJob.Recording = myFile;\n\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nint jobid = service.SubmitJob(voiceJob);\n\n}\n\npublic void GetReport()\n{\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nStatusReport statusReport = service.RetrieveReport(1234);\n}\n\n\npublic void GetDetailedReport()\n{\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nDetailedReport statusReport = service.RetrieveDetailedReport(1234);\n}\npublic void TestAddUser()\n{\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"testadmin\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nUser user = new User();\nuser.UserCode = \"au\/wsnewuser\";\nuser.Title = \"Ms\";\nuser.FirstName = \"Rita\";\nuser.LastName = \"Mae\";\nuser.Email = \"rita@somewhere.com\";\nuser.Phone = \"03 9123 4567\";\nuser.Mobile = \"0412 345 678\";\nuser.Fax = \"03 9123 4567\";\nuser.Password = \"wsnewuser\";\nuser.ReportType = ReportType.Detailed;\nuser.IsEmail = true;\nuser.IsFax = true;\nuser.IsSms = true;\nuser.IsTts = false;\nuser.IsTtsTwoWay = false;\n\nCompany company = new Company();\ncompany.CompanyName = \"My Company\";\ncompany.Address = \"1 Green St\";\ncompany.City = \"Melbourne\";\ncompany.State = \"VIC\";\ncompany.Postcode = \"3000\";\ncompany.Country = \"Australia\";\n\nuser.Company = company;\n\nList<ListCosts> listCosts = new List<ListCosts>();\n\nListCosts listCost = new ListCosts();\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.Fax;\nlistCost.Cost = 0.25;\nlistCosts.Add(listCost);\n\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.SMS;\nlistCost.Cost = 0.2;\nlistCosts.Add(listCost);\n\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.Email;\nlistCost.Cost = 0.1;\nlistCosts.Add(listCost);\n\nuser.ListCosts = listCosts.ToArray();\n\nbool success = service.AddUser(user);\n}\npublic void TestModifyUser()\n{\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"testadmin\";\nauthHeader.Password = \"test\";\nauthHeader.Usercode = \"au\/wsnewuser\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nUser user = new User();\nuser.Title = \"Ms\";\nuser.FirstName = \"Rita\";\nuser.LastName = \"Mae\";\nuser.Email = \"rita@somewhere.com\";\nuser.Password = \"wsnewuser\";\nuser.ReportType = ReportType.Detailed;\nuser.IsEmail = true;\nuser.IsFax = true;\nuser.IsSms = true;\nuser.IsTts = false;\nuser.IsTtsTwoWay = false;\n\nCompany company = new Company();\ncompany.CompanyName = \"My Company\";\ncompany.Address = \"1 Green St\";\ncompany.City = \"Melbourne\";\ncompany.State = \"VIC\";\ncompany.Postcode = \"3000\";\ncompany.Country = \"Australia\";\n\nuser.Company = company;\n\nList<ListCosts> listCosts = new List<ListCosts>();\n\nListCosts listCost = new ListCosts();\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.Fax;\nlistCost.Cost = 0.25;\nlistCosts.Add(listCost);\n\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.SMS;\nlistCost.Cost = 0.2;\nlistCosts.Add(listCost);\n\nlistCost.ListType = ListType.Messaging;\nlistCost.Service = Service.Email;\nlistCost.Cost = 0.1;\nlistCosts.Add(listCost);\n\nuser.ListCosts = listCosts.ToArray();\n\nbool success = service.ModifyUser(user);\n}\npublic void TestCancelJob ()\n{\nAuthenticationHeader authHeader = new AuthenticationHeader();\nauthHeader.Username = \"test\";\nauthHeader.Password = \"test\";\n\nWelWebService service = new WelWebService();\nservice.AuthenticationHeaderValue = authHeader;\nbool success = service.CancelJob(1234);\n}\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dfdf1e7 elementor-widget elementor-widget-text-editor\" data-id=\"dfdf1e7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><em>Java Axis Examples<\/em><\/h2><p><strong><span style=\"text-decoration: underline;\">Connecting to the Wel Web Service using Java and Axis 1.4<\/span><\/strong><\/p><p><em>This document assumes that java and axis are setup appropriately, and the user has some basic familiarity with them.<\/em><\/p><p><strong>1. Create the Wel Web Service interface classes:<\/strong><\/p><p>To create the WelService class files and the service Stub run:<\/p><pre>java org.apache.axis.wsdl.WSDL2Java (WSDL-file-URL)<\/pre><p>as per the axis documentation, then import the resultant classes into your java project.<\/p><p>2. Update Wel Web Service stubs to provide the required Authentication Header.<\/p><p>In the two stub files:<\/p><pre>Wel_x0020_Web_x0020_ServiceSoapStub<br \/>Wel_x0020_Web_x0020_ServiceSoap12Stub<\/pre><p>Insert the below code lines after the statement:<\/p><pre>setRequestHeaders(_call);<\/pre><p>in the <strong>submitJob<\/strong>, <strong>retrieveReport<\/strong> and <strong>retrieveDetailedReport<\/strong> methods<\/p><pre>org.apache.axis.message.SOAPHeaderElement auth = new SOAPHeaderElement(\"http:\/\/www.welcorp.com\/webservice\/\",\"AuthenticationHeader\");<br \/>auth.addChildElement(\"Username\",\"\").addTextNode(\"test\");<br \/>auth.addChildElement(\"Password\",\"\").addTextNode(\"test\");<br \/>_call.addHeader(auth);<\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4415cf elementor-widget elementor-widget-text-editor\" data-id=\"a4415cf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"text-decoration: underline;\"><strong>3. Main Sample Code<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f58e267 elementor-widget elementor-widget-code-highlight\" data-id=\"f58e267\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-java \">\n\t\t\t\t<code readonly=\"true\" class=\"language-java\">\n\t\t\t\t\t<xmp>\/*\n * Main.java\n *\n * Created on 24 November 2006, 20:51\n *\n *\/\n\npackage weltest;\n\nimport com.welcorp.www.webservice.*;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.Calendar;\nimport java.util.LinkedList;\nimport org.apache.axis.types.UnsignedByte;\n\npublic class Main {\n    \n    public Main() {\n    }\n    \n    public static void main(String[] args) {\n        try {\n            TestFax();\n            \/\/TestEmail();\n            \/\/TestSMS();\n            \/\/TestTwoWaySMS();\n            \/\/testTTS();\n            \/\/TestTTSTwoWay();\n            \/\/TestVoice();\n            \/\/GetReport();\n            \/\/GetDetailsReport();\n        } catch (Exception e){\n            System.err.println(e.toString());\n        }\n    }\n    \n\n\n    static public void TestFax() throws IOException{\n        \/\/ Add Fax Recipients\n        LinkedList recipientList = new LinkedList();\n        FaxRecipient recipient = new FaxRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"02 9123 4567\");\n        recipientList.add(recipient);\n        LinkedList fileList = new LinkedList();\n        \n        \/\/ Add Files to Fax\n        File myFile = new File();\n        myFile.setName(\"test.doc\");\n        myFile.setPriority(1);\n        \n        java.io.File inFile = new java.io.File(\"c:\/test.doc\");\n        InputStream is = new FileInputStream(inFile);\n        long iFlength = inFile.length();\n        byte[] buffer = new byte[(int)iFlength];\n        int offset = 0;\n        int numRead = 0;\n        while (offset < buffer.length && (numRead=is.read(buffer, offset, buffer.length-offset)) >= 0) offset += numRead;\n        is.close();\n        \n        myFile.setContent(buffer);\n        fileList.add(myFile);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setCompany(\"My Company\");\n        sender.setName(\"My Name\");\n        sender.setReplyTo(\"02 9876 5432\");\n        \n        \/\/Setup FaxJob and add sender, recipients and files\n        FaxJob faxJob = new FaxJob();\n        faxJob.setName(\"Test Fax\");\n        faxJob.setSender(sender);\n        faxJob.setRecipients((FaxRecipient[])recipientList.toArray(new FaxRecipient[1]));\n        faxJob.setFiles((File[])fileList.toArray(new File[1]));\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        faxJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(faxJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void TestEmail() throws IOException{\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        EmailRecipient recipient = new EmailRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"a.citizen@theworld.com \");\n        \n        \/\/Create and add merge fields for recipient, then record recipient\n        LinkedList fieldList = new LinkedList();\n        MergeField mergeField = new MergeField();\n        mergeField.setKey(\"FavouriteAnimal\");\n        mergeField.setValue(\"Cats\");\n        fieldList.add(mergeField);\n        recipient.setMergeFields((MergeField[])fieldList.toArray(new MergeField[1]));\n        recipientList.add(recipient);\n        \n        \/\/Add attachment files\n        LinkedList fileList = new LinkedList();\n        File myFile = new File();\n        myFile.setName(\"test.jpg\");\n        myFile.setPriority(1);\n        \n        java.io.File inFile = new java.io.File(\"c:\/test.jpg\");\n        InputStream is = new FileInputStream(inFile);\n        long iFlength = inFile.length();\n        byte[] buffer = new byte[(int)iFlength];\n        int offset = 0;\n        int numRead = 0;\n        while (offset < buffer.length && (numRead=is.read(buffer, offset, buffer.length-offset)) >= 0) offset += numRead;\n        is.close();\n        \n        myFile.setContent(buffer);\n        fileList.add(myFile);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setName(\"Test Person\");\n        sender.setCompany(\"My Company\");\n        sender.setReplyTo(\"test@test.com\");\n        \n        \/\/Setup EmailJob and add sender, recipients and files\n        EmailJob emailJob = new EmailJob();\n        emailJob.setName(\"Test Email\");\n        emailJob.setSender(sender);\n        emailJob.setSubject(\"My Test Email\");\n        emailJob.setRecipients((EmailRecipient[])recipientList.toArray(new EmailRecipient[1]));\n        emailJob.setText(\"Hi %%FirstName%%, your favourite animal is %%FavouriteAnimal%%.\");\n        emailJob.setFiles((File[])fileList.toArray(new File[1]));\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        emailJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(emailJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n        \n    }\n    \n\n    static public void TestSMS(){\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        SmsRecipient recipient = new SmsRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"+61 4 9876 5432\");\n        \n        \/\/Create and add merge fields for recipient, then record recipient\n        LinkedList fieldList = new LinkedList();\n        MergeField mergeField = new MergeField();\n        mergeField.setKey(\"FavouriteAnimal\");\n        mergeField.setValue(\"Cats\");\n        fieldList.add(mergeField);\n        recipient.setMergeFields((MergeField[])fieldList.toArray(new MergeField[1]));\n        recipientList.add(recipient);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setName(\"Test Person\");\n        sender.setCompany(\"My Company\");\n        sender.setReplyTo(\"+61 4 1234 5678\");\n        \n        \/\/Setup SmsJob and add sender, recipients and files\n        SmsJob smsJob = new SmsJob();\n        smsJob.setName(\"SMS Test\");\n        smsJob.setSender(sender);\n        smsJob.setIsTwoWay(false);\n        smsJob.setRecipients((SmsRecipient[])recipientList.toArray(new SmsRecipient[1]));\n        smsJob.setText(\"Test SMS message - your favourite animal is %%FavouriteAnimal%%.\");\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        smsJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(smsJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void TestTwoWaySMS(){\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        SmsRecipient recipient = new SmsRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"+61 4 9876 5432\");\n        \n        \/\/Create and add merge fields for recipient, then record recipient\n        LinkedList fieldList = new LinkedList();\n        MergeField mergeField = new MergeField();\n        mergeField.setKey(\"FavouriteAnimal\");\n        mergeField.setValue(\"Cats\");\n        fieldList.add(mergeField);\n        recipient.setMergeFields((MergeField[])fieldList.toArray(new MergeField[1]));\n        recipientList.add(recipient);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setName(\"Test Person\");\n        sender.setCompany(\"My Company\");\n        sender.setReplyTo(\"smsreplies@mycompany.com\");\n        \n        \/\/Setup SmsJob and add sender, recipients and files\n        SmsJob smsJob = new SmsJob();\n        smsJob.setName(\"SMS Test\");\n        smsJob.setSender(sender);\n        smsJob.setIsTwoWay(true);\n        smsJob.setExpiryHours(new UnsignedByte(24));\n        smsJob.setRecipients((SmsRecipient[])recipientList.toArray(new SmsRecipient[1]));\n        smsJob.setText(\"Test SMS message - your favourite animal is %%FavouriteAnimal%%.\" +\n                \"Reply to this to get 25% off your next visit to Pet Care.\");\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        smsJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(smsJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void testTTS(){\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        TtsRecipient recipient = new TtsRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"+61 4 9876 5432\");\n        \n        \/\/Create and add merge fields for recipient, then record recipient\n        LinkedList fieldList = new LinkedList();\n        MergeField mergeField = new MergeField();\n        mergeField.setKey(\"FavouriteAnimal\");\n        mergeField.setValue(\"Cats\");\n        fieldList.add(mergeField);\n        recipient.setMergeFields((MergeField[])fieldList.toArray(new MergeField[1]));\n        recipientList.add(recipient);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setName(\"Test Person\");\n        sender.setCompany(\"My Company\");\n        sender.setReplyTo(\"+61 4 1234 5678\");\n        \n        \/\/Setup TTSJob and add sender, recipients and files\n        TtsJob ttsJob = new TtsJob();\n        ttsJob.setName(\"TTS Test\");\n        ttsJob.setSender(sender);\n        ttsJob.setIsTwoWay(false);\n        ttsJob.setRecipients((TtsRecipient[])recipientList.toArray(new TtsRecipient[1]));\n        ttsJob.setText(\"Test TTS message - your favourite animal is %%FavouriteAnimal%%.\");\n        ttsJob.setPreferredDestinationType(PreferredDestinationType.UseDefault);\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        ttsJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(ttsJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void TestTTSTwoWay(){\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        TtsRecipient recipient = new TtsRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"02 9123 4567\");\n        \n        \/\/Create and add merge fields for recipient, then record recipient\n        LinkedList fieldList = new LinkedList();\n        MergeField mergeField = new MergeField();\n        mergeField.setKey(\"FavouriteAnimal\");\n        mergeField.setValue(\"Cats\");\n        fieldList.add(mergeField);\n        recipient.setMergeFields((MergeField[])fieldList.toArray(new MergeField[1]));\n        recipientList.add(recipient);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setName(\"Test Person\");\n        sender.setCompany(\"My Company\");\n        sender.setReplyTo(\"02 9876 5432\");\n        \n        \/\/Setup TransferKeys\n        LinkedList transKeys = new LinkedList();\n        TransferKey transKey = new TransferKey();\n        transKey.setKeypress(new UnsignedByte(1));\n        transKey.setMaxSimultaneousCalls(15);\n        transKey.setTransferNumber(\"03 9123 8765\");\n        transKeys.add(transKey);\n        \n        \/\/Setup TTSJob and add sender, recipients and files\n        TtsJob ttsJob = new TtsJob();\n        ttsJob.setName(\"Test Two Wat TTS\");\n        ttsJob.setSender(sender);\n        ttsJob.setIsTwoWay(true);\n        ttsJob.setTransferKeys((TransferKey[])transKeys.toArray(new TransferKey[1]));\n        ttsJob.setRecipients((TtsRecipient[])recipientList.toArray(new TtsRecipient[1]));\n        ttsJob.setText(\"Test TTS message - your favourite animal is %%FavouriteAnimal%%. \" +\n                \"your favourite animal is %%FavouriteAnimal%%. To speak to a vet, please press 1 now.\");\n        ttsJob.setPreferredDestinationType(PreferredDestinationType.UseDefault);\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        ttsJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(ttsJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void TestVoice() throws Exception{\n        \/\/ Add Recipients\n        LinkedList recipientList = new LinkedList();\n        VoiceRecipient recipient = new VoiceRecipient();\n        recipient.setTitle(\"Ms\");\n        recipient.setFirstName(\"Annette\");\n        recipient.setLastName(\"Citizen\");\n        recipient.setReference(\"Of the world\");\n        recipient.setDestination(\"02 9123 4567\");\n        recipientList.add(recipient);\n        \n        \/\/ Add Voice File\n        File myFile = new File();\n        myFile.setName(\"test.wav\");\n        myFile.setPriority(1);\n        \n        \/\/ Add Files to Fax\n        java.io.File inFile = new java.io.File(\"c:\/test.wav\");\n        InputStream is = new FileInputStream(inFile);\n        long iFlength = inFile.length();\n        byte[] buffer = new byte[(int)iFlength];\n        int offset = 0;\n        int numRead = 0;\n        while (offset < buffer.length && (numRead=is.read(buffer, offset, buffer.length-offset)) >= 0) offset += numRead;\n        is.close();\n        \n        myFile.setContent(buffer);\n        \n        \/\/Set Sender Details\n        Sender sender = new Sender();\n        sender.setCompany(\"My Company\");\n        sender.setName(\"My Name\");\n        \n        \/\/Setup VoiceJob and add sender, recipients and files\n        VoiceJob voiceJob = new VoiceJob();\n        voiceJob.setName(\"WAV File Test\");\n        voiceJob.setSender(sender);\n        voiceJob.setRecipients((VoiceRecipient[])recipientList.toArray(new VoiceRecipient[1]));\n        voiceJob.setRecording(myFile);\n        voiceJob.setPreferredDestinationType(PreferredDestinationType.UseDefault);\n        \n        Calendar nextWeek = Calendar.getInstance();\n        nextWeek.add(Calendar.DAY_OF_WEEK, 7);\n        voiceJob.setScheduled(nextWeek);\n        \n        try {\n            int iret = SendJob(voiceJob);\n            System.out.println(iret);\n        } catch (Exception e) {\n            System.err.println(e.toString());\n        }\n    }\n    \n\n    static public void GetReport() throws Exception{\n        \n        \/\/ Make a service\n        Wel_x0020_Web_x0020_Service service = new Wel_x0020_Web_x0020_ServiceLocator();\n        \/\/ Now use the service to get a stub which implements the SDI.\n        Wel_x0020_Web_x0020_ServiceSoap WelWebService = service.getWel_x0020_Web_x0020_ServiceSoap();\n        \n        StatusReport report = WelWebService.retrieveReport(1234);\n        \n        System.out.println(report.getJobStatus());\n    }\n    \n\n\n    static public void GetDetailsReport() throws Exception{\n        \/\/ Make a service\n        Wel_x0020_Web_x0020_Service service = new Wel_x0020_Web_x0020_ServiceLocator();\n        \/\/ Now use the service to get a stub which implements the SDI.\n        Wel_x0020_Web_x0020_ServiceSoap WelWebService = service.getWel_x0020_Web_x0020_ServiceSoap();\n        \n        StatusReport report = WelWebService.retrieveDetailedReport(1234);\n        \n        System.out.println(report.getJobStatus());\n        \n    }\n    \n\n\n    static public int SendJob(Job oJob) throws Exception{\n        \/\/ Make a service\n        Wel_x0020_Web_x0020_Service service = new Wel_x0020_Web_x0020_ServiceLocator();\n        \/\/ Now use the service to get a stub which implements the SDI.\n        Wel_x0020_Web_x0020_ServiceSoap WelWebService = service.getWel_x0020_Web_x0020_ServiceSoap();\n        \n        int iRes = WelWebService.submitJob(oJob);\n        \n        return iRes;\n    }\n}\n\n\n    static public void CancelJob () throws Exception{\n        \/\/ Make a service\n        Wel_x0020_Web_x0020_Service service = new Wel_x0020_Web_x0020_ServiceLocator();\n        \/\/ Now use the service to get a stub which implements the SDI.\n        Wel_x0020_Web_x0020_ServiceSoap WelWebService = service.getWel_x0020_Web_x0020_ServiceSoap();\n        \n        Boolean success = WelWebService.canceljob(1234);\n        \n        System.out.println(success);\n        \n    }\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-374ed5a elementor-widget elementor-widget-text-editor\" data-id=\"374ed5a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><em>PHP Code Example<\/em><\/h2><p><span style=\"text-decoration: underline;\">Connecting to the Wel Web Service using PHP and NuSoap<\/span><\/p><p>This document assumes that PHP is installed and configured, and the newsoap library is downloaded and installed.<\/p><p>Change \u2018.\/nusoap\/lib\/nusoap.php\u2019 to match the location of your nusoap library.<\/p><p><span style=\"text-decoration: underline;\"><strong>Basic SMSJob example:<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a07883 elementor-widget elementor-widget-code-highlight\" data-id=\"0a07883\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-html \">\n\t\t\t\t<code readonly=\"true\" class=\"language-html\">\n\t\t\t\t\t<xmp><html><body>\n<?php\n\trequire_once('.\/nusoap\/lib\/nusoap.php');  \n\n\t$namespace = \"http:\/\/www.welcorp.com\/webservice\/\";\n\n\t\/\/Setup Header\n\t$hdrArr = array(\n\t\t'Username' => 'test',\n\t\t'Usercode' => 'test',\n\t\t'Password' => 'test');\n\n\t\/\/Create properly typed header object\n\t$hdr = array('AuthenticationHeader' => new soapval('AuthenticationHeader', 'AuthenticationHeader', $hdrArr, false, $namespace));\n\n\t\/\/Setup Job parameters\n\t$jobarr = array(\n\t\t'Name' => 'Test Job name',\n\t\t'Sender' => array(\n\t\t\t'ReplyTo' => '098765432'\n\t\t),\n\t\t'Recipients' => array(\n\t\t\t'Recip_1' => array(\n\t\t\t\t'Destination' => '+098765432', \n\t\t\t\t'Reference' => 'testing'\n\t\t\t)\n\t\t),\n\t\t'Text' => 'Test message goes here.',\n\t\t'IsTwoWay' => false,\n\t\t'BatchReplies' => false,\n\t\t'ExpiryHours' => new soapval('ExpiryHours', 'unsignedByte', 0, false, 'http:\/\/www.w3.org\/2001\/XMLSchema')  \/\/Need this soapval, otherwise it goes out as an int, not an unsignedbyte\n\t);\n\n\t\/\/Create properly typed job object\n\t$smsJob = array(new soapval('job', 'SmsJob', $jobarr, false, $namespace));\n\n\t\/\/create client and get wsdl\n\t$client = new nusoap_client('http:\/\/www.welcorp.com\/webservice\/service.asmx?WSDL', 'wsdl');\n\n\t$err = $client->getError();\n\tif ($err) echo '<h2>Constructor error<\/h2><pre>' . $err . '<\/pre>';\n\n\t\/\/Do call\n\t$result = $client->call('SubmitJob', $smsJob, $namespace, false, $hdr);\n\t\n\t\/\/ Display the result\n\tprint_r($result);\n\t\/\/ Display the request and response\n\techo '<h2>Request<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '<\/pre>';\n\techo '<h2>Response<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '<\/pre>';\n\n?>\n<\/body><\/html>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a56378b elementor-widget elementor-widget-text-editor\" data-id=\"a56378b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"text-decoration: underline;\"><strong>Basic FAXJob example:<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec9b18e elementor-widget elementor-widget-code-highlight\" data-id=\"ec9b18e\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-html \">\n\t\t\t\t<code readonly=\"true\" class=\"language-html\">\n\t\t\t\t\t<xmp><html><body>\n<?php\n\trequire_once('nusoap.php');\n\n\t$namespace = \"http:\/\/www.welcorp.com\/webservice\/\";\n\n\t\/\/setup Header\n\t$hdrArr = array(\n\t\t'Username' => 'test',\n\t\t'Password' => 'test');\n\t\/\/create properly typed header object\n\t$hdr = array('AuthenticationHeader' => new soapval('AuthenticationHeader', 'AuthenticationHeader', $hdrArr, false,$namespace));\n\t\n\t\/\/setup job parameters\n\t\/\/ Open File\n\t$file = \"test.pdf\";\n\tif( !($fp = fopen($file, \"r\")))\n\t{\n\t\/\/ Error opening file\n\t\/\/ Handle error as appropriate for your script\n\texit;\n\t}\n\t \n\t\/\/ Read data from the file into $data\n\t$data = \"\";\n\twhile (!feof($fp)) $data .= fread($fp,1024);\n\n\t\n\t$filearr = array(\"Test.pdf\", false, base64_encode($data));\n\t\n\t\n\t$jobarr = array(\n\t\t'Name' => 'test api',\n\t\t'Sender' => array(\n\t\t\t'ReplyTo' => '+18178008516'\n\t\t),\n\t\t'Recipients' => array(\n\t\t\t'Recip_1' => array(\n\t\t\t\t'Destination' => '+33957029251',\n\t\t\t\t'Reference' => 'testAPI'\n\t\t\t)\n\t\t),\n\t\t'Files' => array(new soapval('TestFile', 'File', array($filearr), false, $namespace),\n\t\t'ExpiryHours' => new soapval('ExpiryHours', 'unsignedByte', 0, false, 'http:\/\/www.w3.org\/2001\/XMLSchema') \t\/\/Need this soapval, otherwise it goes out as an int, not an unsigned byte\n\t);\n\n\n\t\/\/create properly typed job object\n\t$smsJob = array(new soapval('job', 'FaxJob', $jobarr, false, $namespace));\n\n\t\/\/create client and get wsdl\n\t$client = new nusoap_client('http:\/\/www.welcorp.com\/webservice\/service.asmx?WSDL', 'wsdl');\n\n\t$err = $client->getError();\n\tif ($err) echo '<h2>Construction error<\/h2><pre>' . $err . '<\/pre>';\n\n\t\/\/Do call\n\n\t$result = $client->call('SubmitJob', $smsJob, $namespace, false, $hdr);\n\n\t\/\/Display Result\n\tprint_r($result);\n\n\t\/\/Display the request and response\n\techo '<h2>Request<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '<\/pre>';\n\techo '<h2>Response<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '<\/pre>';\n\t?>\n\t<\/body>\n<\/html>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-008c656 elementor-widget elementor-widget-text-editor\" data-id=\"008c656\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"text-decoration: underline;\"><strong>Add User example:<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c56db7 elementor-widget elementor-widget-code-highlight\" data-id=\"0c56db7\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-html \">\n\t\t\t\t<code readonly=\"true\" class=\"language-html\">\n\t\t\t\t\t<xmp><html><body>\n<?php\n\trequire_once('nusoap.php');  \n\n\t$namespace = \"http:\/\/www.welcorp.com\/webservice\/\"; \n\n\t\/\/Setup Header \n\t$hdrArr = array( \n\t\t'Username' => 'agent_or_admin_username', \n\t\t'Password' => 'agent_or_admin_password');\n\t\t\n\t\/\/Create properly typed header object \n\t$hdr = array('AuthenticationHeader' => new soapval('AuthenticationHeader', 'AuthenticationHeader', $hdrArr, false, $namespace)); \n\t\n\t\/\/Setup User \n\t$userarr = array(\n\t'UserCode' => 'au\/apiuseraddtest2',\n\t'Password' => 'Testing123',\n\t'FirstName' => 'FN-APITest2',\n\t'LastName' => 'LN-APITest2',\n\t'Email' => 'apitest2@test.com',\n\t'IsFax' => false,\n\t'IsSms' => false,\n\t'IsTts' => false,\n\t'IsEmail' => true,\n\t'IsTtsTwoWay' => false);\n\n\t\/\/create properly typed user object\n\t$userobj = array(new soapval('newuser', 'User', $userarr, false, $namespace));\n\t\n\t\/\/create client and get wsdl\n\t$client = new nusoap_client('http:\/\/www.welcorp.com\/webservice\/service.asmx?WSDL', 'wsdl');\n\n\t$err = $client->getError(); \n\tif ($err) echo '<h2>Constructor error<\/h2><pre>' . $err . '<\/pre>';\t\n\t\n\t\/\/Do call\t\n\t$result = $client->call('AddUser', $userobj, $namespace, false, $hdr);\n\t\n\t\/\/ Display the result\n\tprint_r($result);\n\t\n\t\/\/ Display the request and response\n\techo '<h2>Request<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '<\/pre>';\n\techo '<h2>Response<\/h2>';\n\techo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '<\/pre>';\n\n?>\n\t<\/body>\n<\/html>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bea8fff elementor-widget elementor-widget-text-editor\" data-id=\"bea8fff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><strong>Appendix<\/strong><\/h2><h2><em>Valid number formats<\/em><\/h2><p>Valid phone, fax or mobile number construction:-<\/p><table><tbody><tr><td>Local number with area code<\/td><td>e.g. 02 9123 4567<\/td><\/tr><tr><td>International number with \u201c+\u201d<\/td><td>e.g. +44 2 1234 5678<\/td><\/tr><tr><td>International number with \u201c0011\u201d<\/td><td>e.g. 0011 44 2 1234 5678<\/td><\/tr><\/tbody><\/table><p>Other number constructions are invalid.<\/p><h2><em>Broadcast Status Codes<\/em><\/h2><table><tbody><tr><td>List Created<\/td><td>User has created their job, but has not yet submitted it.<\/td><\/tr><tr><td>Pending<\/td><td>For SMS only:- job is in the pending queue.<\/td><\/tr><tr><td>Retry<\/td><td>For SMS only:- aggregator cannot be contacted, job has been re-queued.<\/td><\/tr><tr><td>Queued By WS<\/td><td>For Web Service submissions only:- job has been queued and awaiting processing.<\/td><\/tr><tr><td>Test Sent<\/td><td>For Fax and TTS only:- user has requested a test send and is awaiting results.<\/td><\/tr><tr><td>Scheduled<\/td><td>Job is scheduled for later date and time.<\/td><\/tr><tr><td>Broadcast Submitted<\/td><td>Job has been submitted and is currently in progress.<\/td><\/tr><tr><td>Complete<\/td><td>Job is complete.<\/td><\/tr><tr><td>Closed<\/td><td>Job has been closed (either completed or cancelled).<\/td><\/tr><tr><td>Cancelled<\/td><td>Scheduled job has been cancelled by user.<\/td><\/tr><\/tbody><\/table><h2><em>SMS Message Lengths<\/em><\/h2><table><tbody><tr><td>1 message<\/td><td>Up to 160 characters.<\/td><\/tr><tr><td>2+ messages<\/td><td>153 characters per SMS message.<br \/>(so 400 characters would take 3 messages)<\/td><\/tr><\/tbody><\/table><p>Current maximum is 3060 characters, for a 20 part SMS message<\/p><h2><em>Send Codes<\/em><\/h2><table><tbody><tr><td>SENT<\/td><td>Message was successfully sent to the recipient.<\/td><\/tr><\/tbody><\/table><p><strong>Fax Specific Error Codes<\/strong><\/p><table><tbody><tr><td>BUSY<\/td><td>Line gave busy signal with all retries. The receiving fax machine was busy.<\/td><\/tr><tr><td>NOAN<\/td><td>Phone keeps ringing. Nobody answers. If you are sure that the number is correct, please contact the recipient. There may be a problem with their fax machine (e.g. out of paper).<\/td><\/tr><tr><td>INVD<\/td><td>The number is not a valid number. Please check the number and dial again.<\/td><\/tr><tr><td>NOLN<\/td><td>Problem with phone line. Please check line.<\/td><\/tr><tr><td>BARR<\/td><td>Wrong number (number changed, call barred).<\/td><\/tr><tr><td>NSUP<\/td><td>Service or Function not supported by network or user.<\/td><\/tr><tr><td>COLL<\/td><td>At the moment we started trying to send a fax a call came in.<\/td><\/tr><tr><td>ERR<\/td><td>Procedural or unknown error.<\/td><\/tr><tr><td>FAIL<\/td><td>Document conversion failed. Please resubmit your document.<\/td><\/tr><tr><td>NOFX<\/td><td>No fax machine detected. Please check the number and try again.<\/td><\/tr><tr><td>PAGC<\/td><td>No confirmation received after last page transmitted. The fax may have been received by the recipient and the machine failed to confirm.<\/td><\/tr><tr><td>BADC<\/td><td>Bad connection or fax modem error at receiving end.<\/td><\/tr><tr><td>OPTO<\/td><td>Number in users optoutlist<\/td><\/tr><tr><td>REFU<\/td><td>Call refused by recipient or carrier<\/td><\/tr><\/tbody><\/table><p><strong>Text-To-Speech Specific Error Codes<\/strong><\/p><table><tbody><tr><td>BUSY<\/td><td>Line busy.<\/td><\/tr><tr><td>BSIN<\/td><td>Incorrect number<\/td><\/tr><tr><td>NOAN<\/td><td>Phone keeps ringing. Nobody answers.<\/td><\/tr><tr><td>MGNC<\/td><td>Receipt of message not confirmed.<\/td><\/tr><tr><td>OPTO<\/td><td>Number in users optoutlist<\/td><\/tr><tr><td>REFU<\/td><td>Call refused by recipient or carrier<\/td><\/tr><tr><td>ERR<\/td><td>Procedural or unknown error<\/td><\/tr><tr><td>LDTE<\/td><td>Latest Delivery timeout expired<\/td><\/tr><tr><td>NOLN<\/td><td>Problem with phone line. Please check line.<\/td><\/tr><tr><td>HNUP<\/td><td>Call disconnected by the network or remote user (reason unspecified).<\/td><\/tr><tr><td>RJCT<\/td><td>The message has been rejected<\/td><\/tr><\/tbody><\/table><p><strong>SMS Specific Error Codes<\/strong><\/p><table><tbody><tr><td>DERR<\/td><td>Aggregator error.<\/td><\/tr><tr><td>UERR<\/td><td>User validation error.<\/td><\/tr><tr><td>TRAN<\/td><td>Transaction limit reached.<\/td><\/tr><tr><td>PERR<\/td><td>Invalid password.<\/td><\/tr><tr><td>SVRE<\/td><td>SMS server error &#8211; please retry later.<\/td><\/tr><tr><td>SNDE<\/td><td>Error in sender number.<\/td><\/tr><tr><td>RECE<\/td><td>Error in receiver number.<\/td><\/tr><tr><td>MSGE<\/td><td>No SMS message.<\/td><\/tr><tr><td>LENE<\/td><td>SMS message too long.<\/td><\/tr><tr><td>NUME<\/td><td>Sending number invalid.<\/td><\/tr><tr><td>OUTE<\/td><td>SMS outgoing update error.<\/td><\/tr><\/tbody><\/table><p><strong>Notes:<\/strong><br \/><em>For SMS<\/em>: Status SENT indicates that the message has been successfully submitted to the network. In some cases the message may fail after if the number does not exist or for some other network related issue. In these cases, the status will be updated accordingly up to four hours after submission.<\/p><p><em>For Email<\/em>: All emails are submitted and the system must wait to either receive bounced back emails, or to receive notification that an email has been read. The system cannot ascertain if all emails are read \u2013 if a recipient uses an HTML email package and does not block outgoing code then the \u201cRead\u201d status will be received. However, this is a minority of recipients. After 12 hours the job is closed and all emails that have not failed are updated to \u201cSent\u201d.<\/p><h2><em>TTS Language Support.<\/em><\/h2><p>The valid values for the TTSJob.Voice parameter are:<\/p><table><tbody><tr><td><span style=\"text-decoration: underline;\"><strong>Voice Code<\/strong><\/span><\/td><td><span style=\"text-decoration: underline;\"><strong>Comment<\/strong><\/span><\/td><\/tr><tr><td>English-Allison (default)<\/td><td>American English, female.<\/td><\/tr><tr><td>English-Alan<\/td><td>Australian English, male<\/td><\/tr><tr><td>English-Grace<\/td><td>Australian English, female<\/td><\/tr><tr><td>English-Dave<\/td><td>American English, male<\/td><\/tr><tr><td>English-Steven<\/td><td>American English, male<\/td><\/tr><tr><td>English-Susan<\/td><td>American English, female<\/td><\/tr><tr><td>English-Kate<\/td><td>British English, female<\/td><\/tr><tr><td>English-Simon<\/td><td>British English, male<\/td><\/tr><tr><td>Chinese-Linlin<\/td><td>Chinese, female<\/td><\/tr><tr><td>Chinese-Lisheng<\/td><td>Chinese, female<\/td><\/tr><tr><td>French-Juliette<\/td><td>French, female<\/td><\/tr><tr><td>French-Charlotte<\/td><td>Canadian French, female<\/td><\/tr><tr><td>French-Olivier<\/td><td>Canadian French, male<\/td><\/tr><tr><td>Italian-Luca<\/td><td>Italian, male<\/td><\/tr><tr><td>German-Katrin<\/td><td>German, female<\/td><\/tr><tr><td>Mexican-Esperanza<\/td><td>Mexican, female<\/td><\/tr><tr><td>Portuguese-Gabriela<\/td><td>Brazilian Portuguese, female<\/td><\/tr><tr><td>Portuguese-Felipe<\/td><td>Brazilian Portuguese, male<\/td><\/tr><tr><td>Portuguese-Fernanda<\/td><td>Brazilian Portuguese, female<\/td><\/tr><tr><td>Spanish-Carlos<\/td><td>American Spanish, male<\/td><\/tr><tr><td>Spanish-Diego<\/td><td>Argentine Spanish, male<\/td><\/tr><tr><td>Spanish-Francisca<\/td><td>Chilean Spanish, female<\/td><\/tr><tr><td>Spanish-Soledad<\/td><td>American Spanish, female<\/td><\/tr><\/tbody><\/table><p>These values are case <em>insensitive<\/em>.<\/p><h2><em>Timezone Numeric codes<\/em><\/h2><p>Used in the User object to set the users timezone.<\/p><table><tbody><tr><td>Albania +1 GMT<\/td><td>1<\/td><\/tr><tr><td>Algeria +1 GMT<\/td><td>2<\/td><\/tr><tr><td>American Samoa -11 GMT<\/td><td>195<\/td><\/tr><tr><td>Andorra +1 GMT<\/td><td>3<\/td><\/tr><tr><td>Angola +1 GMT<\/td><td>4<\/td><\/tr><tr><td>Anguilla -4 GMT<\/td><td>5<\/td><\/tr><tr><td>Antarctica -2 GMT<\/td><td>6<\/td><\/tr><tr><td>Antigua And Barbuda -4 GMT<\/td><td>7<\/td><\/tr><tr><td>Argentina -3 GMT<\/td><td>8<\/td><\/tr><tr><td>Argentina &#8211; Western Province -4 GMT<\/td><td>9<\/td><\/tr><tr><td>Armenia +4 GMT<\/td><td>10<\/td><\/tr><tr><td>Aruba -4 GMT<\/td><td>11<\/td><\/tr><tr><td>Ascension Island0 GMT<\/td><td>12<\/td><\/tr><tr><td>Australia &#8211; AEST +10 GMT<\/td><td>14<\/td><\/tr><tr><td>Australia &#8211; Lord Howe Island +10.5 GMT<\/td><td>13<\/td><\/tr><tr><td>Australia &#8211; Northern Territory +9.5 GMT<\/td><td>15<\/td><\/tr><tr><td>Australia &#8211; Queensland +10 GMT<\/td><td>16<\/td><\/tr><tr><td>Australia &#8211; South Australia +9.5 GMT<\/td><td>17<\/td><\/tr><tr><td>Australia &#8211; Western Australia +8 GMT<\/td><td>18<\/td><\/tr><tr><td>Austria +1 GMT<\/td><td>19<\/td><\/tr><tr><td>Azerbaijan +3 GMT<\/td><td>263<\/td><\/tr><tr><td>Bahamas -5 GMT<\/td><td>21<\/td><\/tr><tr><td>Bahrain +3 GMT<\/td><td>22<\/td><\/tr><tr><td>Bangladesh +6 GMT<\/td><td>23<\/td><\/tr><tr><td>Barbados -4 GMT<\/td><td>24<\/td><\/tr><tr><td>Belarus +2 GMT<\/td><td>25<\/td><\/tr><tr><td>Belgium +1 GMT<\/td><td>26<\/td><\/tr><tr><td>Belize -6 GMT<\/td><td>27<\/td><\/tr><tr><td>Benin +1 GMT<\/td><td>28<\/td><\/tr><tr><td>Bermuda -4 GMT<\/td><td>29<\/td><\/tr><tr><td>Bhutan +6 GMT<\/td><td>30<\/td><\/tr><tr><td>Bolivia -4 GMT<\/td><td>31<\/td><\/tr><tr><td>Botswana +2 GMT<\/td><td>32<\/td><\/tr><tr><td>Brazil &#8211; Acre -5 GMT<\/td><td>33<\/td><\/tr><tr><td>Brazil &#8211; Atlantic Islands -2 GMT<\/td><td>34<\/td><\/tr><tr><td>Brazil &#8211; East -3 GMT<\/td><td>35<\/td><\/tr><tr><td>Brazil &#8211; West -4 GMT<\/td><td>36<\/td><\/tr><tr><td>Brunei +8 GMT<\/td><td>38<\/td><\/tr><tr><td>Bulgaria +2 GMT<\/td><td>39<\/td><\/tr><tr><td>Burkina Faso0 GMT<\/td><td>40<\/td><\/tr><tr><td>Burundi +2 GMT<\/td><td>41<\/td><\/tr><tr><td>Cambodia +7 GMT<\/td><td>42<\/td><\/tr><tr><td>Cameroon +1 GMT<\/td><td>43<\/td><\/tr><tr><td>Canada &#8211; Atlantic -4 GMT<\/td><td>44<\/td><\/tr><tr><td>Canada &#8211; Central -6 GMT<\/td><td>45<\/td><\/tr><tr><td>Canada &#8211; Eastern -5 GMT<\/td><td>46<\/td><\/tr><tr><td>Canada &#8211; Mountain -7 GMT<\/td><td>47<\/td><\/tr><tr><td>Canada &#8211; Newfoundland -3.5 GMT<\/td><td>48<\/td><\/tr><tr><td>Canada &#8211; Yukon &amp; Pacific -8 GMT<\/td><td>49<\/td><\/tr><tr><td>Cayman Islands -5 GMT<\/td><td>52<\/td><\/tr><tr><td>Chad +1 GMT<\/td><td>53<\/td><\/tr><tr><td>Chile -4 GMT<\/td><td>56<\/td><\/tr><tr><td>China +8 GMT<\/td><td>57<\/td><\/tr><tr><td>Colombia -5 GMT<\/td><td>58<\/td><\/tr><tr><td>Cook Islands -10 GMT<\/td><td>60<\/td><\/tr><tr><td>Costa Rica -6 GMT<\/td><td>61<\/td><\/tr><tr><td>Croatia +1 GMT<\/td><td>62<\/td><\/tr><tr><td>Cuba -5 GMT<\/td><td>63<\/td><\/tr><tr><td>Cyprus +2 GMT<\/td><td>64<\/td><\/tr><tr><td>Czech Republic +1 GMT<\/td><td>65<\/td><\/tr><tr><td>Denmark +1 GMT<\/td><td>66<\/td><\/tr><tr><td>Djibouti +3 GMT<\/td><td>67<\/td><\/tr><tr><td>Dominica -4 GMT<\/td><td>68<\/td><\/tr><tr><td>Ecuador -5 GMT<\/td><td>70<\/td><\/tr><tr><td>Egypt +2 GMT<\/td><td>71<\/td><\/tr><tr><td>El Salvador -6 GMT<\/td><td>72<\/td><\/tr><tr><td>Equatorial Guinea +1 GMT<\/td><td>73<\/td><\/tr><tr><td>Eritrea +3 GMT<\/td><td>74<\/td><\/tr><tr><td>Estonia +2 GMT<\/td><td>75<\/td><\/tr><tr><td>Ethiopia +3 GMT<\/td><td>76<\/td><\/tr><tr><td>Falkland Islands -4 GMT<\/td><td>77<\/td><\/tr><tr><td>Fiji +12 GMT<\/td><td>78<\/td><\/tr><tr><td>Finland +2 GMT<\/td><td>79<\/td><\/tr><tr><td>France +1 GMT<\/td><td>80<\/td><\/tr><tr><td>French Guiana -3 GMT<\/td><td>81<\/td><\/tr><tr><td>French Polynesia -10 GMT<\/td><td>82<\/td><\/tr><tr><td>Gabon +1 GMT<\/td><td>83<\/td><\/tr><tr><td>Gambia0 GMT<\/td><td>84<\/td><\/tr><tr><td>Georgia +4 GMT<\/td><td>85<\/td><\/tr><tr><td>Germany +1 GMT<\/td><td>86<\/td><\/tr><tr><td>Ghana0 GMT<\/td><td>87<\/td><\/tr><tr><td>Greece +2 GMT<\/td><td>88<\/td><\/tr><tr><td>Greenland -3 GMT<\/td><td>89<\/td><\/tr><tr><td>Greenland &#8211; Scoresbysun -1 GMT<\/td><td>90<\/td><\/tr><tr><td>Greenland &#8211; Thule -4 GMT<\/td><td>91<\/td><\/tr><tr><td>Grenada -4 GMT<\/td><td>92<\/td><\/tr><tr><td>Guadeloupe -4 GMT<\/td><td>93<\/td><\/tr><tr><td>Guam +10 GMT<\/td><td>94<\/td><\/tr><tr><td>Guatemala -6 GMT<\/td><td>95<\/td><\/tr><tr><td>Guyana -3 GMT<\/td><td>97<\/td><\/tr><tr><td>Haiti -5 GMT<\/td><td>98<\/td><\/tr><tr><td>Honduras -6 GMT<\/td><td>99<\/td><\/tr><tr><td>Hong Kong +8 GMT<\/td><td>100<\/td><\/tr><tr><td>Hungary +1 GMT<\/td><td>101<\/td><\/tr><tr><td>Iceland0 GMT<\/td><td>102<\/td><\/tr><tr><td>India +5.5 GMT<\/td><td>103<\/td><\/tr><tr><td>Indonesia &#8211; Central +8 GMT<\/td><td>104<\/td><\/tr><tr><td>Indonesia &#8211; East +9 GMT<\/td><td>105<\/td><\/tr><tr><td>Indonesia &#8211; West +7 GMT<\/td><td>106<\/td><\/tr><tr><td>Iran +3.5 GMT<\/td><td>107<\/td><\/tr><tr><td>Iraq +3 GMT<\/td><td>108<\/td><\/tr><tr><td>Ireland0 GMT<\/td><td>109<\/td><\/tr><tr><td>Israel +2 GMT<\/td><td>110<\/td><\/tr><tr><td>Italy +1 GMT<\/td><td>111<\/td><\/tr><tr><td>Ivory Coast0 GMT<\/td><td>112<\/td><\/tr><tr><td>Jamaica -5 GMT<\/td><td>113<\/td><\/tr><tr><td>Japan +9 GMT<\/td><td>114<\/td><\/tr><tr><td>Jordan +2 GMT<\/td><td>115<\/td><\/tr><tr><td>Kazakhstan +6 GMT<\/td><td>116<\/td><\/tr><tr><td>Kenya +3 GMT<\/td><td>117<\/td><\/tr><tr><td>Kiribati +12 GMT<\/td><td>118<\/td><\/tr><tr><td>Kuwait +3 GMT<\/td><td>121<\/td><\/tr><tr><td>Kyrgyzstan +5 GMT<\/td><td>122<\/td><\/tr><tr><td>Laos +7 GMT<\/td><td>123<\/td><\/tr><tr><td>Latvia +2 GMT<\/td><td>124<\/td><\/tr><tr><td>Lebanon +2 GMT<\/td><td>125<\/td><\/tr><tr><td>Lesotho +2 GMT<\/td><td>126<\/td><\/tr><tr><td>Liberia0 GMT<\/td><td>127<\/td><\/tr><tr><td>Libya +2 GMT<\/td><td>128<\/td><\/tr><tr><td>Lithuania +2 GMT<\/td><td>129<\/td><\/tr><tr><td>Luxembourg +1 GMT<\/td><td>130<\/td><\/tr><tr><td>Macedonia +1 GMT<\/td><td>131<\/td><\/tr><tr><td>Madagascar +3 GMT<\/td><td>132<\/td><\/tr><tr><td>Malawi +2 GMT<\/td><td>134<\/td><\/tr><tr><td>Malaysia +8 GMT<\/td><td>135<\/td><\/tr><tr><td>Maldives +5 GMT<\/td><td>136<\/td><\/tr><tr><td>Mali0 GMT<\/td><td>137<\/td><\/tr><tr><td>Malta +1 GMT<\/td><td>138<\/td><\/tr><tr><td>Mariana Island +10 GMT<\/td><td>165<\/td><\/tr><tr><td>Marshall Islands +12 GMT<\/td><td>140<\/td><\/tr><tr><td>Martinique -4 GMT<\/td><td>141<\/td><\/tr><tr><td>Mauritania0 GMT<\/td><td>142<\/td><\/tr><tr><td>Mauritius +4 GMT<\/td><td>143<\/td><\/tr><tr><td>Mayotte +3 GMT<\/td><td>144<\/td><\/tr><tr><td>Mexico -6 GMT<\/td><td>145<\/td><\/tr><tr><td>Mexico &#8211; Baja Calif Norte -8 GMT<\/td><td>146<\/td><\/tr><tr><td>Mexico &#8211; Nayarit Sinaloa Sonora -7 GMT<\/td><td>147<\/td><\/tr><tr><td>Moldova +2 GMT<\/td><td>148<\/td><\/tr><tr><td>Monaco +1 GMT<\/td><td>149<\/td><\/tr><tr><td>Mongolia +8 GMT<\/td><td>150<\/td><\/tr><tr><td>Morocco0 GMT<\/td><td>151<\/td><\/tr><tr><td>Mozambique +2 GMT<\/td><td>152<\/td><\/tr><tr><td>Namibia +1 GMT<\/td><td>153<\/td><\/tr><tr><td>Nepal +5.75 GMT<\/td><td>155<\/td><\/tr><tr><td>Netherlands +1 GMT<\/td><td>156<\/td><\/tr><tr><td>New Caledonia +11 GMT<\/td><td>158<\/td><\/tr><tr><td>New Zealand +12 GMT<\/td><td>159<\/td><\/tr><tr><td>Nicaragua -6 GMT<\/td><td>160<\/td><\/tr><tr><td>Niger +1 GMT<\/td><td>161<\/td><\/tr><tr><td>Niue -11 GMT<\/td><td>163<\/td><\/tr><tr><td>Norfolk Island +11.5 GMT<\/td><td>164<\/td><\/tr><tr><td>North Korea +9 GMT<\/td><td>119<\/td><\/tr><tr><td>Norway +1 GMT<\/td><td>167<\/td><\/tr><tr><td>Oman +4 GMT<\/td><td>168<\/td><\/tr><tr><td>Pakistan +5 GMT<\/td><td>169<\/td><\/tr><tr><td>Palau +9 GMT<\/td><td>170<\/td><\/tr><tr><td>Panama -5 GMT<\/td><td>171<\/td><\/tr><tr><td>Papua New Guinea +10 GMT<\/td><td>172<\/td><\/tr><tr><td>Paraguay -4 GMT<\/td><td>173<\/td><\/tr><tr><td>Peru -5 GMT<\/td><td>174<\/td><\/tr><tr><td>Philippines +8 GMT<\/td><td>175<\/td><\/tr><tr><td>Poland +1 GMT<\/td><td>176<\/td><\/tr><tr><td>Portugal +1 GMT<\/td><td>177<\/td><\/tr><tr><td>Puerto Rico -4 GMT<\/td><td>178<\/td><\/tr><tr><td>Qatar +3 GMT<\/td><td>179<\/td><\/tr><tr><td>Reunion +4 GMT<\/td><td>181<\/td><\/tr><tr><td>Romania +2 GMT<\/td><td>182<\/td><\/tr><tr><td>Russia &#8211; zone eight +9 GMT<\/td><td>183<\/td><\/tr><tr><td>Russia &#8211; zone eleven +12 GMT<\/td><td>184<\/td><\/tr><tr><td>Russia &#8211; zone five +6 GMT<\/td><td>185<\/td><\/tr><tr><td>Russia &#8211; zone four +5 GMT<\/td><td>186<\/td><\/tr><tr><td>Russia &#8211; zone nine +10 GMT<\/td><td>187<\/td><\/tr><tr><td>Russia &#8211; zone one +2 GMT<\/td><td>188<\/td><\/tr><tr><td>Russia &#8211; zone seven +8 GMT<\/td><td>189<\/td><\/tr><tr><td>Russia &#8211; zone six +7 GMT<\/td><td>190<\/td><\/tr><tr><td>Russia &#8211; zone ten +11 GMT<\/td><td>191<\/td><\/tr><tr><td>Russia &#8211; zone three +4 GMT<\/td><td>192<\/td><\/tr><tr><td>Russia &#8211; zone two +4 GMT<\/td><td>193<\/td><\/tr><tr><td>Rwanda +2 GMT<\/td><td>194<\/td><\/tr><tr><td>Saint Helena0 GMT<\/td><td>212<\/td><\/tr><tr><td>Saint Kitts and Nevis -4 GMT<\/td><td>213<\/td><\/tr><tr><td>Saint Lucia -4 GMT<\/td><td>214<\/td><\/tr><tr><td>Saint Vincent Grenadines -4 GMT<\/td><td>216<\/td><\/tr><tr><td>San Marino +1 GMT<\/td><td>197<\/td><\/tr><tr><td>Saudi Arabia +3 GMT<\/td><td>199<\/td><\/tr><tr><td>Senegal0 GMT<\/td><td>200<\/td><\/tr><tr><td>Seychelles +4 GMT<\/td><td>203<\/td><\/tr><tr><td>Sierra Leone0 GMT<\/td><td>204<\/td><\/tr><tr><td>Singapore +8 GMT<\/td><td>205<\/td><\/tr><tr><td>Slovenia +1 GMT<\/td><td>206<\/td><\/tr><tr><td>Solomon Islands +11 GMT<\/td><td>207<\/td><\/tr><tr><td>Somalia +3 GMT<\/td><td>208<\/td><\/tr><tr><td>South Africa +2 GMT<\/td><td>209<\/td><\/tr><tr><td>South Korea +9 GMT<\/td><td>120<\/td><\/tr><tr><td>Spain +1 GMT<\/td><td>210<\/td><\/tr><tr><td>Sri Lanka +5.5 GMT<\/td><td>211<\/td><\/tr><tr><td>Sudan +2 GMT<\/td><td>217<\/td><\/tr><tr><td>Swaziland +2 GMT<\/td><td>218<\/td><\/tr><tr><td>Sweden +1 GMT<\/td><td>219<\/td><\/tr><tr><td>Switzerland +1 GMT<\/td><td>220<\/td><\/tr><tr><td>Syria +2 GMT<\/td><td>221<\/td><\/tr><tr><td>Taiwan +8 GMT<\/td><td>222<\/td><\/tr><tr><td>Tanzania +3 GMT<\/td><td>224<\/td><\/tr><tr><td>Thailand +7 GMT<\/td><td>225<\/td><\/tr><tr><td>Togo0 GMT<\/td><td>226<\/td><\/tr><tr><td>Tonga +13 GMT<\/td><td>227<\/td><\/tr><tr><td>Trinidad and Tobago -4 GMT<\/td><td>228<\/td><\/tr><tr><td>Tunisia +1 GMT<\/td><td>229<\/td><\/tr><tr><td>Turkey +2 GMT<\/td><td>230<\/td><\/tr><tr><td>Turkmenistan +5 GMT<\/td><td>231<\/td><\/tr><tr><td>Tuvalu +12 GMT<\/td><td>233<\/td><\/tr><tr><td>Uganda +3 GMT<\/td><td>234<\/td><\/tr><tr><td>United Arab Emirates +4 GMT<\/td><td>235<\/td><\/tr><tr><td>United Kingdom0 GMT<\/td><td>236<\/td><\/tr><tr><td>United Kingdom &#8211; Channel Islands0 GMT<\/td><td>54<\/td><\/tr><tr><td>United Kingdom &#8211; New Hebrides +11 GMT<\/td><td>237<\/td><\/tr><tr><td>United Kingdom &#8211; Northern Ireland0 GMT<\/td><td>238<\/td><\/tr><tr><td>Uruguay -3 GMT<\/td><td>239<\/td><\/tr><tr><td>USA &#8211; Alaska -9 GMT<\/td><td>240<\/td><\/tr><tr><td>USA &#8211; Aleutian -10 GMT<\/td><td>241<\/td><\/tr><tr><td>USA &#8211; Arizona -7 GMT<\/td><td>242<\/td><\/tr><tr><td>USA &#8211; Central -6 GMT<\/td><td>243<\/td><\/tr><tr><td>USA &#8211; Eastern -5 GMT<\/td><td>244<\/td><\/tr><tr><td>USA &#8211; Hawaii -10 GMT<\/td><td>245<\/td><\/tr><tr><td>USA &#8211; Indiana East -5 GMT<\/td><td>246<\/td><\/tr><tr><td>USA &#8211; Mountain -7 GMT<\/td><td>247<\/td><\/tr><tr><td>USA &#8211; Pacific -8 GMT<\/td><td>248<\/td><\/tr><tr><td>Uzbekistan +5 GMT<\/td><td>249<\/td><\/tr><tr><td>Vanuatu +11 GMT<\/td><td>250<\/td><\/tr><tr><td>Venezuela -4 GMT<\/td><td>252<\/td><\/tr><tr><td>Vietnam +7 GMT<\/td><td>253<\/td><\/tr><tr><td>Wallis And Futuna Islands +12 GMT<\/td><td>256<\/td><\/tr><tr><td>Yemen +3 GMT<\/td><td>257<\/td><\/tr><tr><td>Zambia +2 GMT<\/td><td>261<\/td><\/tr><tr><td>Zimbabwe +2 GMT<\/td><td>262<\/td><\/tr><\/tbody><\/table><h2><strong>Wel Callback System<\/strong><\/h2><p>Version 1.1<\/p><h2><em>Introduction<\/em><\/h2><p>The Wel callback system returns a simple Post request to a user\u2019s chosen URL containing details about the success or failure of a chosen FAX, TTS or Voice message. For SMS, it will send a callback containing the reply details for a given 2 Way SMS reply, and optionally it can also do a callback when the SMS delivery\/failure is confirmed. (See notes below)<\/p><p>There is one call back for each broadcast recipient, so a broadcast to 10 people should generate 10 status callback messages.<\/p><h2><em>Configuration<\/em><\/h2><p>The activation and setting of the callback URL is defined in two ways.<\/p><ol><li>On a per user basis, and is set either via the user administration page by a Wel admin (field: \u201ccallbackURL\u201d), or via the AddUser or ModifyUser method in the API (field \u201ccallbackURL\u201d).<\/li><li>Via the API, the callback can be set on a per broadcast basis using the \u201cCallbackURL\u201d parameter<\/li><\/ol><p>If the callbackURL parameter is blank, no callback is attempted for that user\/broadcast, otherwise a callback is sent to the given URL.<br \/>The Callback URL should be of the standard format. Eg: http:\/\/testdomain.com\/testscript.php<\/p><p>For SMS, if a callback parameter is defined, then by default callbacks are only done for 2 way SMS replies. If you need callback on SMS status updates as well, then the additional Boolean parameter: \u201cCallbackOnSMSStatusUpdate\u201d can be set to true, either in the API SMSJob request, or in the user administration page.<\/p><h2><em>Technical details<\/em><\/h2><p>On receipt of a final message status report from the internal Telephony systems, an asynchronous Callback request is sent to the specified URL containing the following POST fields:<\/p><p><strong>Fax\/Voice:<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastID: <strong>1234567<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastName: <strong>Test Broadcast<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Timestamp: <strong>2010-09-20T23:04:56 10:00<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Cost: <strong>10<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Reference: <strong>TestCompany<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Recipient: <strong>TestUser<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Destination: <strong>001133123456789<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Status: <strong>SENT<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Duration: <strong>8<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Keypress: <strong>2<\/strong><\/p><p><strong>SMS Status Update:<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastID: <strong>1234567<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastName: <strong>Test Broadcast<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Timestamp: <strong>2010-09-20T23:04:56 10:00<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Reference: <strong>TestCompany<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Recipient: <strong>TestUser<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Destination: <strong>001133123456789<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Status: <strong>SENT<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 HandsetDeliveryTimestamp: <strong>2012-03-09 13:48:46<\/strong><\/p><p><strong>SMS Reply Details:<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastID: <strong>1234567<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 BroadcastName: <strong>Test Broadcast<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Timestamp: <strong>2010-09-20T23:04:56 10:00<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Reference: <strong>TestCompany<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Recipient: <strong>TestUser<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Destination: <strong>001133123456789<\/strong><br \/>\u00a0 \u00a0 \u00a0 \u00a0 Response: <strong>The msg returned by the recipient<\/strong><\/p><h2><em>Callback Retry:<\/em><\/h2><p>If the reply message fails to get a valid HTML response, or the words \u201cerror\u201d or \u201cfail\u201d (case insensitive) are found in the response, then the callback is queued for retry.<\/p><p>The message is retried with intervals between retries of: 1, 5, 15 and 45 minutes.<br \/>If no valid response after this time, then the callback is dropped.<\/p><h2><strong>Link In SMS<\/strong><\/h2><h2><em>Overview<\/em><\/h2><p>Link In SMS is a feature where custom, user specific pages of html or text data can be presented through a simple SMS message. How it works is that for each SMS recipient a custom web page will be created and linked to in their SMS, allowing viewing of the page of html with a simple click. This allows a single SMS to communicate arbitrary large amounts of data. For example, a SMS broadcast could send out employee\u2019s individual upcoming monthly timetables, or their invested stock prices, or lists of overdue library books, etc. each accessed by a simple click in their SMS.<\/p><h2><em>Implementation<\/em><\/h2><p>There are two methods to use the Link In SMS System:<\/p><ol><li>The Page data can be passed in full for each user.<\/li><li>A Link In SMS page template can be passed once for the job, and the pages generated by merging with the recipient fields.<\/li><\/ol><h3>Option 1:<\/h3><p>With the first method of using Link In SMS through the API, the desired page data is added to the API request by adding the page data in a mergefield called \u201clinkinsms\u201d for each SMS recipient, and including the phrase %%linkinsms%% in your SMS message.<\/p><p>An example Link in SMS request would have recipient fields like:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-87dcd49 elementor-widget elementor-widget-code-highlight\" data-id=\"87dcd49\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-json \">\n\t\t\t\t<code readonly=\"true\" class=\"language-json\">\n\t\t\t\t\t<xmp>Destination = '+098765432', \nReference = 'mytest',\nFirstNane = 'John'\nMergeField= [\n\tLinkInSMS = '<pageof html data for John\u2019s schedule\u2026>'\n]\n\nDestination = '+098765431', \nReference = 'myothertest',\nFirstNane = 'Jane'\nMergeField= [\n\tLinkInSMS = '<pageof html data for Jane\u2019s schedule\u2026>'\n]<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b7df1f elementor-widget elementor-widget-text-editor\" data-id=\"1b7df1f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>And the SMS message could be:<\/strong><\/p><pre>\u201cHi %%firstname%%. Please click on %%linkinsms%% to view your schedule for next week.\u201d<\/pre><p>\u00a0<\/p><p><strong>The resulting SMS received by the employee would look like:<\/strong><\/p><pre>\u201cHi Jane. Please click on http:\/\/lis.ms\/3jKu738aU to view your schedule for next week.\u201d<\/pre><p>And clicking this would take them to their schedule in the provided page data.<\/p><p>\u00a0<\/p><h3>Option 2:<\/h3><p>The second method of including a Link In SMS page is to populate the SMSJob field \u201cLinkInSMSPage\u201d with a template containing merge fields. This is appropriate for simple pages where there are minor differences between the recipients\u2019 pages.<\/p><p>For example:<\/p><pre>SMSJob.LinkInSMSPage = \u201c&lt;p&gt;Welcome %%firstname%%.&lt;\/p&gt;&lt;p&gt;Please read the below Terms and Conditions&lt;\/p&gt;<br \/>&lt;p&gt;\u2026 Long terms and conditions \u2026&lt;\/p&gt;\u201d<\/pre><h3><br \/>Other details:<\/h3><p>In both cases, if the \u201cpage content\u201d is a just a URL, then when the recipient clicks on the link, they are redirected to the URL supplied<br \/>For example: <br \/>\u00a0 \u00a0 \u00a0 \u00a0 Page content = \u201chttp:\/\/HealthNews.com\/latest_flu_info.html<br \/>Or the link could let them access custom pages just for them:<br \/>\u00a0 \u00a0 \u00a0 \u00a0 Page content = \u201chttp:\/\/myschedule.com\/schedule.php?userid=123&amp;auth=h6Fh89Uz<\/p><p><br \/>To reduce the amount of page data needed for each recipient, you can set Link In SMS header and footer values in your user profile. So you can have a Logo and other links automatically wrapped around any uploaded html content. This way you can just send the core content and all header, logo and styling are already done.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-16 elementor-top-column elementor-element elementor-element-b035adb\" data-id=\"b035adb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2587909 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"2587909\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dbc1404\" data-id=\"dbc1404\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dc67904 elementor-widget elementor-widget-template\" data-id=\"dc67904\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"439\" class=\"elementor elementor-439\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-785542e6 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"785542e6\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4be07d9c full-left-column-half\" data-id=\"4be07d9c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2e1c7d72 elementor-widget elementor-widget-heading\" data-id=\"2e1c7d72\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Still Not Sure How We Can Help? Call Us And Let Us Work With You To Make Your Business Easier & More Profitable.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1484cd5b elementor-widget elementor-widget-button\" data-id=\"1484cd5b\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"https:\/\/welcorp.com\/public\/contact-us\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact us<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7fbb726f elementor-hidden-mobile\" data-id=\"7fbb726f\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>API Documentation WELCORP Web Service API Overview The WEL Web Service API allows a registered user to submit a variety of messages and retrieve reports using SOAP over HTTP. The location of the Web Service, service description and WSDL can be found athttp:\/\/www.welcorp.com\/webservice\/service.asmx This document is technical in nature and it is assumed that the [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1277","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>WEL Corporation - Web Service API Documentation<\/title>\r\n<meta name=\"description\" content=\"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/welcorp.com\/public\/api-documentation\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"WEL Corporation - Web Service API Documentation\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/welcorp.com\/public\/api-documentation\/\" \/>\r\n<meta property=\"og:site_name\" content=\"WEL Corporation\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-02-04T01:07:10+00:00\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"20 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/welcorp.com\/public\/api-documentation\/\",\"url\":\"https:\/\/welcorp.com\/public\/api-documentation\/\",\"name\":\"WEL Corporation - Web Service API Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/welcorp.com\/public\/#website\"},\"datePublished\":\"2022-06-09T07:44:36+00:00\",\"dateModified\":\"2025-02-04T01:07:10+00:00\",\"description\":\"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.\",\"breadcrumb\":{\"@id\":\"https:\/\/welcorp.com\/public\/api-documentation\/#breadcrumb\"},\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/welcorp.com\/public\/api-documentation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/welcorp.com\/public\/api-documentation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/welcorp.com\/public\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Documentation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/welcorp.com\/public\/#website\",\"url\":\"https:\/\/welcorp.com\/public\/\",\"name\":\"WEL Corporation\",\"description\":\"Digital Messaging\",\"publisher\":{\"@id\":\"https:\/\/welcorp.com\/public\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/welcorp.com\/public\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/welcorp.com\/public\/#organization\",\"name\":\"WEL Corporation\",\"url\":\"https:\/\/welcorp.com\/public\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/welcorp.com\/public\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/welcorp.com\/public\/wp-content\/uploads\/2022\/05\/welcorp-logo.png\",\"contentUrl\":\"https:\/\/welcorp.com\/public\/wp-content\/uploads\/2022\/05\/welcorp-logo.png\",\"width\":800,\"height\":412,\"caption\":\"WEL Corporation\"},\"image\":{\"@id\":\"https:\/\/welcorp.com\/public\/#\/schema\/logo\/image\/\"}}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WEL Corporation - Web Service API Documentation","description":"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/welcorp.com\/public\/api-documentation\/","og_locale":"en_US","og_type":"article","og_title":"WEL Corporation - Web Service API Documentation","og_description":"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.","og_url":"https:\/\/welcorp.com\/public\/api-documentation\/","og_site_name":"WEL Corporation","article_modified_time":"2025-02-04T01:07:10+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/welcorp.com\/public\/api-documentation\/","url":"https:\/\/welcorp.com\/public\/api-documentation\/","name":"WEL Corporation - Web Service API Documentation","isPartOf":{"@id":"https:\/\/welcorp.com\/public\/#website"},"datePublished":"2022-06-09T07:44:36+00:00","dateModified":"2025-02-04T01:07:10+00:00","description":"Learn how to integrate WEL Corporations API into your messaging systems and how it can take your business to the next level.","breadcrumb":{"@id":"https:\/\/welcorp.com\/public\/api-documentation\/#breadcrumb"},"inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/welcorp.com\/public\/api-documentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/welcorp.com\/public\/api-documentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/welcorp.com\/public\/"},{"@type":"ListItem","position":2,"name":"API Documentation"}]},{"@type":"WebSite","@id":"https:\/\/welcorp.com\/public\/#website","url":"https:\/\/welcorp.com\/public\/","name":"WEL Corporation","description":"Digital Messaging","publisher":{"@id":"https:\/\/welcorp.com\/public\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/welcorp.com\/public\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Organization","@id":"https:\/\/welcorp.com\/public\/#organization","name":"WEL Corporation","url":"https:\/\/welcorp.com\/public\/","logo":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/welcorp.com\/public\/#\/schema\/logo\/image\/","url":"https:\/\/welcorp.com\/public\/wp-content\/uploads\/2022\/05\/welcorp-logo.png","contentUrl":"https:\/\/welcorp.com\/public\/wp-content\/uploads\/2022\/05\/welcorp-logo.png","width":800,"height":412,"caption":"WEL Corporation"},"image":{"@id":"https:\/\/welcorp.com\/public\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/pages\/1277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/comments?post=1277"}],"version-history":[{"count":67,"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/pages\/1277\/revisions"}],"predecessor-version":[{"id":3638,"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/pages\/1277\/revisions\/3638"}],"wp:attachment":[{"href":"https:\/\/welcorp.com\/public\/wp-json\/wp\/v2\/media?parent=1277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}