Neste guia, você encontra exemplos de solicitações e respostas da API Google Workspace Marketplace. Neste guia, mostramos como receber os detalhes de instalação e licenciamento do app Google Workspace Marketplace.
O aplicativo ainda não foi instalado
Solicitação de LicenseNotification.list
Essa solicitação chama o método licenseNotification.list
para recuperar uma lista de notificações de licenciamento de um aplicativo específico.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Corpo da resposta
Como o aplicativo ainda não foi instalado, a resposta a essa solicitação não inclui notificações de licenciamento.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
O aplicativo é instalado individualmente
Um usuário, usuario1@dominio1.com, instalou individualmente o app pelo Google Workspace Marketplace.
Solicitação de LicenseNotification.list
Essa solicitação chama o
método licenseNotification.list
e recupera a lista de notificações de licenciamento para o aplicativo que
foi instalado pelo usuário.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Corpo da resposta
Como usuario1@dominio1.com instalou o aplicativo, a resposta inclui uma notificação de licença. A notificação de licença inclui uma notificação de provisionamento, já que uma nova licença foi provisionada para usuário1@domínio1.com quando ele instalou o aplicativo.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "user1@domain1.com",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
O aplicativo está instalado pelo administrador
O administrador de dominio1.com instalou o aplicativo para todos na organização.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get
para ver o status de licenciamento
de usuario1@dominio1.com e determinar se eles têm permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com
Corpo da resposta
Como domínio1.com tem o administrador instalado, a resposta retorna a licença de usuário para usuário1@domínio1.com, em que enabled
é true
, indicando que o administrador do domínio para domínio1.com ativou o aplicativo para esse domínio, e state
é ACTIVE
, indicando que usuário1@domínio1.com tem uma licença válida e deve ser permitida para usar o aplicativo.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
customerLicense.get solicitação
Essa solicitação chama o método customerLicense.get
para ver o status de licenciamento de domain1.com e determinar se ele tem acesso ao aplicativo.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com
Corpo da resposta
A resposta retorna a
licença de cliente
do domínio1.com, em que state
é ACTIVE
, indicando que o cliente tem uma
licença válida.
{
"kind": "appsmarket#customerLicense",
"id": "{CUSTOMER_LICENSE_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
O aplicativo é instalado apenas pelo administrador da unidade organizacional (UO) de um usuário específico
Agora o aplicativo é apenas instalado pelo administrador para a unidade organizacional de usuario2@dominio1.com. Ele não é mais instalado pelo administrador para todos na organização.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get
para ver o status de licenciamento de user3@domain1.com e determinar se eles têm permissão para usar o aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user3@domain1.com
Corpo da resposta
Como o aplicativo é instalado apenas pelo administrador de usuário2@domínio1.com, a resposta retorna uma licença de usuário para usuário3@domínio1.com, em que enabled
é false
, indicando que o administrador do domínio para domínio1.com não ativou o aplicativo para esse domínio e state
é ACTIVE
, indicando que o usuário tem uma licença válida e deve ter permissão para usar o aplicativo.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user3@domain1.com"
}
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get
para ver o status de licenciamento
de usuario2@dominio1.com e determinar se eles têm permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com
Corpo da resposta
Como o aplicativo é instalado apenas pelo administrador de usuário2@domínio1.com, a resposta retorna uma licença de usuário para usuário2@domínio1.com, em que enabled
é true
e state
é ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user2@domain1.com"
}
O app é excluído para todos na organização.
O app foi excluído para todos na organização. O usuário, usuario1@dominio1.com, ainda tem acesso ao aplicativo porque o instalou individualmente.
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get
para ver o status de licenciamento
de usuario2@dominio1.com e determinar se eles têm permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com
Corpo da resposta
Como o aplicativo foi excluído para todos na organização, a resposta
retorna uma licença de usuário para user2@domain1.com, em que enabled
é false
e
state
é UNLICENSED
, indicando que o administrador do domínio do usuário
não atribuiu um assento para o aplicativo para esse usuário.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user2@domain1.com"
}
Solicitação userLicense.get
Essa solicitação chama o método userLicense.get
para ver o status de licenciamento
de usuario1@dominio1.com e determinar se eles têm permissão para usar o
aplicativo.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com
Corpo da resposta
Como usuário1@domínio1.com instalou o aplicativo individualmente, ele ainda tem permissão para usá-lo. A resposta retorna uma licença de usuário em que enabled
é true
e state
é ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
As notificações de licença de todas as ações acima
Solicitação de LicenseNotification.list
Uma solicitação para o método licenseNotification.list
recupera todas as notificações de licenciamento do aplicativo.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Corpo da resposta
A resposta retorna uma lista de notificações de licença para todas as ações executadas acima.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "user1@domain1.com",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
},
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"timestamp": "1641318351038",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "-1"
}
]
},
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"timestamp": "1641318858349",
"deletes": [
{
"kind": "appsmarket#deleteNotification",
"editionId": "default_edition",
}
]
},
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}