Funcionalidade API
O API do Volunteer Impact permite-lhe obter dados de perfil do Volunteer Impact para serem utilizados num programa ou aplicação externa.
Exemplo de Cliente API
Está disponível um exemplo de Cliente API (implementado em C#) em: https://github.com/BetterImpact/ApiClient.
Autenticação
O nosso API utiliza autenticação básica HTTP em detrimento de HTTPS.
Endpoints API: Listagem de Utilizadores
- Organização: https://api.betterimpact.com/v1/organization/users/
Parâmetros:
Nenhum.
Parâmetros de Pesquisa:
| Parâmetro | Descrição | Valores Válidos / Pré-definidos |
| | | |
| page_size | O número de resultados por página. | 1 to 250 Default: 100 |
| page_number | O número de página a obter. | 1 to * Default: 1 |
| include_ custom_fields | Incluir ou não campos personalizados nos resultados | “true” or “false” Default: “true” |
| include_ qualifications | Incluir ou não qualificações nos resultados | “true” or “false” Default: “true” |
| include_ memberships | Incluir ou não informação sobre os membros nos resultados. | “true” or “false” Default: “true” |
| include_ verified_volunteers_ background_check_ results | Incluir ou não informação de inquéritos realizados a Pessoas Voluntárias Verificadas nos resultados. | “true” or “false” Default: “true” |
| organization_ids | APENAS ENDPOINT DO COLETIVO. Lista separada por vírgulas de IDs da organização para a qual devem ser devolvidos resultados. Isto irá devolver todos os utilizadores que pertençam a qualquer uma das organizações aprovadas. | Comma separated list of valid organization IDs (integers) Default: All organizations in the enterprise. |
| modules | Uma lista separada por vírgulas dos membros do módulo que gostaria de devolver. | You may use the full, or short form for the module names: volunteer / vol client / cli member / mem donor / don administrator / admin Default: All modules. When left out, the modules will be inferred by any {module}_status parameters specified. |
| admin_status | Uma lista separada por vírgulas dos estatutos administrativos à qual gostaria de restringir os resultados. | active inactive Default: All statuses. |
| client_status | Uma lista separada por vírgulas dos estatutos de cliente à qual gostaria de restringir os resultados. | applicant inprocess / in_process accepted inactive archived Default: All statuses. |
| donor_status | Uma lista separada por vírgulas dos estatutos dos doadores à qual gostaria de restringir os resultados. | prospect active inactive archived Default: All statuses. |
| member_status | Uma lista separada por vírgulas dos estatutos dos membros à qual gostaria de restringir os resultados. | applicant inprocess / in_process accepted inactive archived Default: All statuses. |
| volunteer_status | Uma lista separada por vírgulas dos estatutos de pessoa voluntária Uma lista separada por vírgulas dos estatutos dos membros à qual gostaria de restringir os resultados. gostaria de se limitar. Pode utilizar “arquivados” para incluir todos os subtipos arquivados e “inativos” para incluir todos os subtipos inativos. | applicant inprocess accepted inactiveshortterm (or: inactive_short_term) inactivelongterm (or: inactive_long_term) archiveddidntstart (or: archived_didnt_start) archivedrejected (or: archived_rejected) archiveddismissed (or: archived_dismissed) archivedmoved (or: archived_moved) archivedquit (or: archived_quit) archiveddeceased (or: archived_deceased) archivedother (or: archived_other) Default: All statuses. |
| updated_since | Este parâmetro restringirá os resultados a perfis que tenham sido alterados desde a data especificada. | DateTimes are required to be in ISO 8601 format (using the format string: “yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss’.’fffffffK”). Please see this documentation for more information: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings#the-round-trip-o-o-format-specifier. Default: Empty. Will return all profiles regardless of their last update. |
Parâmetros de resposta:
| Propriedade | Tipo | Descrição |
| | | |
| Cabeçalho | Objeto. Ver abaixo as propriedades | Informação de cabeçalho relacionada com a paginação e o conjunto de resultados. |
| Utilizadores | Array de objetos do utilizador. Ver secção de utilizador único para descrições de propriedade. | Uma lista dos utilizadores que correspondem aos parâmetros da pesquisa. |
Propriedades do Cabeçalho:
| Propriedade | Tipo | Descrição |
| | | |
| first_item_on_page | integer | O índice/index baseado em 1 do primeiro item da página devolvida da recolha de utilizadores. |
| has_next_page | boolean | True se houverem mais páginas a serem devolvidas |
| has_previous_page | boolean | True se houverem páginas antes da recolha de utilizadores devolvida. |
| is_first_page | boolean | True se a recolha devolvida é a página 1. |
| is_last_page | boolean | True se a recolha devolvida é a última página |
| last_item_on_page | integer | O índice/index baseado em 1 do último item da página devolvida da recolha de utilizadores. |
| page_count | integer | O número de páginas da colecção de utilizadores. |
| page_number | integer | O número da página devolvida. |
| page_size | integer | O tamanho da página devolvida. |
| total_items_count | integer | O número total de utilizadores que correspondem aos parâmetros de consulta em todas as páginas. |
Endpoints API: Utilizador Único
Coletivo: https://api.betterimpact.com/v1/enterprise/users/{user_id}
Organização: https://api.betterimpact.com/v1/organization/users/{user_id}
Parâmetros:
| Parâmetro | Descrição |
| | |
| {user_id} | A identificação do utilizador que deseja recuperar |
Parâmetros de consulta:
Nenhum
Resposta:
Um único documento de utilizador, contendo os seus próprios campos, bem como documentos de membros, documentos de campos personalizados, e documentos de qualificações.
- As qualificações só serão incluídas se as suas credenciais de utilizador API derem acesso ao módulo de Pessoa Voluntária.
- Os campos personalizados só serão incluídos se as suas credenciais de utilizador API derem acesso a pelo menos um módulo especificado no campo personalizado (a intersecção entre os seus módulos e os do campo personalizado).
Propriedades do Utilizador:
| Propriedade | Tipo | Descrição / Notas |
| | | |
| user_id | integer | Identificação de utilizador única |
| first_name | string | Primeiro nome |
| last_name | string | Último nome |
| legal_first_name | string | Legal first name |
| middle_name | string | Nome do meio |
| title | string | Título (saudação) |
| suffix | string | Sufixo |
| address_line_1 | string | 1º Endereço de Morada |
| address_line_2 | string | 2º Endereço de Morada |
| city | string | Cidade |
| zip_code | string | Código de Postal / Apartado |
| state | string | Distrito / Localidade |
| country | string | País |
| email_address | string | Endereço de e-mail |
| secondary_email_address | string | Endereço de e-mail secundário |
| mobile_email_address | string | Endereço de e-mail móvel |
| home_phone | string | Número de telefone de casa |
| work_phone | string | Número de telefone do trabalho |
| work_phone_ext | string | Extensão do número de telefone de trabalho |
| cell_phone | string | Número de telemóvel |
| phone_preference | string | Preferência telefónica |
| twitter_username | string | Nome de utilizador no Twitter |
| linkedIn_profile_url | string | URL de perfil no LinkedIn |
| Instagram_username | string | Nome de utilizador Instagram |
| username | string | Nome de utilizador |
| birthday | string | Dia de anos em formato ISO 8601 UTC (pode ser nulo) |
| date_created | string | O perfil de data foi criado no formato ISO 8601 UTC |
| date_updated | string | O perfil de data foi actualizado pela última vez no formato ISO 8601 UTC |
| region | string | Nome local da região |
| region_code | string | Código linguístico para região |
| is_group | boolean | Será que este perfil representa um grupo |
| group_name | string | Nome do grupo |
| photo_url_scaled | string | URL de uma versão em escala reduzida da fotografia do utilizador |
| photo_url_original | string | URL da fotografia original do utilizador |
| timeclock_qr_code_url | string | URL da imagem do código QR do utilizador |
| memberships | array de objetos dos membros | Ver abaixo as propriedades |
| custom_fields | array de objetos de campos personalizados | Ver abaixo as propriedades |
| qualifications | array de objetos de qualificação | Ver abaixo as propriedades |
| background_check_results | array de objetos de inquéritos | Ver abaixo as propriedades |
Propriedades dos membros:
| Propriedade | Tipo | Descrição / Notas |
| | | |
| organization_member_id | integer | Identificador único do objecto de adesão |
| organization_id | integer | Identificação da Organização |
| organization_name | string | Nome da Organização |
| date_created | string | Data em que a adesão foi criada em formato ISO 8601 UTC |
| date_updated | string | Data de adesão foi atualizada em formato ISO 8601 UTC |
| is_administrator | boolean | Verdadeiro se o utilizador faz parte do módulo administrador nesta organização |
| administrator_status | string | Estado localizado do utilizador no módulo de administrador (pode ser nulo) |
| administrator_type | string | Tipo localizado (Ilimitado, Módulo, Limitado) de administrador (pode ser nulo) |
| is_client | boolean | Verdadeiro se o utilizador faz parte do módulo cliente nesta organização |
| client_status | string | Estado localizado do utilizador no módulo de cliente (pode ser nulo) |
| client_date_joined | string | Data de adesão como cliente no formato ISO 8601 UTC (pode ser nulo) |
| client_last_status_change | string | Data da última alteração ao estatuto de cliente no formato ISO 8601UTC (pode ser nulo) |
| donor_date_joined | string | Data de adesão como doador no formato ISO 8601 UTC (pode ser nulo) |
| donor_last_status_change | string | Data da última alteração do estatuto de doador no formato ISO 8601UTC (pode ser nulo) |
| member_date_joined | string | Data de adesão como membro no formato ISO 8601 UTC (pode ser nulo) |
| member_last_status_change | string | Data da última alteração ao estatuto de membro no formato ISO 8601UTC (pode ser nulo) |
| is_donor | boolean | Verdadeiro se o utilizador faz parte do módulo de doador nesta organização |
| donor_status | string | Estado localizado do utilizador no módulo de doador (pode ser nulo) |
| is_member | boolean | Verdadeiro se o utilizador faz parte do módulo de membros nesta organização |
| member_status | string | Estado localizado do utilizador no módulo de membro (pode ser nulo) |
| is_volunteer | boolean | Verdadeiro se o utilizador faz parte do módulo de pessoa voluntária nesta organização |
| volunteer_status | string | Estado localizado do utilizador no módulo de pessoa voluntária (pode ser nulo) |
| volunteer_inactive_status_reason | string | Motivo de estatuto inativo de Pessoa Voluntária (pode ser nulo) |
| volunteer_archived_status_reason | string | Motivo pelo qual o estatuto de pessoa voluntária está arquivado (pode ser nulo) |
| volunteer_last_status_change | string | Data da última alteração do estatuto de pessoa voluntária no formato ISO 8601UTC (pode ser inexistente) |
| volunteer_notes | string | Notas da Pessoa Voluntária (pode ser nulo) |
| volunteer_application_form | integer | Número do Formulário de Candidatura da Pessoa Voluntária (pode ser nulo) |
| volunteer_date_joined | string | Data de adesão como pessoa voluntária no formato ISO 8601 UTC (pode ser nulo) |
| volunteer_total_hours | number | Total de horas registadas para a pessoa voluntária |
Propriedades do Campo Personalizado:
| Propriedade | Tipo | Descrição / Notas |
| | | |
| type | string / constant | Tipo de campos personalizados: yes_no short_text number long_text file drop_down date check_box |
| value (varies based on type property) | yes_no (boolean) short_text (string) number (number) long_text (string) file (string) drop_down (string) date (string) | True = yes, False = No string Pode ser decimal string URL do recurso do ficheiro na API Texto de valor selecionado Data no formato ISO 8601 UTC |
| value_id | integer | Apenas para campos personalizados do tipo drop_down (a identificação do valor selecionado) |
| custom_field_id | integer | Identificação do Campo Personalizado |
| custom_field_name | string | Nome do Campo Personalizado |
| custom_field_category_id | integer | Identificação da Categoria do Campo Personalizado (pode ser nulo) |
| custom_field_category_name | string | Nome da Categoria do Campo Personalizado |
Propriedades da Qualificação
| Propriedade | Tipo | Descrição / Notas |
| | | |
| qualification_id | integer | Identificação da Qualificação |
| qualification_name | string | Nome da Qualificação |
| qualification_expires | boolean | True se a qualificação é uma qualificação a expirar |
| value | string | Texto do nível de qualificação selecionado |
| value_id | integer | Identificação do nível de qualificação selecionado |
| expiry_date | string | Data de validade no formato ISO 8601 UTC (pode ser nula) |
Propriedades do Inquérito:
| Propriedade | Tipo | Descrição / Notas |
| | | |
| result_type_id | integer | Identificação do tipo de resultado |
| result_type_name | string | Nome do tipo de resultado |
| result_type_expires | boolean | True se o tipo de resultado for um tipo de resultado expirado |
| state | string | Verificação do estado atual dos inquéritos a esta pessoa |
| needs_review_reason | string | String containing the reason that this person needs review (blank if state is not needs review) |
| effective_date | date | Data em que este inquérito está efetivamente em vigor |
| expiry_date | date | Data em que este inquérito deixa de estar em vigor (nulo caso não expire) |
Ficheiros do Campo Personalizado
Coletivo: https://api.betterimpact.com/v1/enterprise/users/{user_id}/custom_fields/{user_custom_field_id}/file
Organização: https://api.betterimpact.com/v1/organization/users/{user_id}/custom_fields/{user_custom_field_id}/file
- Estes URLs são especificados como o valor do campo personalizado quando os campos personalizados são recuperados como parte de um único, ou vários utilizadores.
Parâmetros:
| Parâmetro | Descrição |
| | |
| {user_id} | A identificação do utilizador ao qual pertence o ficheiro do campo personalizado |
| {user_custom_field_id} | A identificação do valor do campo personalizado do utilizador |
Parâmetros da Consulta:
Nenhum.
Resposta:
O ficheiro que foi solicitado como um fluxo de bytes.