Как внести данные в Fullname element через API?

  • Profile Image
    Vitaly_4loud2
    Asked on February 16, 2021 at 12:59 PM

    Согласно документации http://api.jotform.com/docs/#post-form-id-question-id :

    curl -X POST -d "question[text]=Full Name of Passenger" -d "question[firstname]=Bob"  -d "question[lastname]=Smith" "https://api.jotform.com/form/хххххххххххх/question/280?apiKey=496985069859068568506850"

    1613498066_602c06d22608d_

    Запрос возвращает код 200 - все ок. Изменение заголовка (свойство text) - все ок.

    А вот внести значения в эти поля не получается. Перепробовал уже и варианты с числовым индексом вместо текста (то есть [1] и [3] для first name и last name, и просто произвольные подходящие по смыслу варианты значений.

    Понятно, конечно, вместо одного элемента можно поставить 4 ShortText и использовать defaultValue свойство - но это же не правильно!

  • Profile Image
    Alexander_G
    Answered on February 16, 2021 at 05:01 PM

    Здравствуйте, Виталий!


    Пожалуйста, разрешите нам немного времени для решения Вашего вопроса.

    Скоро вернусь к Вам :)


    С Уважением,

    Александр


  • Profile Image
    Vitaly_4loud2
    Answered on February 17, 2021 at 12:52 AM

    Жду с нетерпением, Александр!

    А то из-за такой финальной мелочи задерживается сдача всего модуля и проекта в целом. Так что жду :-)

    P.S. После этого проекта я, похоже, смогу претендовать на неплохой пост в вашей компании! У вас там платят достойно?! :-)))))

  • Profile Image
    Alexander_G
    Answered on February 17, 2021 at 06:02 AM

    Добрый день, Виталий!


    Если Вы хотите внести значения в поле Full Name, возможно, стоит попробовать это сделать через edit submission endpoint:

    http://api.jotform.com/docs/#post-submission-id



    Кроме того, нашел вариант изменения подсказки:

     "compoundHint": "Prefix,First Name,Middle Name,Last Name"

    Может быть, попробовать учесть регистр?


    С уважением, Александр


    P.S.

    Действительно, проект у Вас объемный! Вы уже точно знаете все тонкости нашей платформы не хуже нас :)))

  • Profile Image
    Vitaly_4loud2
    Answered on February 17, 2021 at 07:07 AM

    Александр, так этот endpoint срабатывает после submission - то есть я могу прочитать submissionId и открыть. А мне надо подставить значения изначально, потому что посетитель уже часть информации ввел в другом месте, и это совсем не юзер френдли заставлять вводить тоже самое повторно.

    Вот и вопрос, что именно подставить для question[что-то-такое] - что будет соответствовать prefix, firstName. middleName, lastName...

    При том, что через API другие свойства этого элемента меняются, я ведь показал пример с изменением текста заголовка вопроса.

    То есть проблема в одном из двух:

    1) правильные наименования свойств для частей имени (в short text это defaultValue, в DropDown element это opptions, а что тут??)

    2) "криво" созданный элемент, который не принимает на вход параметры, а только отдает при submission

    И в первом и во втором случае мяч на вашей стороне.

  • Profile Image
    Vitaly_4loud2
    Answered on February 17, 2021 at 08:14 AM

    1613567588_602d16648a822_

    Я посмотрел код формы под отладчиком, использованы наименования [first], [middle], [last] - но и подставив их, все равно данные в форму не внесены, хотя ответ - 200, все Ок.

    1613567673_602d16b9f0359_

  • Profile Image
    Alexander_G
    Answered on February 17, 2021 at 09:24 AM

    Виталий,


    К сожалению, я не смог реализовать данную функцию API,

    Я передал Ваш запрос нашим разработчикам.


    Однако, мы не можем предоставить точное время ответа или решения по Вашему вопросу.


    С уважением,

    Александр


  • Profile Image
    Vitaly_4loud2
    Answered on February 17, 2021 at 10:07 AM

    К большому моему сожалению, но если ваша линия поддержки отвечает очень оперативно, то сервис api@jotform.com не ответил мне НИ НА ОДНО письмо!

    Учитывая, что у меня в контактах на LinkedIn CEO Jotform Aytekin Tank, похоже, придется обращаться с вопросом про API-сервис к нему напрямую.

  • Profile Image
    Alexander_G
    Answered on February 17, 2021 at 10:19 AM

    Виталий,


    Извините пожалуйста за доставленные неудобства.

    Я указал на проблему скорости ответов нашей API команды, от лица Команды Поддержки также передал запрос разработчикам. Возможно, через наш запрос ответ будет чуть быстрее.


    К сожалению, мы все еще не имеем информации по времени обработки запросов.😢

    Приношу еще раз извинения от лица Команды Поддержки.


    С уважением,

    Александр

  • Profile Image
    Alexander_G
    Answered on February 17, 2021 at 01:29 PM

    Виталий, добрый вечер!


    Получил ответ от коллег.

    Они предлагают использовать:

    curl -X POST -d "submission[1]=answer of Question 1" -d "submission[2_first]=First Name" -d "submission[2_last]=Last Name" "https://api.jotform.com/form/{formID}/submissions?apiKey={apiKey}"

    https://api.jotform.com/docs/#post-form-id-submissions 


    2_first - 2 - это id поля, его можно найти в свойствах поля.

    1613586404_602d5fe4a9fb2_

    Тест от Коллеги - (API = 676919a2931af7202450aedebb8530d0)


    С уважением,

    Александр


  • Profile Image
    Vitaly_4loud2
    Answered on February 17, 2021 at 01:47 PM

    Спасибо за такую оперативность, Александр!

    1613587458_602d64022f150_

    1) Запрос не прошел, к сожалению

    2) Более важно, чем 1 - ведь это перезапись уже сделанного заполнения формы! А мне надо, чтобы посетитель, когда ему открываем форму, сразу видел внесенные данные в поля. То есть эта рекомендация не то..

    P.S. first_280, last_280 - это id полей реальных

    1613587658_602d64ca74d46_

  • Profile Image
    Alexander_G
    Answered on February 17, 2021 at 03:17 PM

    Благодарю за ответ!


    1) Запрос не прошел, к сожалению

    Я не супер большой эксперт в области применения API(😢), однако, попробуйте использовать 280_first и 280_last для полей first_280, last_280.


    2) Более важно, чем 1 - ведь это перезапись уже сделанного заполнения формы! А мне надо, чтобы посетитель, когда ему открываем форму, сразу видел внесенные данные в поля.

    По словам коллег, до этого Вы пытались использовать не совсем корректный endpoint #post-form-id-question-id - он используется только для работы со свойствами Single Question. 1613592578_602d7802431b3_


    Коллеги ссылаются на то, что для отправки данных в форму используется #post-form-id-submissions 

    1613592942_602d796e15338_



    С уважением,

    Александр




  • Profile Image
    Vitaly_4loud2
    Answered on February 18, 2021 at 12:01 AM

    Похоже, Александр, проблема в том, что это составной элемент (question в терминах вашего сервиса). Я вчера еще раз прошелся по всем его возможностям, у него просто в принципе нет, похоже, варианта предустановленных свойств.

    По словам коллег, до этого Вы пытались использовать не совсем корректный endpoint #post-form-id-question-id - он используется только для работы со свойствами Single Question.

    То есть даже вручную через конструктор нет возможности приписать какие-то предустановленные значения. Placeholder таковым не является, это только подсказка, куда и что надо внести.

    То есть, повторюсь, этот прием prepopulate через API срабатывал на свойство deultValue и на options - но в тех случаях эти же данные можно было внести и в админке вручную.

    Так что, похоже, резюмируем: данный элемент Full Name не подходит для предварительного (до появления submission) заполнения. Есть возможность переписать в submission его значения из API по рекомендациям Ваших коллег (#post-form-id-submissions ) - но заранее показать заполняющему уже подставленное значение возможности нет. Увы.. :)

    Спасибо за усилия и помощь, Александр!

  • Profile Image
    Alexander_G
    Answered on February 19, 2021 at 08:26 AM

    Здраствуйте, Виталий!

    Спасибо за Ваш ответ.


    Очень жаль, что не смотря на все усилия Команды Поддержки, нам не удалось Вам помочь в полном объеме. 😥


    Если у Вас возникнут дальнейшие вопрос - всегда рады содействовать Вам!


    Спасибо большое, что пользуетесь нашим сервисом.

    С уважением,

    Александр