API Blog

Communication and Data Quality APIs for real-time business solutions.

Posts Tagged ‘programmable Web Service’


CDYNE Launches International Address Verification

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , ,

International-address-verification

Today CDYNE launched PAV-I, an international postal address verification API which validates addresses for over 240 countries. Businesses with an international market presence can ensure data quality for their customer base without any prior knowledge of international address formats or foreign characters. One of the great features of PAV-I is that it takes the guesswork out of the many address formats that exist worldwide. We are excited about this new offering because it complements CDYNE’s existing PAV API, which is CASS Certified™ for US postal addresses, and now verifies Canadian addresses at no additional cost.

TRANSLITERATE ADDRESSES FROM ONE ALPHABET TO ANOTHER

PAV-I supports 9 writing systems and will transliterate address data for Latin, Cyrillic, Greek, Hebrew, Japanese Kanji, Chinese, Arabic, Thai, and Korean Hangul. For example, if you input a Japanese address in English characters, you have the option to request the validated address in either English or Japanese Kanji.

We will use the address 3-24-20, YOKODAI ISOGO-KU YOKOHAMA, 2350045, JAPAN to highlight the transliteration capabilities of PAV-I. The default setting for transliteration is false. When set to true, the verified address will output to the native language if it is supported. The only exception to this is the country output field, which will return in English.

Address entered with native output set to true:

Input Address: 3-24-20 YOKODAI ISOGO-KU YOKOHAMA 2350045 JAPAN

Output Results: A RESCODE of “1″ and OUTPUTSTATUS of “C” combined means the address was successfully matched or parsed and has been corrected to match the reference data. The corrected and transliterated address is output both in the ADDR field as well as the individual address fields. As mentioned earlier, the COUNTRY output field will return in English and does not transliterate.

 

The last output field MATCHLVL returned a “2,” which signifies verification down to the street level. These output returns are meaningful because they provide a record of any corrections that were made to your addresses along with the level to which the addresses were verified. The following MATCHLVL returns are available:

  • 0 – No Match
  • 1 – Town, City, Locality, Municipality, Suburb
  • 2 – Street
  • 3 – Premise (Building)
  • 4 – Organisation (Varies by country, Business or Administrative Entity)

 

Address entered with native output set to false:

Input Address: 3-24-20 YOKODAI ISOGO-KU YOKOHAMA 2350045 JAPAN

Output Results: A RESCODE of “1″ and OUTPUTSTATUS of “C” combined means the address was successfully matched or parsed and has been corrected to match the reference data.

INNOVATIVE PARSING ABILITY

PAV-I has the ability to parse addresses entered in one or many fields. Using multiple address fields for input is useful when you are familiar with international addresses and the specific elements of the input address. If uncertain of the specific address elements, inputting information in the wrong fields may complicate or confuse matching.

To illustrate this, let’s use the address Rose House, 51-59 Circular Road, Isle of Man, IM1 1AZ, United Kingdom to show how this address can be entered using fielded or unfielded input.

Address entered with unfielded input:

Input Address: Rose House, 51-59 Circular Road, Isle of Man, IM1 1AZ, United Kingdom

Output Results: A RESCODE of “1″ and OUTPUTSTATUS of “V” combined means the address was successfully matched or parsed and has been verified mailable with no change.

Address entered with fielded input:

Input Address: Rose House, 51-59 Circular Road, IM1 1AZ, United Kingdom

Output Results: In this case, “Isle of Man” was not included in the input data. As a result, RESCODE  “1″ and OUTPUTSTATUS “C” was returned (the address was successfully matched or parsed and has been corrected to match the reference data).

PAV-I VERIFICATION CODES

Addresses are verified with a RESCODE and an OUTPUTSTATUS. The RESCODE returns data based on whether the address was successfully matched or not. The OUTPUTSTATUS provides extra details regarding the verification or correction that occurred when verifying the address. 

RESCODE
OUTPUT STATUS DETAILS
0   Internal Error Occurred (Contact CDYNE)
1 V Address was successfully matched or parsed and has been verified mailable with no change
1 C Address was successfully matched or parsed and has been corrected to match reference data.
1 P Address was successfully parsed but there is no matching reference data.
2 N There were no hits found and address was not matched or parsed. (This is also returned if an attempt is made to verify an unsupported country.)
3 P Insufficient input details (Too many possible matches)
4   Ambiguous result (Many possible address results)

 

For more information about CDYNE PAV-I API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE PAV-I API.

Developers find CDYNE PAV-I API integration details on the CDYNE developer’s wiki

 

CDYNE PAV Now Offers Full Canadian Address Verification

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , ,

Canadian Address Verification

CDYNE’s Postal Address Verification API now fully validates Canadian addresses. You can standardize, correct, and verify US and Canadian addresses in one step. The API has been renamed PAV, and is the perfect complement to the PAV-I API, which standardizes and validates international addresses.

There are two supported operations for Canadian address verification: VerifyAddress and VerifyAddressAdvanced. Only two return codes apply to Canadian addresses. A return code of 200 means that the address was verified. A return code of 202 means that the input address is confirmed for all components except for the secondary number. A return code of 10 means that the address could not be found or verified.

If you have Canadian addresses with missing zip codes, PAV can append the zip code of the address as long as the Canadian province name has been abbreviated at input. Please see image below for an example.

We will use the address 75 University Ave West, Waterloo, ON to emphasize PAV’s ability to append a missing zip code.

Address input with missing zip code:

Address output with appended zip code:

 

As you can see, the correct zip code has been added and the address yields a return code of 200, meaning that the address is verified.  The address is now prepared for optimum delivery as suggested by the Canada Post with the output address properly parsed in upper case fonts and the zip code separated after the first three characters.

For more information about CDYNE PAV, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE PAV.

Developers find CDYNE PAV API integration details on the CDYNE developer’s wiki.

Deliver Relevant Communications to Customers and Clients

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

relevant-communications3

CDYNE Phone Notify! API is an automated API phone notification system that allows IT departments to build voice applications to deliver relevant communications to customers and clients.  It has the ability to send or receive up to 5,000 tier-1 quality phone calls per minute using text to speech (TTS) in multiple languages, recorded files, or both. With over 50 programming methods, you can build powerful applications that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. Phone Notify! allows programmers to send automated phone alerts, conduct phone surveys, perform conference calls, and integrate custom business applications into their existing system.

AN OVERVIEW

There are over 50 Phone Notify! programming operations available to build and integrate voice applications into your system. They can be categorized into the list shown below. Additionally, a detailed operation list by category may be found here.

  • Send and Receive Phone Calls
  • Status Report Management
  • Script Management
  • Sound File Management
  • List Management

 

TUTORIALS & SCRIPTING SAMPLES

Tutorials 1 and 2 use C# in Visual Studio 2010. You may find additional source code examples and download code examples from the Phone Notify! developer’s wiki. The script samples show advance scripting features that are available with Phone Notify! API.

Build an appointment reminder using NotifyPhoneBasic and RecordSoundViaPhoneCall methods

Integrate conference calls using NotifyPhoneAdvanced, SetIncomingCallScript, and CancelConference methods

An advanced scripting example for automated phone reminders

Additional scripting examples for a political poll, school announcement, registration confirmation, survey, and recording sound files may be found on the CDYNE developer’s wiki.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

Phone Notify! Programming Methods

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

programming-methods3

With over 50 programming methods, you can build powerful applications with Phone Notify! that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. Phone Notify! allows programmers to send automated phone alerts, conduct phone surveys, perform conference calls, and integrate custom business applications into their existing system.

The following list shows Phone Notify! operations by category. You may view each method’s parameters, data type, and sample input and output data on the Phone Notify! developer’s wiki . A compiled list of operation notes may also be found in the Phone Notify! Specification PDF.

Send and Receive Phone Calls

Basic Methods for Single or Multiple Calls

NotifyPhoneBasic
This method will call any phone number in the US/Canada and read the TextToSay to that phone number.

NotifyPhoneBasicWithTryCount
Same as NotifyPhoneBasic with a number of times it will retry the call. The max is 3.

NotifyPhoneBasicWithTransfer
This method will call any phone number in the US/Canada and read the TextToSay to that phone number. It also allows you to transfer a call by pressing 0.

NotifyPhoneEnglishBasic
This method will call any phone number in the US/Canada and read the TextToSay to that phone number using the voice of Diane (VoiceID: 0). PhoneNumberToDial must be filled in (They can be in any format as long as there is 10 digits).

NotifyMultiplePhoneBasic
This method will call phone numbers with a default of 3,000 calls per minute (delimited by a semicolon) in the US/Canada and read the TextToSay to that phone number.

NotifyMultiplePhoneBasicWithCPM
This method includes a way to set the calls per minute (CPM) when calling phone numbers in the US/Canada, and will read the TextToSay to that phone number.

Advanced Methods for Single or Multiple Calls

NotifyPhoneAdvanced
Allows you to control notifies with a class. This method allows for the maximum combinations of using Phone Notify! API.

NotifyMultiplePhoneAdvanced
Allows you to control notifies with a class. This function allows multiple notifies to be sent at one time. This allows for the maximum combinations of using Phone Notify! API. We suggest using our list management features for batches over 100.

Additional Methods

CancelNotify
Cancels a single notify. This will not cancel completed calls or calls in progress. You will receive credit for any successfully cancelled notify that returns “true.”

getVoices
This method will list all the voices available for your notification. Use the VoiceID for the Notification Methods

GetIncomingCallScript
Allows you to get the call script for incoming calls for a particular number. You must have incoming phone numbers set by CDYNE Staff.

CancelConference
Cancels a conference by conference key.

Status Report Management

GetQueueIDStatus
Returns a status on a particular QueueID.

GetQueueIDStatusWithAdvancedInfo
Returns a status on a particular QueueID. This also includes variable information and more.

GetQueueIDStatusesByPhoneNumber
Returns the last 10 phone notifications for a particular phone number.

GetMultipleQueueIdStatus
This method returns information about the status of multiple notifies via QueueID (delimited by a semicolon). The QueueID returns a specific phone call ID.

GetResponseCodes
This method will list all of the response codes.

Script Management

ScriptDelete
Script Management – Delete a script.

ScriptList
Script Management – Lists the scripts belonging to a license key. Set IncludeGlobalScripts to true if you would like CDYNE global scripts to be included.

ScriptLoad
Script Management – Load a script’s text.

ScriptSave
Script Management – Save a script (Scriptname can only be 50 characters or less). Saving a script with an existing name will overwrite the old script.

SetIncomingCallScript
Allows you to update a Call Script for incoming calls. You must have incoming phone numbers set by CDYNE Staff.

Sound File Management

UploadSoundFile
Sound file upload. Our system accepts WAV (PCM, U-law, A-law, MS ADPCM) Files. To use the sound file in the notify put ~ around it and start it with a ^.Example “Hello ~^soundfile~, you are cool.”(This would TextToSay “Hello,” and “you are cool,” adding the sound file in the middle).

GetSoundFile
Sound file retrieval.

GetSoundFileInMP3
Sound file retrieval (returns an MP3 encoded in 32,64, or 128).

GetSoundFileInUlaw
Sound file retrieval (returns ULAW encoded file).

GetSoundFileLength
Gets a sound file length in seconds.

GetSoundFileURL
Sound file retrieval. Returns a URL to listen to a particular sound file in MP3.

GetTTSInMP3
Allows you to convert text into a MP3 encoded sound file. Returns an MP3 encoded in 32,64, or 128 (May require a additional License Key).

GetTTSInULAW
Allows you to convert text into a ULAW encoded sound file (May require an additional License Key).

RecordSoundViaPhoneCall
Request the system to call you to record a sound file. SoundfileIDs can only be lowercase and contain normal file characters. The CallerIDName will be the SoundFileID and the number will be 8000000000.

RemoveSoundFile
Sound file delete.

RenameSoundFile
Sound file rename.

ReturnSoundFileIDs
Get available sound files that you can add to your stream via a license key.

List Management

LM_AddListMember
List Management – Allows you to add contacts to a List. You will need the ListID. The only required fields are ListID, PhoneNumber, and LicenseKey. Returns a List Member ID.

LM_AddNewList
List Management – Allows you to add a list that can contain members (Contacts). You can also attach this list to be apart of a Parent List, otherwise leave ParentList ID = 0.

LM_AlterListID
List Management – Allows you alter a ListMember, use 0 if you do not want to have a ParentListID, and -1 if you do not wish to change the ParentListID.

LM_AlterListMember
List Management – Allows you alter a ListMember.

LM_DeleteList
List Management – Deletes a List and its sub-lists (The lists that have is as a ParentListID).

LM_DeleteListMember
List Management – Deletes a List’s Member (or contact).

LM_DialList
List Management – Dial a List by ListID. Returns a Batch ID for the list and begins dialing at the scheduled time. Scheduled times are in UTC.

LM_DialListAdvanced
List Management – Dial a list by ListID that allows you to set more advanced properties.

LM_GetListIDsByLicensekey
List Management – Obtains all list IDs from a specific License key.

LM_GetListMembersByListID
List Management – Gets all the phone numbers with their first and last names.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

Conference Calling with Phone Notify! API

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , , ,

conference-call

With over 50 programming methods, you can build powerful applications with Phone Notify! that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. One of the features included in Phone Notify! is the ability to create a conference, add a call to a conference, and cancel the conference. This tutorial will show the programming methods used along with sample call scripts.

This tutorial uses C# in Visual Studio 2010. You can find additional source code examples and download code examples from the Phone Notify! developer’s wiki.

Phone Notify! Operations Used

Step 1: Consuming Phone Notify! Web Service

  • Open a new or existing project in Visual Studio 2010
  • From the top tool bar, go to Project>Add Service Reference, which will open up the following screen:

  • Click on the Advanced button in the lower left-hand corner, which will open up another screen:

  • Click on the Add Web Reference button, which will open up a third screen:

  • Add the Phone Notify WSDL URL: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl to the URL box, and click on the green arrow. This will pull up the Phone Notify! Web Service Description as shown in the next screen:
  • Name the web reference. In this case, we named it WSDL. Then click the Add Reference button.

Step 2: Start Conference

The following example uses the NotifyPhoneAdvanced method to receive an incoming phone call, and the SetIncomingCallScript method to set the call script which will initiate a conference call. A dedicated phone number assigned to your account license key is required to receive phone calls.

The script in the code above uses advanced Notify commands that are available with Phone Notify! API. The following list includes notes on these commands:

~\statuschangepostURL(“User’s specified URL”)~
This posts information about the call to a URL you specify. Using this method is highly suggested if you have a server to postback to on the web. The posturl must be in lower case. In this instance, when an inbound call is placed a conference key is posted to the URL specified here.

~\ActOnDigitPress(false)~ 
Turns off Message Interruption for digit commands (i.e., 1 for repeat). This is useful for a message that, for example, says “enter your zip code” and it won’t jump around in the Dial Plan when the digits are pressed.

~\ClearDTMF()~
Provides a clean slate for Acting on DTMF Commands. This will clear the default of “press 1 to repeat.”

~\Label(MainMenu)~
Sets the label, “MainMenu,” which states in TTS “Thank you for calling CDYNE Corporation. Please choose a selection from one of the following options.”

~\AssignDTMF(1|Join)~
Assigns 1 on the dial pad to go to the label “Join.” In this script, the star (*) is subsequently assigned to the label “MainMenu” and the pound sign (#) is assigned to go to the label “EndCall.”

~\WaitForDTMF(5)~
This function will wait 5 seconds for a DTMF Command ( it accepts only one digit). Make sure that ActOnDigitPress(true) is set (It is true by default).

~\Goto(MainMenu)~
This will go to a label defined by the Label command. In this instance, if the recipient does not press a designated digit within 5 seconds, the Goto command instructs the script to go to the MainMenu.    

~\Label(Join)~
Sets the label, “Join,” which states in TTS “Please wait while you are connected to the conference call.”     

~\Conference()~
Provides a way to conference multiple Notifies together. The first Notify that uses the conference command will return a ConfKey variable (you must use StatusChangePostURL to get it). You can then start other Notifies with the same ConfKey to join the person to the same room using the ~\SetVar(ConfKey|the confkey guid)~ command.  

~\Label(Unavailable)~
 Sets the label, “Unavailable,” which states in TTS “We’re sorry no one is available at this time.”  

~\Label(EndCall)~
Sets the label, “EndCall,” which will end the call.                                                               

Step 3: Add a Caller to Conference

In the example below, an outbound call to an operator or representative is initiated to let them know that the caller in Step 2 is in queue. This is done with the NotifyPhoneAdvanced method. If the operator or representative accepts the call, both calls will be joined in a conference.

~\SetVar(ConfKey|”Conference Key”)~
The conference key is placed here. In most cases the servers handling the process will know to grab the conference key generated and posted to the URL during the phone call in Step 2.

Step 4: Cancel Conference

The CancelConference operation cancels the conference if the inbound call (from Step 2) is not accepted by the operator or representative in Step3. It will play the message, “We’re sorry no one is available at this time.” This is specified in Step 2 to play in the event the conference is cancelled.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.



Is a DID Required When Using CDYNE SMS Notify! API?

Posted by: CDYNE  /  Tags: , , , , , , , , , , ,

did-shared

One question we often get asked is, “Is a DID required to use your SMS Notify! API?” The short answer is no. You have the option to use a group of shared ten-digit U.S. phone numbers to send out text messages worldwide through our SMS gateway. Programmatically, when using the  SimpleSMSSend or AdvancedSMSSend methods, the API will automatically send text messages from the bank of ready phone numbers.

A second option is to order DIDs, which are assigned to your SMS Notify! license key. In this case, you would program with the AdvancedSMSSend method which contains a parameter named AssignedDID to input your assigned dedicated number. When using the AssignedDID parameter, the API will send text messages from the DID entered (as long as the DID is assigned to the account license key).

So should you use shared phone numbers or DIDs, and why? There are three key differences between to consider.

Receive Mobile Originated (MO) or Inbound Messages to Your Application

The main difference between the two options is the ability for your application to receive Mobile Originated (MO) messages, or inbound text messages (initiated by your end users). With a DID, your customers can initiate a text message to your application by sending the message to your assigned phone number. When using SMS Notify! shared  numbers, you cannot receive a MO message sent to the shared phone numbers. You can only send messages outbound from your application – but receiving responses to those messages is included via the MessageID (A unique identifier that matches the initial MessageID from your Outgoing SMS).

Determine Your Throughput Needs

The throughput when using CDYNE SMS Notify! shared phone numbers is 1,500 text messages per minute. With a single DID assigned to your account, the throughput is 10 messages per minute; but you have the ability to purchase additional DIDs in order to increase the throughput.

Can the Sender ID be Dynamic, or Should Messages come From the Same Phone Number?

When using the shared pool of numbers, the sender ID will be randomly generated based on the phone number available to send the text message. With an assigned DID, the sender ID remains the same number each time your application sends a message. If your business requires the stability of sending text messages from a constant number, then using a DID makes sense. If the sender ID is inconsequential, and you don’t need the ability to receive MO messages, using the shared phone numbers may make more sense. The advantage here is cost. DIDs cost $1/month/DID in addition to the $9.99 fee and 1 cent per transaction charge. Using shared numbers does not cost extra.

Summary Comparison

Feature DID (Dedicated Phone Numbers) Shared Phone Numbers
Sends text messages (MT) Yes Yes
Receives response messaging Yes Yes
Receives text messages (MO) Yes No
Sender ID is static Yes No
Throughput 10 messages per minute per DID Up to 1,500 messages per minute

 

For more information about CDYNE SMS Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE SMS Notify! API.

Developers find CDYNE SMS Notify! API integration details on the CDYNE developer’s wiki.

Building an Appointment Reminder with CDYNE Phone Notify! Web Service

Posted by: CDYNE  /  Tags: , , , , , , , , , , , ,

appt-reminder

Phone Notify! Web Service supports 50 operations to build customizable and scalable voice applications. It’s designed to enable any business application to send or receive up to 5,000 tier-1 quality phone calls per minute using text to speech, recorded files, or both. This article will take a look at 2 operations to build a basic voice application that will use text to speech and a recorded sound file to send out an appointment reminder.

This tutorial uses  C# in Visual Studio 2010. You can find additional source code examples and download code examples from the Phone Notify! developer’s wiki.

Phone Notify! Operations Used 

 Step 1: Consuming Phone Notify! Web Service 

  • Open a new or existing project in Visual Studio 2010
  • From the top tool bar, go to Project>Add Service Reference, which will open up the following screen:

  • Click on the Advanced button in the lower left-hand corner, which will open up another screen:

  • Click on the Add Web Reference button, which will open up a third screen:

  • Add the Phone Notify WSDL URL: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl to the URL box, and click on the green arrow. This will pull up the Phone Notify! Web Service Description as shown in the next screen:
  • Name the web reference. In this case, we named it WSDL. Then click the Add Reference button.

Step 2: Setting Up a Basic Notify

The example below shows the code used to send a Basic Notify using the NotifyPhoneBasic method.

A few notes about using the NotifyPhoneBasic method:

  • This method will call any phone number in the US/Canada and read the TextToSay to that phone number
  • PhoneNumberToDial and CallerID must be filled in (they can be in any format as long as there is 10 digits)

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a text to speech message stating, “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.” The strings written in red in the screenshot is made up of the following components:

  • Phone number to dial – “3215554757″
  • Script “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”
  • Caller ID - “7575449510″
  • Caller ID Name - “CDYNE Corporation.”
  • Voice ID - “4″
  • License Key – this is required to send or receive phone calls with Phone Notify! Web Service.

This notify uses voice ID 4, named Callie, and represents a US English female voice, age 30.You can invoke all voices available with Phone Notify! with the getVoices method. You may also listen to the voices at http://cepstral.com/demos/. Please note that the Cepstral website may contain voices not currently available with the Phone Notify! Web Service.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

            WSDL.NotifyReturn nr = pn.NotifyPhoneBasic(“3215554757″,

            “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”,

           ”17575449510″, “CDYNE Corporation”, “4″, “LicenseKey”);

Step 3: Request a Phone Call to Record a Sound File

One way to make automated phone reminders more personal is to use a recorded voice. Although text to speech can be very useful in some applications, it is a mechanical and impersonal sounding messaging tool for some customer interactions. In this step, we will use the RecordSoundViaPhoneCall method to call a designated phone number and record a sound file. The sound file recording states, “has an appointment with Dr. Smith on,” and leaves out the customer’s name, and the date and time of the appointment. These three values will remain as text to speech when we put the script together in Step 4.

A few notes about the RecordSoundViaPhoneCall method:

  • SoundfileIDs can only be lowercase and contain normal file characters
  • The CallerIDName will be the SoundFileID
  • The CallerID will be an 800 or 866 number

When this program is run with a license key, the phone number designated in the code (3215554757) will receive a phone call with instructions to record sound file “smith1.” Once recorded, the file will play back and the user has the option to accept or rerecord the message. We’ll access this file in the next step.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

            WSDL.RecordSoundViaPhoneCall(“3215554757″, “smith1″, “LicenseKey”);

Step 4: Putting Together the Script

In the final step, we’ll use the NotifyPhoneBasic method to combine the text to speech and recorded file, which we named smith1.

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a recorded message combined with text to speech variables. The variables include, “John Williams” and “Tuesday, May 13 at 3pm.”

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

            WSDL.NotifyReturn nr = WSDL.NotifyPhoneBasic(“3215554757″,

            “John Williams ~^smith1~ Tuesday, May 13 at 3pm.”,

            “17575449510″, “CDYNE Corporation”, “4″, ” LicenseKey”);

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

Part 5: CDYNE Postal Address Verification DPV Code Suggestions

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

pav-5

CDYNE Postal Address Verification API returns USPS mailing industry information that can be useful for interacting with address verification at point of entry. In the chart below, the first two columns outline the values returned when using the VerifyAddressAdvanced method.

For example, inputting the address “2125 smith ave, chesapeake, va” will return the following mailing industry values:

  • DpvConfirmationIndicator: D
  • DpvFootnote1: AA
  • DpvFootnote2: N1

 

Comparing D AA N1 to the chart below may prompt a suggested interaction of, “Verify secondary information, it is not present.” In other words, the suite number is missing. Depending on the data entry scenario, you can generate an error pop-up to ask for the secondary address information, or flag the address for future processing or validation.

DPV Return Code

 

Footnote

 

Suggested Interaction

 


N


AA


Verify the address
. The address validated on the CASS certified software engine but cannot be validated in the DPV process.


N


AA M1

 
Verify the Primary Number, it is not present. The address validated on the CASS certified software engine, but cannot be validated in the DPV process


N


AA M3


Verify the Primary Number
, It is present but not valid. The address validated on the CASS certified software engine, but cannot be validated in the DPV process.


N


AA P1


Verify the box number
, it is not present for this RR or HC address but needed to confirm in the DPV process.


N


AA P3


Verify the box number
, it is present for this PO Box, RR or HC address but cannot be confirmed in the DPV process.


Y


AA BB


No action needed
, the address validated to all components.


Y


AA RR


No action needed
, the address validated. It has been found in the CMRA table with PMB information present.


Y


AA R1


The address validated
. It has been found in the CMRA table without PMB information.


Y


AA F1


No action needed.


Y


AA G1


No action needed.


Y


AA U1


No action needed.


S


AA CC


Verify secondary information
, it is present but cannot be confirmed in the DPV process.


S


AA P3


Verify the box number
, it is present for this PO Box, RR or HC address but cannot be confirmed in the DPV process.


S


AA CC RR


Verify secondary information
, it is present but cannot be confirmed in the DPV process. It has been found in the CMRA table with PMB info present.


S


AA CC R1


Verify secondary information
, it is present but cannot be confirmed in the DPV process. It has been found in the CMRA table without PMB information and is not required for USPS delivery.


D


AA P1


Verify the box number
, it is not present for this RR or HC address but needed to confirm in the DPV process.


D


AA N1


Verify secondary information
, it is not present.


D


AA N1 RR


Verify secondary information
, it is not present. It has been found in the CMRA table with PMB information present.


D


AA N1 R1


Verify secondary information
, it has been found in the CMRA table without PMB information and is not required for USPS delivery.


Blank


A1 M1


Get correct address
, this address cannot be found in CASS certified software engine so it is not presented to the DPV process.


Blank


A1 M3


Get correct address
, this address cannot be found in CASS certified software engine so it is not presented to the DPV process.


Blank


A1


Get correct address
, this address cannot be found in CASS certified software engine so it is not presented to the DPV process.



You can read the rest of the blog series by accessing the links below:

Part 1: CDYNE Postal Address Verification API Overview

Part 2: CDYNE Postal Address Verification API Operations Overview

Part 3: CDYNE Postal Address Verification VerifyAddress Operation

Part 4: CDYNE Postal Address Verification VerifyAddressAdvanced Operation

 
 

For more information about CDYNE Postal Address Verification, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Postal Address Verification.

 

Part 4: CDYNE Postal Address Verification VerifyAddressAdvanced Operation

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , ,

pav-4

In addition to validating whether an address is deliverable, this programming operation returns a host of optional information at no extra charge including geolocation, legislative, census, and mailing industry information. These options can be turned on with a true value within the web service call (the default value is set to false). The advantage of the VerifyAddressAdvanced Operation is the ability to customize the data return according to your business needs.

The following examples break down the complete data returns available with the VerifyAddressAdvanced method. The first section shows the default information returned. You will find detailed information about parameter definitions in the Postal Address Verification Spec Sheet.


VerifyAddress Input


VerifyAddress Output


Firm: Cdyne

Primary Address Line: 2125 smith ave

Secondary Address Line: 200

City: chesapeake

State: va

Zip: 23320


Firm: CDYNE

Primary Address Line: 2125 Smith Ave Ste 200

Secondary Address Line: 200

City: Chesapeake

State: VA

Zip: 23320-2518

Country: USA

County: CHESAPEAKE CITY

County Number: 550

Finance Number: 511750

Intelligent Mail Barcode Key: ZTVQibvZk2Jrcsi387W33A==

Multiple Matches: (null)

PMB Designator:

PMB Number:

Post Directional:

Postnet Barcode: f233202518509f

Pre Directional:  

Preferred City Name: Chesapeake

Primary: 2125

Primary Delivery Line: 2125 Smith Ave Ste 200

Primary EO: O

Primary High: 2125

Primary Low: 2125

Return Code: 100

Secondary: 200

Secondary Abbreviation: STE

Secondary Delivery Line: 200

Secondary EO: E

Secondary High: 202

Secondary Low: 100

State Abbreviation: VA

Street Name: SMITH

City: Chesapeake

Suffix: AVE

Urbanization:

Zip Code: 23320-2518

Within the VerifyAddressAdvanced method is the option to set certain requests to a “True” value to obtain additional information. They include:

  • Return Case Sensitive – a value set to “True” will return proper case formatting instead of the USPS standardized all caps formatting.
  • Return Census Info – a value set to “True” will return census information including CMSA, Census Block Number, Census Tract Number, FIPS, MA, MSA, and PMSA.
  • Return City Abbreviation -
  • Return Geo Location – a value set to “True” will return area code, latitude/longitude, daylight savings status, and time zone.
  • Return Legislative Info – a value set to “True” will return congressional district number and state legislative lower and upper numbers.
  • Return Mailing Industry Info – a value set to “True” will return carrier route, delivery point, DPV, eLOT, LACS Link, and Suite Link values and return codes.
  • Return Residential Indicator – a value set to “True” will identify whether an address is classified as residential or business. A return value of “Y” means the address is residential, and “N” designates a commercial address.
  • Return Street Abbreviated -

 

The chart below shows the associated data returns when any of these requests is set to “True.” Otherwise, no data is returned.


Optional Data Returns When Set to True


Return Case Sensitive: True


City Name: Chesapeake

Preferred City Name: Chesapeake

Primary Delivery Line: 2125 Smith Ave Ste 200


Return Census Info: True


CMSA: 5720

Census Block Number: 4001

Census Tract Number: 0208.01

FIPS: 51550

MA: 572

MSA: 5720

PMSA:


Return City Abbreviation: True

 


Return Geolocation: True


Area Code: 757

Avg Latitude: 36.796768

Avg Longitude: -76.228590

From Latitude: 36.794937

From Longitude: -76.228590

Has Daylight Savings: True

Time Zone: EST

To Latitude: 36.798599

To Longitude: -76.228590


Return Legislative Info: True


Congressional District Number: 04

State Legislative Lower: 090

State Legislative Upper: 014


Return Mailing Industry Info: True


CS Key: X26324

Carrier Route: C006

Check Digit: 9

Default Flag: False

Delivery Point: 50

Dpv Confirmation Indicator: Y

Dpv Crma Indicator: N

Dpv Footnote 1: AA

Dpv Footnote 2: BB

Dpv Footnote 3:

Dpv No Stat Indicator: N

Dpv Vacant Indicator: N

ELOT Asc Desc: A

ELOT Sequence Number: 0122

Ews Flag: False

LACS Flag:

LACS Indicator:

LACS Return Code:

Record Type Code: H

SuiteLink Return Code: A


Return Residential Indicator: True


Residential Delivery Indicator: N


Return Street Abbreviated: True

 

 You can read the rest of the blog series by accessing the links below:

Part 1: CDYNE Postal Address Verification API Overview

Part 2: CDYNE Postal Address Verification API Operations Overview

Part 3: CDYNE Postal Address Verification VerifyAddress Operation

Part 5: CDYNE Postal Address Verification DPV Code Suggestions



For more information about CDYNE Postal Address Verification, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Postal Address Verification.

Part 3: CDYNE Postal Address Verification VerifyAddress Operation

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

pav-3-header

CDYNE Postal Address Verification VerifyAddress programming method is the barebones Web Service call for users who only need to validate whether or not an address is deliverable. The address deliverability status is returned through the DPV Return Code system, which indicates the parts of the address that are incorrect, and will return corrected information on file with the USPS. This article will take you through three address input and output examples to display some of the important features that the VerifyAddress operation offers.

Example 1: A Correct Address is Confirmed Deliverable

Let’s begin with a correct address and run it through the VerifyAddress Operation. The left hand column shows the input address and the license key. The right hand column displays the corrected address and return code that is sent back by CDYNE Postal Address Verification. There are several differences that immediately jump out between the input and output columns:

  • Lowercase letters were changed to all caps
  • The secondary address line input value of 200 was appended to the primary address line in the output as “STE 200″
  • The zip + 4 value of “23320-2518″ was appended
  • A code of “100″ was returned

 


VerifyAddress Input


VerifyAddress Output


Firm: Cdyne

Primary Address Line: 2125 smith ave

Secondary Address Line: 200

City: chesapeake

State: va

Zip: 23320


Firm: CDYNE

Primary Address Line: 2125 SMITH AVE STE 200

Secondary Address Line: 200

City: CHESAPEAKE

State: VA

Zip: 23320-2518


Additional Input


Additional Output


License Key: F01d55fd-5155-5455-5585-e84ab8de5555


Return Code: 100

Although the USPS does not require all capital letters the USPS prefers all caps or uppercase for ease of automatic scanning and application of bar codes. With the VerifyAddress method, address data is returned in all caps. You can use VerifyAddressAdvanced operation to return addresses in proper case.

The USPS preferred location of the secondary address unit designators (i.e. APT, STE, BLDG) is at the end of the delivery address line. In the example above, CDYNE Postal Address Verification correctly moved “200″ to the end of the primary address line, and appended the correct designator of “STE.”

The zip + 4 determines a more precise location than the five-digit zip code alone. The zip + 4 includes the five-digit zip code, a hyphen, and four-digits at the end (i.e. 23320-2518).

The return code of 100 means all parts of the address are confirmed as deliverable. DPV is a USPS validation process that confirms the existence of a specific address (down to the apartment or suite number) and whether or not it is a valid destination for a mailing or package.

CDYNE Postal Address Verification DPV Return Codes:

  • 10 – Input address is not found
  • 100 – Input address is DPV confirmed for all components
  • 101 – Input address is found, but not DPV confirmed
  • 102 – Input address primary number is DPV confirmed – Secondary number is present but not DPV confirmed
  • 103 – Input address primary number is DPV confirmed – Secondary number is missing
  • 200 – Canadian address on input. Verified on city level only

 

Example 2: Providing Minimal Input Field Information

The minimum address field requirements for CDYNE Postal Address verification to validate an address are one of two combinations:

  • Primary address line/city/state
  • Primary address line/zip code

In the example below, entering the primary address line, city, and state returns a standardized and corrected address, but the return code in this instance is 103. This means the input address primary number is DPV confirmed, and the secondary number is missing. In other words, there is supposed to be a suite or apartment number, but that information cannot be determined with the input data. This is an opportunity to interact with the data entry in real time, or flag the address in the database for further evaluation.


VerifyAddress Input


VerifyAddress Output


Firm:

Primary Address Line: 2125 smith ave

Secondary Address Line:

City: chesapeake

State: va

Zip:


Firm:

Primary Address Line: 2125 SMITH AVE

Secondary Address Line:

City: CHESAPEAKE

State: VA

Zip: 23320-2518


Additional Input


Additional Output


License Key: F01d55fd-5155-5455-5585-e84ab8de5555


Return Code: 103

In the second example, entering the primary address line and zip code also returns a standardized and corrected address with a return code of 103.


VerifyAddress Input


VerifyAddress Output


Firm:

Primary Address Line: 2125 smith ave

Secondary Address Line:

City:

State:

Zip: 23320


Firm:

Primary Address Line: 2125 SMITH AVE

Secondary Address Line:

City: CHESAPEAKE

State: VA

Zip: 23320-2518


Additional Input


Additional Output


License Key: F01d55fd-5155-5455-5585-e84ab8de5555


Return Code: 103

 

Example 3: Utilizing the Firm Name or Recipient Input Field

CDYNE Postal Address Verification utilizes the USPS SuiteLink database to provide improved business addressing information by appending known secondary (suite) information to business addresses. In the example below, CDYNE Postal Address Verification appended “STE 200″ to the original address because it matched the firm name, “CDYNE” to “STE 200″ in the USPS database. Notice that the input address does not contain a secondary or suite number, but the corrected address does.


VerifyAddress Input


VerifyAddress Output


Firm: CDYNE

Primary Address Line: 2125 smith ave

Secondary Address Line:

City: Chesapeake

State: VA

Zip:


Firm: CDYNE

Primary Address Line: 2125 SMITH AVE STE 200

Secondary Address Line:

City: CHESAPEAKE

State: VA

Zip: 23320-2518


Additional Input


Additional Output


License Key: F01d55fd-5155-5455-5585-e84ab8de5555


Return Code: 100

 

You can read the rest of the blog series by accessing the links below:

Part 1: CDYNE Postal Address Verification API Overview

Part 2: CDYNE Postal Address Verification API Operations Overview

Part 4: CDYNE Postal Address Verification VerifyAddressAdvanced Operation

Part 5: CDYNE Postal Address Verification DPV Code Suggestions

For more information about CDYNE Postal Address Verification, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Postal Address Verification.

Page 1 of 3 123