Topic: CSV Works from interface, not from curl upload

I am using a CSV to put data into a table so I can then create a campaign via API to call based on that data. I have my table created and it has no rows.

If I upload my CSV files from within the plum fuse database page, it properly uploads the data and automatically creates columns based on the header row of the CSV.

If I upload the exact same CSV using curl command line, it errors and tells me it cannot import the file b/c "Your CSV must have a header row with valid column names."

Here's the command line and the result:
curl -u myuser:mypwd -F tablekey=myuser:OT2Outbound -F mode=replace -F csv=@test.csv http://quickfuseapps.com/api/1/sdb/upload/csv

{"error":"Sdb_Csv_Controller_Json_Exception","type":"BadHeader","message":"Your CSV must have a header row with valid column names"}

Here is the CSV file I'm testing with (it's only the two lines between the rows of *):
******************
PhoneNumber, WorkOrder
3309981111, C4930
******************

How can I get it to create the data, with the columns specified by uploading via curl, which is what my app will do?

Second....once I upload this data to my table, I can then create a campaign via the API to call based on that data, correct? I can do both parts via the API as long as my outbound app is already in existence, right?

Last edited by rosenberg@○●○●● (2017-04-24 14:30:05)

Re: CSV Works from interface, not from curl upload

You should reformat your CSV to remove the extra spaces, like this:

PhoneNumber,WorkOrder
3309981111,C4930

After uploading, you can create a campaign via API, for more details, please take a look at: http://quickfuseapps.com/docs/api/outbound_queue