Remote Control feature - add participants to the central participant table?

3 years 4 months ago #101801 by rossokr
Right now there is the ability to add records to the token table via a remote method called add_participants. Is there any discussion of allowing this method to possibly insert an actual record into the central participant table? It seems like that would be the natural result of that method. So maybe the method names would be:
add_participants: adds participants to the database
add_tokens: adds tokens to a particular survey

Please let me know if this makes sense or is not feasible

Please Log in to join the conversation.

2 years 7 months ago #111265 by jj8931
Is there any update on this. I am creating an automated process to send a survey on completion of projects triggered from a event in our ERP system.

I am able to add_participents but the emails are not being sent because the user is not in the central participant list.

Please Log in to join the conversation.

2 years 7 months ago #111275 by DenisChenu

You can propose a patch for LimeSurvey core in our github .

And for feature request :

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

2 years 7 months ago - 2 years 7 months ago #111283 by farfadet
Hi there,

I'm also working on a Java application to use the Json-RPC...

To jj8931 B) : You cannot send you invitation NOT because your participant is not in your central participant list BUT BECAUSE you're lacking the "emailstatus":"OK" in your add_participant participantData...

Also if you want a per participant personalized Survey access token think:
- in your "params" to set "createTokenKey":"0" (false or "false" instead of "0" is not recognized :(!) to avoid creation of an automatic token and
- in your "participantData" to add the personalized "token":"YOURPERSONALTOKEN" ;)

Here one of my demands that works:

EntityCorps : {"method":"add_participants","params":{"sessionkey":"YOURSESSIONKEY","surveyID":"YOURSURVEYID","participantData":[{"lastname":"testNomClient","email":"This email address is being protected from spambots. You need JavaScript enabled to view it.","emailstatus":"OK","token":"YOURPERSONALTOKEN"}],"createTokenKey":"0"},"id":1}

Answer : {"id":1,"result":[{"sent":"N","remindersent":"N","remindercount":0,"completed":"N","usesleft":1,"lastname":"testNomClient","email":"","emailstatus":"OK","token":"testNomClient1testId","tid":"26","participant_id":null,"firstname":null,"language":null,"blacklisted":null,"validfrom":null,"validuntil":null,"mpid":null,"attribute_1":null}],"error":null}

So I got a "ready to send email" participant but with no "language" in the participant list :( .
I tried to add the absent "language":"Français" ... which ends because of the "ç" with an {"id":null,"result":null,"error":"unable to decode malformed json"}. Probably I must set somewhere an UTF-8 encoding but where ?

Also, I never succeeded in adding anything in the language field of the participant list even trying "language":"Francais", "language":"Anglais", "language":"English" or "language":"english" :-(

If anybody got an idea, I take...

The demand : {"method":"invite_participants","params":{"sSessionKey":"YOURSESSIONKEY","iSurveyID":"YOURSURVEYID"},"id":1}

results in answer : {"id":1,"result":{"26":{"name":" testNomClient","email":"","status":"OK"},"status":"0 left to send"},"error":null}

and email sending succeeds even with the empty language field...

Hope this helps.
Last Edit: 2 years 7 months ago by farfadet.
The following user(s) said Thank You: DenisChenu, jj8931

Please Log in to join the conversation.

2 years 7 months ago #111287 by jj8931
I have confirmed this is the resolution. I have been looking over all of the API guides and don't find this parameter identified anywhere. Did I just miss it? Should we request this to be added to the API documentation?

Please Log in to join the conversation.