Update an existing lead in Noojee Contact.
...
As the UpdateLeadFast end point allows you to set a disposition, a lead may in fact never by dialed as you can close a lead out using the appropriate disposition.
The endpoint UpdateLeadFast replaces the original UpdateLead method. The new endpoint takes the same arguments but has enhanced error codes and as the name implies is faster than the original UpdateLead endpoint.
Performance considerations
...
If you exceed the above rates, the system will queue additional requests. This may result in your call to the endpoint timing out (currently timeout is 1 minute). If your call to the InsertLead endpoint times out, then the lead will not be updated and you will need to retry the update.
...
Parameter | Description | ||
fTemplateId | Campaign Template id of the Template that the lead will be associated with. See 16.0 Get Campaign Template List to obtain Template Id's | ||
fCampaignId | Campaign id of the Campaign that the lead will be associated with. See 17.0 Get Campaign List to obtain a list of campaign Id's. | ||
fAllocationId | Allocation id of the Campaign that the lead will be associated with. See 18.0 Get Allocation List to obtain a list of allocations. | njExternalLeadId | Used to identify the lead to be updated . |
apiKey | api key provided by Noojee Support |
...
Parameter | Description | Required |
njExternalLeadId | Used to identify the lead to be updated. | Yes |
njDisposition | Disposition code. Any Dispositon Actions associated with the new Disposition (via the value in njDispositon) WILL be triggered . If you don't want to update the existing disposition you may pass the value '<No Change>' instead of a disposition value. Note: THIS WILL FAIL if the lead has not been dialed (and therefore does not have a disposition). In this case you will get the error: DISPOSTION_ISNT_SET_AND_NOCHANGE_SPECIFIED. You must call updateLeadFast again specifying an actual disposition. | IFYes |
njCallBackDate | The date on which the lead is to be called. If not specified the lead is treated as a 'new' lead and will be called on a first come first served basis. Format is "yyyy/MM/dd HH:mm" | No |
njPriority | A priority between 0 and 100. The lower the number the higher the priority. Higher priority leads will be called before lower priority calls. Default priority is 10. | No |
Phone Number | Whilst not a system field, you MUST specify at least on of the phone fields. However if you don't want to change the existing field value you can simply pass the value '<No Change>' as the value for any phone field. Note: the angle brackets '<>' are required. | Yes |
Sample queryCurl Example:
Code Block | ||
---|---|---|
| ||
curl -v -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"Name":"Jane Smith","StreetAddress":"Suite 8/10 Hoddle St", "City": "Abbotsford" , "State":"Vic", "PostCode":"3064", "FirstPhone":"0383218199", "SecondPhone":"<No Change>" , "njDisposition":"Sale"}' 'https://127.0.0.1:8080/servicemanager/rest/CampaignAPI/updateLeadFast?fTemplateId=41&fCampaignId=41 &fAllocationId=38&njExternalLeadId=9856& apiKey=f863246a-973e-11e6-8784-08002718f5b5' |
...
Code | Message | HTTP status | Description |
---|---|---|---|
0 | OK | 200 | The lead was successfully inserted or updated. |
101 | COULDNT_FIND_THE_LEAD | 400 | For an update, the njExternalLeadId didn't match a lead |
102 | NO_PHONE_FIELDS | 400 | For an import the lead doesn't have and any phone numbers. |
103 | EXCEPTION | 500 | |
104 | DNC | 400 | The lead's phone numbers are on the DNC list |
105 | DUPLICATE | 400 | There is already a lead with this phone number |
106 | INVALID_DISPOSTION | 400 | When updating, the supplied disposition doesn't exist. |
107 | DISPOSTION_ISNT_SET_AND_NOCHANGE_SPECIFIED | 400 | When updating a a lead the disposition can be omitted, and <NO CHANGE> specified. But this is an error condition if the lead doesn't already have a disposition. |
108 | IMPORT_BUT_NOCHANGE_SPECIFIED | 400 | Tried to insert a lead but a field contained the value '<NO CHANGE>' which is only valid for updates. |
109 | TIMEOUT_TOO_MANY_CONCURRENT_REQUESTS | 400 | There are too many concurrent insert/update API requests. Wait a bit and then retry the insert/update. Currently a call will timeout if it is delayed by more than 1 minute. |
110 | LEAD_NOT_UPDATED_DUE_TO_CONFLICT | 400 | The lead update caused a conflict with another update and failed. This usually means that a user was editing the lead whilst you were trying to update it via the api. This type of issues should be rare as in most cases the user will see the error not the api. When the user sees the error they will be given the opportunity to merge the two leads via a specialised merge lead screen. If the api recieves this error then you will need to manually intervene to ensure that data isn't over-written which a simply retry is likely to do. |
111 | INVALID_TIMEZONE_SPECIFIED | 400 | The lead contained an unknown Contact Hours (timezone). |
112 | DUPLICATE_EXTERNAL_ID | 400 | The value passed via njExternalLeadId already exists in the Campaign. |
113 | EDIT_BUT_NO_EXTERNAL_ID_SUPPLIED | 400 | An external lead id was not passed in (njExternalLeadId) |
114 | INVALID_CALLBACK_DATE_FORMAT | 400 | The supplied callback date is in an invalid format. |
115 | ALLOCATIN_ID_REQUIRED | 400 | An valid Allocation ID was not passed in. |
116 | TEMPLATE_ID_REQUIRED | 400 | A valid Campaign Template ID was not passed in. |
117 | CAMPAIGN_ID_REQUIRED | 400 | A valid Campaign ID was not passed in. |