API
Conteúdo
Informações Gerais
- Domínio da API: https://api.surveyninja.io/service
- Formato de Retorno de Dados: JSON
- Autorização: oauth2, todas as solicitações devem incluir um cabeçalho de Autorização com a chave de acesso
- Para acessar a API, é necessário: Client ID e Client Secret. Emitido mediante solicitação no suporte ao cliente no plano "Premium"
- Fornecer: um redirect_uri funcional ao suporte ao cliente
Autorização
https://api.surveyninja.io/oauth/authorize get
Parâmetros da Solicitação
{
"client_id": "{CLIENT_ID}",
"state": "1650379667.97685997745",
"redirect_uri": "",
"response_type": "code",
}
"client_id": "{CLIENT_ID}",
"state": "1650379667.97685997745",
"redirect_uri": "",
"response_type": "code",
}
Se a solicitação for bem-sucedida, você será redirecionado para o redirect_uri especificado com os parâmetros state, code.
Para aumentar a segurança, o estado deve ser comparado com o valor armazenado na sessão do usuário para garantir a autenticação.
Use o código recebido na solicitação para obter um token.
https://api.surveyninja.io/oauth/token post
Parâmetros da Solicitação
{
"code": "{CODE}",
"client_id": "{CLIENT_ID}",
"client_secret": "{CLIENT_SECRET}",
"grant_type": "authorization_code",
"redirect_uri": "{REDIRECT_URI}"
}
"code": "{CODE}",
"client_id": "{CLIENT_ID}",
"client_secret": "{CLIENT_SECRET}",
"grant_type": "authorization_code",
"redirect_uri": "{REDIRECT_URI}"
}
Resultado da Resposta
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "",
"refresh_token": ""
}
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "",
"refresh_token": ""
}
Armazene o access_token recebido e use-o no cabeçalho de Autorização para solicitações subsequentes.
Obter Lista de Pesquisas
https://api.surveyninja.io/api/service/quiz get
Resultado da Resposta
{
"id": "ID pesquisa",
"name": "nome pesquisa",
"url_shared": "url pesquisa",
"is_published": true,
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Minhas pesquisas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
"id": "ID pesquisa",
"name": "nome pesquisa",
"url_shared": "url pesquisa",
"is_published": true,
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Minhas pesquisas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
Obter Dados de uma Pesquisa Específica
https://api.surveyninja.io/api/service/quiz/{id} get
Resultado da Resposta
{
"id": "ID pesquisa",
"answer_count": "número de respostas",
"name": "nome pesquisa",
"url_shared": "url pesquisa",
"widgets": "pergunta",
"hidden_options": "opções ocultas :)",
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Minhas pesquisas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
"id": "ID pesquisa",
"answer_count": "número de respostas",
"name": "nome pesquisa",
"url_shared": "url pesquisa",
"widgets": "pergunta",
"hidden_options": "opções ocultas :)",
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Minhas pesquisas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
Obter Lista de Respostas para uma Pesquisa Específica
https://api.surveyninja.io/api/service/quiz/{id}/answers get
Parâmetros da Solicitação
limit - tipo: inteiro; padrão: 20;
offset - tipo: inteiro; padrão: 20;
date - tipo: formato de data: Y-m-d;
offset - tipo: inteiro; padrão: 20;
date - tipo: formato de data: Y-m-d;
Resultado da Resposta
[
{
"id": 4813,
"visit_id": 46139,
"date": "2024-08-24T12:51:33.466162",
"date_start": "2024-08-24T12:51:33.466162",
"date_end": "2024-08-24T12:51:28.275591",
"is_complete": true,
"extra_fields": null,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "sim ou não?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sim"
}
],
"max_val": null,
"hidden_options": []
},
{
"type": "slider",
"rowId": "87a748c3-43e5-4ecc-bba2-413deb908864",
"title": "deslizante",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "file",
"rowId": "0753c3d8-3898-458c-9de1-32f7a6efc89b",
"title": "mensagem",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "userInfo",
"title": null,
"result": {
"ip": "199.99.99.9",
"browser": "Chrome",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84Safari/537.36",
"password_number": null
}
}
],
"over_upload_limit": false
},
{
"id": 4812,
"visit_id": 46137,
"date": "2024-08-24T16:43:20.07436",
"date_start": "2024-08-24T16:43:20.07436",
"date_end": "2024-08-24T16:43:15.686992",
"extra_fields": null,
"is_complete": false,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "sim ou não?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sim"
}
],
"max_val": null,
"hidden_options": []
},
{
"type": "slider",
"rowId": "87a748c3-43e5-4ecc-bba2-413deb908864",
"title": "deslizante",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "file",
"rowId": "0753c3d8-3898-458c-9de1-32f7a6efc89b",
"title": "mensagem",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "userInfo",
"title": null,
"result": {
"ip": "199.99.99.9",
"browser": "Chrome",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102Safari/537.36",
"password_number": null
}
}
],
"over_upload_limit": false
}
]
{
"id": 4813,
"visit_id": 46139,
"date": "2024-08-24T12:51:33.466162",
"date_start": "2024-08-24T12:51:33.466162",
"date_end": "2024-08-24T12:51:28.275591",
"is_complete": true,
"extra_fields": null,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "sim ou não?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sim"
}
],
"max_val": null,
"hidden_options": []
},
{
"type": "slider",
"rowId": "87a748c3-43e5-4ecc-bba2-413deb908864",
"title": "deslizante",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "file",
"rowId": "0753c3d8-3898-458c-9de1-32f7a6efc89b",
"title": "mensagem",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "userInfo",
"title": null,
"result": {
"ip": "199.99.99.9",
"browser": "Chrome",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84Safari/537.36",
"password_number": null
}
}
],
"over_upload_limit": false
},
{
"id": 4812,
"visit_id": 46137,
"date": "2024-08-24T16:43:20.07436",
"date_start": "2024-08-24T16:43:20.07436",
"date_end": "2024-08-24T16:43:15.686992",
"extra_fields": null,
"is_complete": false,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "sim ou não?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sim"
}
],
"max_val": null,
"hidden_options": []
},
{
"type": "slider",
"rowId": "87a748c3-43e5-4ecc-bba2-413deb908864",
"title": "deslizante",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "file",
"rowId": "0753c3d8-3898-458c-9de1-32f7a6efc89b",
"title": "mensagem",
"result": null,
"max_val": null,
"hidden_options": []
},
{
"type": "userInfo",
"title": null,
"result": {
"ip": "199.99.99.9",
"browser": "Chrome",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102Safari/537.36",
"password_number": null
}
}
],
"over_upload_limit": false
}
]
Variáveis Ocultas
Recuperar uma Variável Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options get
Enviar uma Variável Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/create post
Parâmetros da Solicitação
{
"name": "productType",
"value": "clientShop"
}
"name": "productType",
"value": "clientShop"
}
Atualizar uma Variável Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/update/{id} post
Parâmetros da Solicitação
{
"name": "productType",
"value": "clientShop"
}
"name": "productType",
"value": "clientShop"
}
Excluir uma Variável Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/delete/{id} post
Parâmetros das Variáveis Ocultas nas Perguntas
Recuperar uma Variável Oculta em uma Pergunta
https://api.surveyninja.io/api/service/quiz/{id}/widgets/hidden/options get
Enviar uma Variável Oculta em uma Pergunta
https://api.surveyninja.io/api/service/quiz/{id}/widgets/hidden/options/create post
Parâmetros da Solicitação:
{
"name": "productType",
"value": "clientShop",
"widget_uuid": "c63b9a88-2f1b-4735-a7ab-0b5fd84c90c2"
}
"name": "productType",
"value": "clientShop",
"widget_uuid": "c63b9a88-2f1b-4735-a7ab-0b5fd84c90c2"
}
Atualizar uma Variável Oculta em uma Pergunta
https://api.surveyninja.io/api/service/quiz/{id}/widgets/hidden/options/update/{opt_id} post
Parâmetros da Solicitação:
{
"name": "productType",
"value": "clientShop"
}
"name": "productType",
"value": "clientShop"
}
Excluir uma Variável Oculta em uma Pergunta
https://api.surveyninja.io/api/service/quiz/{id}/widgets/hidden/delete/{opt_id} post
Agradecemos sugestões para melhorias na API, entre em contato conosco.