API - Leads - Create or Update

To create a lead, see example below. To update an existing lead, put the Lead ID in the URL: /api2/leads/234567/?apiKey=XXXXXX  and use the below example. Any fields not sent will remain the same.


Request:

All the below are parameters are optional unless in bold. This is not a complete list.

POST /api2/leads/?apiKey=XXXXXX {
  customerid: XXXXXX    <--- First create a customer record to get this ID
  locationid: 0
  eventname: Birthday Party 

  eventstarttime: 1442003025   <--- UNIX timestamp
  eventendtime: 1442006025   <--- UNIX timestamp (use this or duration below)
 eventduration: 1.25   <--- Event duration in hours

 eventstartdate_text: 7/25/2015    <-- You can use these instead of the above if preferred
 eventstarttime_text: 2:00 pm
 eventenddate_text: 7/25/2015    <--- Send it as MM/DD/YYYY unless your account is set as DD/MM/YYYY
 eventendtime_text: 4:00 pm    <-- Again send with am/pm unless your account is set to use a different time format

  eventstreet: 123 Happy St.
  eventcity: Harperville
  eventstate: OH
  eventzip: 44444
  eventcountry: United States
  taxexempt: Yes / No
  taxrate: 7.25   <--- will auto-calculate if not sent
  salestax: 20.15  <-- will auto-calculate if not sent
  status: Hold
  deliverytype: Drop-Off
  surface: Grass
  rental_names: Bounce House-1-125:Dora Panel-1-0|Slip & Slide-1-250
  staffcost: 0
  distcharge: 0
  fee: 0
  adjust: 10.05   <--- $10.05 discount.
  coupon_code: FB Friend   <--- coupon code to be applied
  recalculate: 0
  notes: Has a rabid cat.
  additionalnotes1: test
  additionalnotes2: test2
  venuenotes: It's a park.
  venuename: Central Park
  venuecontact: John Zimm
  guests: 100
  referral: Google Adwords

}

Details:
rental_names above is parsed as follows: Item Name-Qty-Price:Option Name-Qty-Price|Next Item-Qty-Price
where dashes separate quantity and price, colons separates options of  that item, and bars separate additional items. If a sent name doesn't match, the system will create it like a Quick Add item.

recalculate can be set to 0 and you can specify the prices. If it is set to 1 it will override any sent prices.

- coupon_code when recalculate is 0, you must also send cpdiscount with amount of coupon discount, otherwise it will be auto-calculated based on the promotion. Coupon must be setup in Settings->Promotions.

- default values specified in Settings->Optional Fields will be used if nothing is sent for that field.

Response:

201 (Created), recordid containing new ID.

409 (Conflict) if resource already exists, recordid containing duplicate ID.

Is article helpful?