Cadastro e informações de usuários

POST /accounts/api/create/

  • Cria um novo usuário
  • Autenticação utilizando token e secret da aplicação.
  • Os campos first_name, last_name, cpf e inhibit_activation_message são opcionais.
  • Os campos password e password2 são obrigatórios, mesmo que o parâmetro must_change_password seja utilizado.
Parâmetro Descrição Default Exemplo
email email do usuário   usuario@myfreecomm.com.br
first_name primeiro nome do usuário   Nome
last_name sobrenome do usuário   do Usuário
password senha do usuário (entre 6 e 50 caracteres)   rW5oHxYB
password2 confirmação da senha do usuário   rW5oHxYB
must_change_password Usuário deve atribuir senha na ativação false true
inhibit_activation_message Inibir envio do email de ativação false true
cpf CPF do usuário   157.027.254-92
send_myfreecomm_news “Quero receber novidades e promoções do Passaporte Web”   true
send_partner_news “Quero receber novidades e promoções de parceiros”   true
tos “Li e estou de acordo com os Termos de Serviço” false true
Código de retorno Descrição
201 Created Operação completada com sucesso
400 Bad Request Um ou mais parâmetros fornecidos possui valor inválido, ver corpo da resposta
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Credenciais informadas são inválidas para este recurso (ex: api_token do usuário). Aplicação não autorizada para esta operação.
409 Conflict Este email já está cadastrado
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

POST https://app.passaporteweb.com.br/accounts/api/create/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==

{
    "email": "vitor.mazzi@myfreecomm.com.br",
    "first_name": "Vitor",
    "last_name": "Mazzi",
    "password": "***************",
    "password2": "***************",
    "must_change_password": false,
    "inhibit_activation_message": false,
    "send_myfreecomm_news": false,
    "send_partner_news": false,
    "tos": true,
}
{
    "first_name": "Vitor",
    "last_name": "Mazzi",
    "send_partner_news": false,
    "uuid": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
    "is_active": false,
    "update_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "notifications": {
        "count": 0,
        "list": "https://app.passaporteweb.com.br/notifications/api/"
    },
    "accounts": [],
    "send_myfreecomm_news": false,
    "services": {},
    "language": "pt-br",
    "timezone": "America/Sao_Paulo",
    "email": "vitor.mazzi@myfreecomm.com.br",
    "one_time_password_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/",
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

GET /accounts/api/identities/:uuid/

  • Retorna dados de um usuário pelo uuid
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
include_expired_accounts Incluir contas expiradas false true, 1
include_other_services Incluir contas em outros serviços false true, 1
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Credenciais informadas são inválidas para este recurso (ex: token/secret da aplicação)
404 Not Found Não existe usuário identificavel por este uuid
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/?include_other_services=true
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
{
    "first_name": "Vitor",
    "last_name": "Mazzi",
    "send_partner_news": false,
    "uuid": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
    "language": "pt-br",
    "timezone": "America/Sao_Paulo",
    "is_active": true,
    "update_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "notifications": {
        "count": 0,
        "list": "https://app.passaporteweb.com.br/notifications/api/"
    },
    "accounts": [
        {
            "plan_slug": "premium",
            "name": "Myfreecomm",
            "roles": [
                "owner",
                "user",
                "premium"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "expiration": null,
            "external_id": null,
            "uuid": "740d0256-9062-4824-ab96-efabcbe36ca1"
        },
        {
            "plan_slug": "premium",
            "name": "Projetos Corporativos",
            "roles": [
                "owner",
                "user"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "expiration": null,
            "external_id": null,
            "uuid": "f0d83de7-7937-40d9-aa05-bfba72e2ccca"
        },
        {
            "name": "Investimentos",
            "uuid": "859d3542-84d6-4909-b1bd-4f43c1312065"
        }
    ],
    "send_myfreecomm_news": false,
    "services": {
        "account_manager": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/account_manager/",
        "myfinance": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/myfinance/"
    },
    "email": "vitor.mazzi@myfreecomm.com.br",
    "one_time_password_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/",
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

GET /accounts/api/identities/?email=:email

  • Retorna dados de um usuário pelo email primário ou por um email secundário préviamente ativado.
  • Emails secundários inativos são ignorados.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
include_expired_accounts Incluir contas expiradas false true, 1
include_other_services Incluir contas em outros serviços false true, 1
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Credenciais informadas são inválidas para este recurso (ex: token/secret da aplicação)
404 Not Found Não existe usuário identificavel por este email
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/?email=vitor.mazzi@myfreecomm.com.br&include_other_services=true
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
{
    "first_name": "Vitor",
    "last_name": "Mazzi",
    "send_partner_news": false,
    "uuid": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
    "language": "pt-br",
    "timezone": "America/Sao_Paulo",
    "is_active": true,
    "update_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "notifications": {
        "count": 0,
        "list": "https://app.passaporteweb.com.br/notifications/api/"
    },
    "accounts": [
        {
            "plan_slug": "premium",
            "name": "Myfreecomm",
            "roles": [
                "owner",
                "user",
                "premium"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "expiration": null,
            "external_id": null,
            "uuid": "740d0256-9062-4824-ab96-efabcbe36ca1"
        },
        {
            "plan_slug": "premium",
            "name": "Projetos Corporativos",
            "roles": [
                "owner",
                "user"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "expiration": null,
            "external_id": null,
            "uuid": "f0d83de7-7937-40d9-aa05-bfba72e2ccca"
        },
        {
            "name": "Investimentos",
            "uuid": "859d3542-84d6-4909-b1bd-4f43c1312065"
        }
    ],
    "send_myfreecomm_news": false,
    "services": {
        "account_manager": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/account_manager/",
        "myfinance": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/myfinance/"
    },
    "email": "vitor.mazzi@myfreecomm.com.br",
    "one_time_password_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/",
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

PUT /accounts/api/identities/:uuid/

  • Atualiza dados de um usuário pelo uuid
  • Nenhum dos parâmetros é obrigatório.
  • Não é possível alterar email ou senha.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
first_name primeiro nome do usuário   Fulano
last_name sobrenome do usuário   de Tal
cpf CPF do usuário   157.027.254-92
send_myfreecomm_news “Quero receber novidades e promoções do Passaporte Web”   true
send_partner_news “Quero receber novidades e promoções de parceiros”   true
Código de retorno Descrição
200 OK Operação completada com sucesso
400 Bad Request Um ou mais parâmetros fornecidos possui valor inválido, ver corpo da resposta
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Credenciais informadas são inválidas para este recurso (ex: token/secret da aplicação)
404 Not Found Não existe usuário identificavel por este uuid
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

PUT https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/?email=vitor.mazzi@myfreecomm.com.br&include_other_services=true
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==

{
    "first_name": "Vitor",
    "last_name": "M. A. da Cruz",
    "send_partner_news": true,
    "cpf": "11111111111"
}
{
    "first_name": "Vitor",
    "last_name": "M. A. da Cruz",
    "send_partner_news": true,
    "uuid": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
    "language": "pt-br",
    "timezone": "America/Sao_Paulo",
    "is_active": true,
    "cpf": "11111111111",
    "update_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "notifications": {
        "count": 0,
        "list": "https://app.passaporteweb.com.br/notifications/api/"
    },
    "accounts": [
        {
            "plan_slug": "premium",
            "name": "Myfreecomm",
            "roles": [
                "owner",
                "user",
                "premium"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
            "expiration": null,
            "external_id": null,
            "uuid": "740d0256-9062-4824-ab96-efabcbe36ca1"
        },
        {
            "plan_slug": "premium",
            "name": "Projetos Corporativos",
            "roles": [
                "owner",
                "user"
            ],
            "url": "https://app.passaporteweb.com.br/organizations/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/f0d83de7-7937-40d9-aa05-bfba72e2ccca/",
            "expiration": null,
            "external_id": null,
            "uuid": "f0d83de7-7937-40d9-aa05-bfba72e2ccca"
        },
        {
            "name": "Investimentos",
            "uuid": "859d3542-84d6-4909-b1bd-4f43c1312065"
        }
    ],
    "send_myfreecomm_news": false,
    "services": {
        "account_manager": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/account_manager/",
        "myfinance": "https://app.passaporteweb.com.br/accounts/api/service-info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/myfinance/"
    },
    "email": "vitor.mazzi@myfreecomm.com.br",
    "one_time_password_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/",
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

GET /accounts/api/identities/:uuid/profile/

  • Retorna dados do perfil de um usuário pelo uuid
  • Autenticação utilizando token e secret da aplicação ou api_token do usuário
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Acesso negado (o usuário está tentando acessar os dados de outro usuário)
404 Not Found Não existe usuário identificavel por este uuid (aplicavel somente para aplicações)
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
{
    "bio": "Desenvolvedor do Passaporte Web, fanático por automobilismo",
    "position": "Desenvolvedor",
    "language": "pt-br",
    "city": "Rio de Janeiro",
    "gender": "M",
    "company": "Myfreecomm",
    "profession": "Coordenador de Projetos",
    "identity_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "email_list": [
        {
            "is_primary": true,
            "is_active": true,
            "address": "vitor.mazzi@myfreecomm.com.br"
        },
        {
            "is_primary": false,
            "is_active": true,
            "address": "vitor.mazzi@passaporteweb.com.br"
        },
        {
            "is_primary": false,
            "is_active": false,
            "address": "vitor.mazzi@myfc.com.br"
        }
    ],
    "state": "RJ",
    "country": "Brasil",
    "birth_date": "1981-10-22",
    "timezone": "America/Sao_Paulo",
    "nickname": "vitormazzi"
}

PUT /accounts/api/identities/:uuid/profile/

  • Atualiza dados do perfil de um usuário pelo uuid
  • Autenticação utilizando token e secret da aplicação ou api_token do usuário
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Acesso negado (o usuário está tentando acessar os dados de outro usuário)
404 Not Found Não existe usuário identificavel por este uuid (aplicavel somente para aplicações)
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

PUT https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==

{
    "bio": "Desenvolvedor do Passaporte Web",
    "position": "Desenvolvedor",
    "language": "pt-br",
    "city": "Niteroi",
    "gender": "M",
    "company": "Myfreecomm",
    "profession": "Coordenador de Projetos",
    "state": "RJ",
    "country": "Brasil",
    "birth_date": "1981-10-22",
    "timezone": "America/Sao_Paulo",
    "nickname": "vitormazzi"
}
{
    "bio": "Desenvolvedor do Passaporte Web",
    "position": "Desenvolvedor",
    "language": "pt-br",
    "city": "Niteroi",
    "gender": "M",
    "company": "Myfreecomm",
    "profession": "Coordenador de Projetos",
    "identity_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "email_list": [
        {
            "is_primary": true,
            "is_active": true,
            "address": "vitor.mazzi@myfreecomm.com.br"
        },
        {
            "is_primary": false,
            "is_active": true,
            "address": "vitor.mazzi@passaporteweb.com.br"
        },
        {
            "is_primary": false,
            "is_active": false,
            "address": "vitor.mazzi@myfc.com.br"
        }
    ],
    "state": "RJ",
    "country": "Brasil",
    "birth_date": "1981-10-22",
    "timezone": "America/Sao_Paulo",
    "nickname": "vitormazzi"
}

Autenticação de usuários

GET /accounts/api/auth/

  • Valida as credenciais de um usuário
  • Não recebe parâmetros.
  • Autenticação utilizando api_token ou email e senha do usuário.
Código de retorno Descrição
200 OK Credenciais válidadas
401 Unauthorized Credenciais não informadas ou inválidas
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/accounts/api/auth/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic ac8U3dnNRUWl6WmtceFZG9kxjelK0amtBS1sOUsxndgpHUGp6elpdNNTZg==
{
    "first_name": "Vitor",
    "last_name": "Mazzi",
    "send_partner_news": false,
    "uuid": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
    "language": "pt-br",
    "timezone": "America/Sao_Paulo",
    "is_active": false,
    "update_info_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
    "notifications": {
        "count": 0,
        "list": "https://app.passaporteweb.com.br/notifications/api/"
    },
    "send_myfreecomm_news": false,
    "services": {},
    "email": "vitor.mazzi@myfreecomm.com.br",
    "one_time_password_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/",
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

Validação de um One Time Password associado a um usuário

GET /accounts/api/identities/:uuid/one-time-password/

  • Obtém os dispositivos de geração de one time passwords associados a um usuário.
  • Autenticação utilizando token e secret da aplicação ou api_token do usuário
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Acesso negado (o usuário está tentando acessar os dados de outro usuário)
404 Not Found Não existe usuário identificavel por este uuid (aplicavel somente para aplicações)
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic ac8U3dnNRUWl6WmtceFZG9kxjelK0amtBS1sOUsxndgpHUGp6elpdNNTZg==
{
    "otp_devices": ["default", "backup"],
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

POST /accounts/api/identities/:uuid/one-time-password/

  • Valida um one time password utilizando qualquer um dos dispositivos associados a um usuário.
  • Autenticação utilizando token e secret da aplicação ou api_token do usuário
Código de retorno Descrição
200 OK Operação completada com sucesso
401 Unauthorized Credenciais não informadas ou inválidas
403 Forbidden Acesso negado (o usuário está tentando acessar os dados de outro usuário)
404 Not Found Não existe usuário identificavel por este uuid (aplicavel somente para aplicações)
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

POST https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/one-time-password/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic ac8U3dnNRUWl6WmtceFZG9kxjelK0amtBS1sOUsxndgpHUGp6elpdNNTZg==

{
    "otp_token": "452497"
}
{
    "verified_device": "default",
    "verified_at": "2014-06-04T19:01:37.184882"
    "profile_url": "https://app.passaporteweb.com.br/accounts/api/identities/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/profile/"
}

Referências