Contas conectadas
Conecte contas do Google, Facebook e Apple Business Connect, associe suas listagens a locais e desconecte-as via client.connected_accounts.
Todos os métodos de contas conectadas estão em client.connected_accounts. Uma conta conectada é um login do Google Business Profile, Facebook Pages ou Apple Business Connect que autorizou a plataforma, identificado por um connectedAccountId que você obtém em connected_accounts.list.
Há duas formas de conectar. O fluxo em massa autoriza uma conta inteira de uma plataforma de publicação e depois associa suas listagens aos seus locais. O fluxo para um único local cria um link OAuth para um local, adequado quando seu aplicativo conecta uma loja por vez. Os métodos que recebem um location_id aceitam IDs numéricos ou codificados em base64; consulte IDs de locais.
Fluxo de associação
Após uma conexão em massa, as listagens da plataforma de publicação ainda não estão vinculadas aos seus locais. Chame trigger_matches para colocar a tarefa de associação na fila, consulte details periodicamente até que requestMatchesStatus tenha o valor MATCH_COMPLETED, leia as associações com suggestions e confirme as que você quiser com confirm_matches. Se você pular trigger_matches, suggestions ficará vazio.
connected_accounts.connect_google
Crie uma URL que autoriza uma conta inteira do Google Business Profile. Direcione o usuário a ela, e ele retornará a success_url ou error_url. O link é válido por 24 horas.
client.connected_accounts.connect_google( success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.connect_google( "https://app.example.com/onboarding/google/done", "https://app.example.com/onboarding/google/retry",)print(link.url)Retorna o objeto bulkConnectLinkForGoogle. Leia url e verifique success e errors. As duas URLs de redirecionamento devem ser URLs https absolutas. Consulte Conectar uma conta do Google.
connected_accounts.connect_facebook
Igual a connect_google, para uma conta do Facebook Pages. Válido por 24 horas.
client.connected_accounts.connect_facebook( success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.connect_facebook( "https://app.example.com/onboarding/facebook/done", "https://app.example.com/onboarding/facebook/retry",)print(link.url)Retorna o objeto bulkConnectLinkForFacebook, com os mesmos campos url, success e errors. Consulte Conectar uma conta do Facebook.
connected_accounts.oauth_url
Crie uma URL que conecta um perfil de uma plataforma de publicação a um local. Use este método quando você já souber qual local o usuário está conectando, dispensando a etapa de associação. Válida por 24 horas.
client.connected_accounts.oauth_url( location_id: str | int, site: str, success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.oauth_url( 16808, site="google", success_url="https://app.example.com/locations/16808?connected=1", error_url="https://app.example.com/locations/16808?connected=0",)print(link.url)Retorna o objeto createConnectUrl. Uma URL de redirecionamento relativa ou que não pode ser interpretada resulta em success: true com um null url, portanto, verifique o próprio url, e não apenas success. O link é de uso único, portanto, crie um novo a cada tentativa. Consulte Criar uma URL de conexão OAuth para um local.
connected_accounts.list
Liste as contas do Google e do Facebook conectadas à sua conta. É aqui que você obtém o connectedAccountId necessário para todas as chamadas posteriores.
client.connected_accounts.list( *, publisher: str | None = None, status: str | None = None, page: int | None = None, per_page: int | None = None,) -> APIObjectaccounts = client.connected_accounts.list(status="CONNECTED", per_page=50)for account in accounts.records: print(account.connectedAccountId, account.email, account.connectedLocationsCount)print(accounts.pageInfo.totalRecords)Retorna o objeto connectedAccountsInfo: records mais pageInfo com hasNextPage, totalPages e totalRecords. A ordenação é fixa, por e-mail da conta em ordem crescente. Consulte Listar contas conectadas.
connected_accounts.details
Obtenha uma conta conectada pelo ID. Consulte este método periodicamente após trigger_matches e aguarde até que requestMatchesStatus atinja MATCH_COMPLETED.
client.connected_accounts.details(connected_account_id: str) -> APIObjectaccount = client.connected_accounts.details("4f712c17-4f95-42dd-90f4-97171a2e67b5")print(account.details.get("status"))print(account.details.get("requestMatchesStatus"))Retorna o objeto connectedAccountDetails. Os campos estão em details: status, connectedAccountType, connectedLocationsCount, connectivityIssue, requestMatchesStatus e lastFetchMatchesRequestedAt. Um valor não nulo em connectivityIssue significa que o token da plataforma de publicação precisa ser autorizado novamente. Consulte Obter detalhes de uma conta conectada.
connected_accounts.listings
Liste as listagens da plataforma de publicação às quais uma conta conectada tem acesso, estejam elas associadas ou não a um dos seus locais. Use este método para mostrar ao usuário quais acessos você obteve.
client.connected_accounts.listings( connected_account_id: str, *, location_info: str | None = None, page: int | None = None, per_page: int | None = None,) -> APIObjectpage = client.connected_accounts.listings( "4f712c17-4f95-42dd-90f4-97171a2e67b5", location_info="Manhattan", per_page=25,)for listing in page.records: print(listing.locationName, listing.address, listing.accountTypeName)Este endpoint usa POST e recebe todos os argumentos no corpo da requisição, não na query string; o SDK monta esse corpo para você. Retorna o objeto connectedAccountListings: records mais pageInfo. Cada registro contém id, locationName, address, phone, accountTypeName e liveLink. Consulte Buscar listagens de uma conta conectada.
connected_accounts.trigger_matches
Coloque na fila a tarefa que recupera todos os perfis aos quais as contas informadas têm acesso e busca correspondências com seus locais. Execute-a logo após uma conexão em massa e novamente após adicionar locais.
client.connected_accounts.trigger_matches( connected_account_ids: list[str],) -> APIObjectresult = client.connected_accounts.trigger_matches( ["4f712c17-4f95-42dd-90f4-97171a2e67b5"],)print(result.success, result.failedIds)Retorna o objeto connectedAccountsTriggerMatches com success e failedIds. O processamento é assíncrono, portanto, um success: true significa que a tarefa está na fila, não que foi concluída. Consulte details periodicamente até que requestMatchesStatus seja MATCH_COMPLETED antes de ler as sugestões. Consulte Iniciar associações.
connected_accounts.suggestions
Leia as associações que a tarefa de associação encontrou entre as listagens da conta e seus locais. Mostre-as ao usuário para avaliação antes de confirmá-las.
client.connected_accounts.suggestions( connected_account_id: str, *, page: int | None = None, per_page: int | None = None,) -> APIObjectpage = client.connected_accounts.suggestions( "4f712c17-4f95-42dd-90f4-97171a2e67b5", per_page=50,)for match in page.records: print(match.locationId, match.accountType, match.matchedDataDatabaseId)Retorna o objeto connectionSuggestionsForAccount: records mais pageInfo. Cada registro contém locationId, accountType, matchedDataDatabaseId, locationInfo e suggestedLocationInfo. Um records vazio com totalRecords: 0 geralmente significa que a tarefa de associação ainda não foi executada. Consulte Listar sugestões de conexão.
connected_accounts.confirm_matches
Confirme as associações sugeridas. Após a confirmação, a listagem da plataforma de publicação começa a sincronizar com o local associado.
client.connected_accounts.confirm_matches( match_record_ids: list[str],) -> APIObjectresult = client.connected_accounts.confirm_matches([ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=",])print(result.success, result.failedIds)Retorna o objeto confirmConnectMatches com success e failedIds. Um registro de sugestão não tem um id próprio: monte o ID de cada registro de associação a partir de matchedDataDatabaseId e accountType do registro, conforme descrito em Confirmar associações.
connected_accounts.folders
Liste as pastas (que o Google chama de grupos de contas) às quais uma conta conectada do Google tem acesso. Passe o folderId escolhido ao criar uma listagem no Google para que ela seja criada no lugar certo.
client.connected_accounts.folders( connected_account_id: str, *, folder_name: str | None = None,) -> list[APIObject]folders = client.connected_accounts.folders( "4f712c17-4f95-42dd-90f4-97171a2e67b5",)for folder in folders: print(folder.folderId, folder.folderName, folder.locationCount)Retorna a lista getFoldersUnderGoogleAccount. Cada item tem folderId (uma string accounts/{id} usada sem alterações), folderName e locationCount, cujo valor é null quando o Google não informa uma contagem. Apenas contas do tipo Google. Consulte Listar pastas e listings.create_gmb.
connected_accounts.disconnect_google
Desconecte uma conta inteira do Google. Todos os locais associados por meio dela deixam de sincronizar com o Google.
client.connected_accounts.disconnect_google( connected_account_id: str,) -> APIObjectresult = client.connected_accounts.disconnect_google( "4f712c17-4f95-42dd-90f4-97171a2e67b5",)print(result.success)Retorna o objeto gmbBulkDisconnect com success. Consulte Desconectar uma conta do Google.
connected_accounts.disconnect_facebook
Desconecte uma conta inteira do Facebook Pages.
client.connected_accounts.disconnect_facebook( connected_account_id: str,) -> APIObjectresult = client.connected_accounts.disconnect_facebook( "9a41b8c0-7d2e-4c15-9f63-2b8e5ad71f04",)print(result.success)Retorna o objeto fbBulkDisconnect com success. Consulte Desconectar uma conta do Facebook.
connected_accounts.oauth_disconnect
Desconecte um local de uma plataforma de publicação, mantendo o restante da conta conectado. Esta é a operação inversa de oauth_url.
client.connected_accounts.oauth_disconnect( location_id: str | int, site: str,) -> APIObjectsite é GOOGLE, FACEBOOK ou APPLE, e o SDK converte o valor para maiúsculas antes de enviá-lo.
client.connected_accounts.oauth_disconnect(16808, site="google")Retorna o objeto disconnectConnectedAccountsLocations com success e errors. Consulte Desconectar um local de uma plataforma de publicação.
Veja também
- Endpoints de contas conectadas: os endpoints REST usados por este recurso
- Conectar o Google e importar locais: o fluxo completo de conexão e correspondência em massa
- Conectar páginas do Facebook: a parte desse mesmo fluxo referente ao Facebook
- Criar um Google Business Profile: use um
folderIddefolders - Listagens: conectar, desconectar e verificar o status de sincronização por local