EU version of API don't respond as prescribed by documentation

  • RsConsultants
    Asked on January 12, 2016 at 8:01 AM

    Hello,

     

    We've just started using Jotform and were partly drawn to the service because of the well documented, well formed API. Due to data protection issues, we're using the EU version of the API.

     

    We're specifically investigating the /form/{id}/submissions endpoint, detailed in your documentation here: http://api.jotform.com/docs/#form-id-submissions

     

    Unfortunately, the response we receive while testing this is of a very different, less usable structure to the response detailed in the documentation. This structure doesn't distinguish text boxes or form labels from input boxes, making it almost impossible to use the submitted data without manual intervention. This cripples the endpoint dramatically.

     

    Could you let me know if there's a way of coercing the EU API to provide the expected data structure please?

     

    Any help or information you can provide would be much appreciated! So far we're really enjoying the service otherwise, and are currently pushing to get funding to use Jotform as a supported service in our organisation.

     

    Thanks,
    Andrew

  • KadeJM
    Replied on January 12, 2016 at 12:22 PM

    If I understand you correctly it seems that you are having issues with getting our api to respond.

    The documentation you are viewing for https://api.jotform.com is actually moreover based on our standard US-based API because it was released first up until the new eu laws kicked the doors down for everything around October 2015.

    Since you are a EU User on our EU Server and Database I would recommend that you use https://eu-api.jotform.com which is our EU API and that should respond a lot better for you.

    So for example for your submissions it would be:

    https://eu-api.jotform.com/form/yourformid/submissions?apiKey=yourapikey 

     

    Unless you meant you are using this already possibly?

    As I noticed you said "we're using the EU version of the API". If so then would you mind showing us what you have currently that isn't working so that we can help figure out what happened.

  • RsConsultants
    Replied on January 12, 2016 at 12:37 PM

    Hi, thanks for the quick response!

     

    We are using the EU endpoints, but I don't think we realised the specification for the API differed other than the location where it was run, so we were following the documentation on api.jotform.com. If this is the case, is there a set of documentation for the EU API?

     

    The difference in data structure we're getting is relatively large.

     

    To use the sample response from the GET /form/{id}/submissions endpoint documentation:

    {

        "responseCode": 200,

        "message": "success",

        "content": [{

            "id": "237955080346633702",

            "form_id": "31751954731962",

            "ip": "123.123.123.123",

            "created_at": "2013-06-25 03:38:00",

            "updated_at": "2013-06-27 04:58:00",

            "status": "ACTIVE",

            "new": "1",

            "answers": {

                "3": {

                    "text": "Name",

                    "type":"control_fullname",

                    "answer": {

                        "first": "Bart",

                        "last": "Simpson"

                    },

                    "prettyFormat": "Bart Simpson"

                },

                "4": {

                    "text": "Your Message",

                    "type": "control_textarea",

                    "answer":"My father is choking me. Please help."

                }

        }],

        "limit-left": 9991

     

    }

     

    We are instead getting something similar to:

     

    {

      "responseCode": 200,

      "resultSet": {

        "offset": 0,

        "limit": 100,

        "count": 1

      },

      "message": "success",

      "content": [

        {

          "id": "237955080346633702",

            "form_id": "31751954731962",

            "ip": "123.123.123.123",

          "created_at": "2012-01-31 23:59:59",

          "status": 1,

          "new": 1,

          "flag": 1,

          "updated_at": "2012-01-31 23:59:59",

          "fields": {

            "Submit this Form": "Sample button",

            "Title": "Sample dropdown",

            "Full Name": "Sample fullname",

            "Preferred Name": "Sample textbox",

            "Start Date": "Sample datetime",

            "<p>NB: All residents will be required to comelete a form on arrival.</p>": "Sample text",

          }

        }

      ],

      "limit-left": 9973,

      "duration": "25ms"

     

    }

     

    I've cut out some of the fields for privacy and response length, but you can see that we don't the "answers" property we instead get the "fields" property which contains every single element in the form without any distinguishing features to tell inputs apart from label text.

     

    Let me know if there's anything further I can provide that would help!

     

    Thanks,

    Andrew

  • KadeJM
    Replied on January 12, 2016 at 2:23 PM

    Nope you're on the right path. The documentation is similar but the only difference is that instead of pointing to api.jotform.com it should be set to point at eu-api.jotform.com. 

    Please allow us a bit of time to look this over a bit and check it and if we find anything wrong or have any questions and updates about it we'll respond to you again as soon as we can.