Gerência de contas

GET /organizations/api/accounts/

  • Lista todas as contas da aplicação autenticada
  • Todos os parâmetros são opcionais.
  • Somente a aplicação referenciada pela conta possui acesso à mesma.
  • Autenticação utilizando token e secret da aplicação.
  • As informações de paginação são incluidas no header Link de cada resposta, conforme necessário, como exemplificado abaixo:

    Link: <https://app.passaporteweb.com.br/organizations/api/accounts/?page=3&limit=1&updated_since=2014-01-13>; rel=next,
        <https://app.passaporteweb.com.br/organizations/api/accounts/?page=1&limit=1&updated_since=2014-01-13>; rel=prev,
        <https://app.passaporteweb.com.br/organizations/api/accounts/?page=3&limit=1&updated_since=2014-01-13>; rel=last,
        <https://app.passaporteweb.com.br/organizations/api/accounts/?page=1&limit=1&updated_since=2014-01-13>; rel=first
    
Parâmetro Descrição Default Exemplos
page Determina a página de resultados 1 3
limit Limita o número de resultados por página 20 50
updated_since Retorna somente as contas alteradas a partir desta data. Um mês atrás 2014-01-13 ou 2014-01-13 18:21:00
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 O número da página solicitada não existe
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/organizations/api/accounts/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
[
    {
        "history_url": "https://app.passaporteweb.com.br/organizations/api/accounts/792e0534-584e-4779-a6ec-fb30dfce3391/history/",
        "plan_slug": "customer",
        "updated_by": "https://app.passaporteweb.com.br/admin/applications/ecommerce/",
        "members_data": [
            {
                "membership_details_url": "https://app.passaporteweb.com.br/organizations/api/accounts/792e0534-584e-4779-a6ec-fb30dfce3391/members/191fca82-ca86-41d7-acbe-967f3cf7be1b/",
                "identity": "191fca82-ca86-41d7-acbe-967f3cf7be1b",
                 "roles": ["owner"]
            }
        ],
        "updated_at": "2014-08-20 18:56:47",
        "url": "https://app.passaporteweb.com.br/organizations/api/accounts/792e0534-584e-4779-a6ec-fb30dfce3391/",
        "expiration": null,
        "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/792e0534-584e-4779-a6ec-fb30dfce3391/",
        "service_data": {"name": "Ecommerce", "slug": "ecommerce"},
        "account_data": {"name": "Sjo", "uuid": "792e0534-584e-4779-a6ec-fb30dfce3391"},
        "add_member_url": "https://app.passaporteweb.com.br/organizations/api/accounts/792e0534-584e-4779-a6ec-fb30dfce3391/members/"
    },
    {
        "history_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/history/",
        "plan_slug": "seller",
        "updated_by": "/profile/api/info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
        "members_data": [
            {
                "membership_details_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
                "identity": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
                "roles": ["owner", "user"]
            },
            {
                "membership_details_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/f894aa18-8118-4dda-95c4-a487d66244f5/",
                "identity": "f894aa18-8118-4dda-95c4-a487d66244f5",
                "roles": ["owner"]
            }
        ],
        "updated_at": "2014-09-17 11:48:01",
        "url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/",
        "expiration": null,
        "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/",
        "service_data": {"name": "Ecommerce", "slug": "ecommerce"},
        "account_data": {"name": "Equipe da empresa", "uuid": "bec6c462-2746-49ea-9c9c-e29451db1b7f"},
        "add_member_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/"
    }
]

GET /organizations/api/accounts/:uuid/

  • Obtém detalhes de uma conta da aplicação autenticada.
  • Não recebe parâmetros.
  • Somente a aplicação referenciada pela conta possui acesso à mesma.
  • Autenticação utilizando token e secret da aplicação.
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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
[
    {
        "history_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/history/",
        "plan_slug": "seller",
        "updated_by": "/profile/api/info/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
        "members_data": [
            {
                "membership_details_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d/",
                "identity": "1cf30b5f-e78c-4eb9-a7b2-294a1d024e6d",
                "roles": ["owner", "user"]
            },
            {
                "membership_details_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/f894aa18-8118-4dda-95c4-a487d66244f5/",
                "identity": "f894aa18-8118-4dda-95c4-a487d66244f5",
                "roles": ["owner"]
            }
        ],
        "updated_at": "2014-09-17 11:48:01",
        "url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/",
        "expiration": null,
        "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/",
        "service_data": {"name": "Ecommerce", "slug": "ecommerce"},
        "account_data": {"name": "Equipe da empresa", "uuid": "bec6c462-2746-49ea-9c9c-e29451db1b7f"},
        "add_member_url": "https://app.passaporteweb.com.br/organizations/api/accounts/bec6c462-2746-49ea-9c9c-e29451db1b7f/members/"
    }
]

PUT /organizations/api/accounts/:uuid/

  • Altera o plano e a expiração de uma conta da aplicação autenticada.
  • O parâmetro plan_slug é obrigatório.
  • O parâmetro expiration é opcional. Caso ele não seja fornecido a data de expiração é apagada.
  • Somente a aplicação referenciada pela conta pode alterar suas informações.
  • Somente a aplicação referenciada pela conta possui acesso à mesma.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
plan_slug Identificador do plano na aplicação   free
expiration Data de expiração da conta null 2011-12-31
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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido
500 Internal Server Error Erro interno do Passaporte Web

GET /organizations/api/accounts/:uuid/history/

  • Obtém o histórico de alterações de uma conta da aplicação autenticada.
  • Não recebe parâmetros.
  • Não suporta paginação.
  • Somente a aplicação referenciada pela conta possui acesso à mesma.
  • Autenticação utilizando token e secret da aplicação.
  • Os itens do histórico são representados em ordem cronológica
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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/history/
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
[
    {
        "created_at": "2013-01-01 14:39:55",
        "created_by": "https://ecommerce.myfreecomm.com.br/api/orders/aplicacao_cliente-basico/23482/",
        "expiration": "2013-01-16 00:00:00",
        "external_id": null,
        "plan_slug": "basico",
        "solution_slug": "aplicacao_cliente-basico",
    },
    {
        "created_at": "2013-01-10 11:08:15",
        "created_by": "https://ecommerce.myfreecomm.com.br/api/orders/aplicacao_cliente-basico/23482/",
        "expiration": "2013-02-10 00:00:00",
        "external_id": null,
        "plan_slug": "basico",
        "solution_slug": "aplicacao_cliente-basico",
    },
    {
        "created_at": "2013-01-27 12:38:19",
        "created_by": "https://ecommerce.myfreecomm.com.br/api/orders/aplicacao_cliente-profissional/23582/",
        "expiration": "2013-02-03 00:00:00",
        "external_id": null,
        "plan_slug": "profissional",
        "solution_slug": "aplicacao_cliente-profissional",
    },
]

GET /organizations/api/accounts/:uuid/members/

  • Lista os membros de uma conta da aplicação autenticada
  • Autenticação utilizando token e secret da aplicação.
Código de retorno Descrição
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.
404 Not Found Não existe conta identificável pelo UUID fornecido. Não existe usuário identificável pelo UUID fornecido. Esta conta atingiu o limite de membros permitido.
500 Internal Server Error Erro interno do Passaporte Web

POST /organizations/api/accounts/:uuid/members/

  • Associa um usuário a uma conta da aplicação autenticada
  • Somente a aplicação referenciada pela conta pode manipular seus membros.
  • Um membro pode ser adicionado como dono da conta (role = “owner”).
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
identity UUID do novo membro da conta   ac3540c7-5453-424d-bdfd-8ef2d9ff78df
roles Qualifica a associação com estes roles   ["owner", "admin", "user"]
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.
404 Not Found Não existe conta identificável pelo UUID fornecido. Não existe usuário identificável pelo UUID fornecido. Esta conta atingiu o limite de membros permitido.
409 Conflict O usuário já é membro desta account
500 Internal Server Error Erro interno do Passaporte Web

GET /organizations/api/accounts/:uuid/members/:member_uuid/

  • Obtém detalhes da filiação de um usuário a uma conta da aplicação autenticada
  • Não recebe parâmetros.
  • Somente a aplicação referenciada pela conta possui acesso à mesma.
  • Autenticação utilizando token e secret da aplicação.
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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido. Não existe usuário identificável pelo UUID fornecido.
500 Internal Server Error Erro interno do Passaporte Web

PUT /organizations/api/accounts/:uuid/members/:member_uuid/

  • Atualiza papéis da filiação de um usuário a uma conta da aplicação autenticada
  • Somente a aplicação referenciada pela conta pode manipular seus membros.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
roles Qualifica a associação com estes roles   admin,user
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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido. Não existe usuário identificável pelo UUID fornecido.
500 Internal Server Error Erro interno do Passaporte Web

DELETE /organizations/api/accounts/:uuid/members/:member_uuid/

  • Cancela a filiação de um usuário a uma conta da aplicação autenticada
  • Não recebe parâmetros.
  • Somente a aplicação referenciada pela conta pode manipular seus membros.
  • O dono de uma conta (role = owner) não pode ter sua filiação cancelada.
  • Autenticação utilizando token e secret da aplicação.
Código de retorno Descrição
204 No Content 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: api_token do usuário). Aplicação não autorizada para esta operação.
404 Not Found Não existe conta identificável pelo UUID fornecido. Não existe usuário identificável pelo UUID fornecido.
406 Not Acceptable O dono (role = owner) de uma conta não pode ser removido.
500 Internal Server Error Erro interno do Passaporte Web

GET /organizations/api/identities/:uuid/accounts/

  • Lista contas do usuário na aplicação autenticada
  • Todos os parâmetros são opcionais.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
role Considerar somente contas com este role   owner
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
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.
404 Not Found Não existe usuário identificável pelo UUID fornecido.
500 Internal Server Error Erro interno do Passaporte Web

Exemplo (informações somente ilustrativas):

GET https://app.passaporteweb.com.br/organizations/api/identities/1cf30b5f-e78c-4eb9-ab96-294a1d024e6d/accounts/?include_other_services=1&role=owner
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Type: application/json
Accept: application/json
Authorization: Basic amtBS1sOUsxndgpHUGp6elpac8U3dnNRUWl6WmtceFZG9kxjelK0dNNTZg==
[
    {
        "membership_details_url": "/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/members/1cf30b5f-e78c-4eb9-ab96-294a1d024e6d/",
        "plan_slug": "basico",
        "roles": ["owner", "user", "premium"],
        "url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/",
        "history_url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/history/",
        "notifications_url": "https://app.passaporteweb.com.br/notifications/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/history/",
        "expiration": null,
        "service_data": {"name": "Aplicação Cliente", "slug": "aplicacao-cliente"},
        "account_data": {"name": "Myfreecomm", "uuid": "740d0256-9062-4824-ab96-efabcbe36ca1"},
        "add_member_url": "https://app.passaporteweb.com.br/organizations/api/accounts/740d0256-9062-4824-ab96-efabcbe36ca1/members/",
    },
    {
        "account_data": {"name": "Investimentos", "uuid": "859d3542-84d6-4909-b1bd-4f43c1312065"}
    }
]

POST /organizations/api/identities/:uuid/accounts/

  • Cria uma nova conta para o usuário na aplicação autenticada.
  • Deve-se fornecer o parâmetro name OU o parâmetro uuid.
  • Caso o parâmetro uuid seja fornecido, o usuário já deve ser dono de outro serviço nesta conta.
  • O parâmetro expiration é opcional. Caso ele não seja fornecido a data de expiração é apagada.
  • Autenticação utilizando token e secret da aplicação.
Parâmetro Descrição Default Exemplo
name Nome da conta   Conta pessoal
uuid UUID da conta   92d52d25-c7a6-4d16-ae9e-c5f2b4f8fa43
plan_slug Identificador do plano na aplicação   free
expiration Data de expiração da conta null 2011-12-31
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.
404 Not Found Não existe usuário identificável pelo UUID fornecido.
409 Conflict Este usuário já possui uma conta ativa nesta aplicação
500 Internal Server Error Erro interno do Passaporte Web

PUT /organizations/api/activate/

  • Ativa uma conta em uma solução
  • A solução precisa estar ativa.
  • O parâmetro expiration é opcional.
  • Ao menos um dos parâmetros global_account e external_id deve ser fornecido.
  • Autenticação utilizando token e secret da aplicação.
  • Esta operação é de uso exclusivo do ecommerce
Parâmetro Descrição Default Exemplo
slug Identificador da solução   myapp_professional
identity UUID do dono da conta   ac3540c7-5453-424d-bdfd-8ef2d9ff78df
expiration Data de expiração da conta null 2011-12-31
global_account UUID do dono da conta   bea39914-0291-42cc-8698-6b400f511ff4
external_id Id da conta nos componentes da solução   3678
resource_url Url do recurso que gerou a ativação   <url de uma ordem de compra>
Código de retorno Descrição
200 OK / 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.
500 Internal Server Error Erro interno do Passaporte Web