= dmda.DomoTokenAuth(
token_auth = 'domo-community',
domo_instance=os.environ["DOMO_DOJO_ACCESS_TOKEN"],
domo_access_token )
Publish Routes
Publications
CRUD_Publish_Error
CRUD_Publish_Error (res:domolibrary.client.ResponseGetData.ResponseGetDa ta)
base exception
GET_Publish_Error
GET_Publish_Error (res:domolibrary.client.ResponseGetData.ResponseGetDat a)
base exception
search_publications
search_publications (auth:domolibrary.client.DomoAuth.DomoAuth, search_term:str=None, limit=100, offset=0, session:httpx.AsyncClient=None, debug_loop:bool=False, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None, return_raw:bool=False)
= await search_publications(auth=token_auth,
res = True,
debug_loop
)
= res.response[0]
publication 0:5]) pd.DataFrame(res.response[
π Retrieving records 0 through 100 via https://domo-community.domo.com/api/publish/v2/publication/summaries
{'all_rows': 9, 'new_records': 9}
skip: 0, limit: 100
π Retrieving records 9 through 109 via https://domo-community.domo.com/api/publish/v2/publication/summaries
{'all_rows': 9, 'new_records': 0}
skip: 9, limit: 100
π Success - 9 records retrieved from https://domo-community.domo.com/api/publish/v2/publication/summaries in query looper
id | name | description | dataSets | dataApps | dataAppViews | pages | embedPages | cards | subscribers | ... | invalidPageSubscribers | invalidCardSubscribers | isV2 | hasDuplicate | refreshing | executionType | executionStatusDescription | executionStartTime | executionEndTime | executionEstimatedCompletionTime | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 052567d8-d1ff-46dc-b37c-fcdcb3b3ba15 | AppStudio publication | 2 | 1 | 2 | 0 | 0 | 8 | 1 | ... | 0 | 1 | True | False | False | REFRESH | SUCCESS | 1724781124725 | 1724781128967 | NaN | |
1 | 095426a1-2c35-468b-bb96-36c516382f19 | Ellibot | 1 | 0 | 0 | 0 | 0 | 0 | 1 | ... | 0 | 0 | True | False | False | NEW_PUBLICATION | NaN | 1699639510737 | 1699639511580 | 1.699640e+12 | |
2 | f02ad4d6-8fde-43b6-8263-7b5450ff0e11 | jace-testing | 1 | 0 | 0 | 1 | 0 | 1 | 1 | ... | 0 | 0 | True | False | False | NEW_PUBLICATION | SUCCESS | 1714141667162 | 1714141678227 | 1.714142e+12 | |
3 | 99a4f772-f0e0-47a6-873a-5870d03b9134 | Landing Page QA | 1 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | True | False | False | NEW_PUBLICATION | NaN | 1686863663474 | 1686863665990 | 1.686864e+12 | |
4 | e3295d79-4dbe-4994-8f8e-f105b178cc3b | Sandbox_PROD | 1 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | True | False | False | NEW_PUBLICATION | NaN | 1686862458414 | 1686862460962 | 1.686862e+12 |
5 rows Γ 25 columns
get_publication_by_id
get_publication_by_id (auth:domolibrary.client.DomoAuth.DomoAuth, publication_id:str, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None, timeout=10)
await get_publication_by_id(
( =publication['id'], auth=token_auth, timeout=10
publication_id ) ).response
{'id': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15',
'name': 'AppStudio publication',
'customerId': 'mmmm-0012-0200',
'created': 1717488524142,
'content': {'id': '0d949808-b3b3-4432-ad57-e59dfe4e5be9',
'domain': 'domo-community.domo.com',
'customerId': 'mmmm-0012-0200',
'userId': '612085674',
'type': 'PACKAGE',
'updated': 1717488524142,
'hash': '58df8f64-fb5a-4bf2-809f-c046d2ed4420',
'publicationId': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15'},
'description': '',
'isV2': True,
'hasDuplicate': False,
'useDirectContent': True,
'type': 'CONTENT',
'isBackup': False,
'children': [{'id': '6d605d2c-e425-4673-bb5c-2afa3498c8d5',
'customerId': '',
'created': 1732812330129,
'content': {'id': 'b2227248-cc5d-43b9-a7dc-9cb76954df53',
'domain': 'domo-community.domo.com',
'customerId': '',
'userId': '612085674',
'domoObjectId': 'e747ac95-669f-40d6-aeb4-f3b9e769c975',
'type': 'DATASET',
'updated': 1732812330129,
'hash': 'f828e2fe-a6eb-4708-ab77-86e7927bd2a2'},
'isV2': True,
'hasDuplicate': False,
'useDirectContent': True,
'type': 'CONTENT',
'isBackup': False,
'children': [],
'subscriptionAuthorizations': [],
'subscribers': [],
'isPublic': False},
{'id': 'd5d94e25-06ac-4205-b693-04d44ff9dbe4',
'customerId': '',
'created': 1732812330129,
'content': {'id': '93a3e7fb-1db8-4105-958b-316b92666219',
'domain': 'domo-community.domo.com',
'customerId': '',
'userId': '612085674',
'domoObjectId': '248e93d7-1a06-422b-afe0-28159f1f07ec',
'type': 'DATASET',
'updated': 1732812330129,
'hash': 'a2b55353-0743-4de0-b52d-fcf10969af5f'},
'isV2': True,
'hasDuplicate': False,
'useDirectContent': True,
'type': 'CONTENT',
'isBackup': False,
'children': [],
'subscriptionAuthorizations': [],
'subscribers': [],
'isPublic': False},
{'id': '866f98bd-2390-4910-b8ec-f9ca8e28677b',
'customerId': '',
'created': 1732812330129,
'content': {'id': 'c4339bee-0633-40ca-b9fd-76d62c907e6e',
'domain': 'domo-community.domo.com',
'customerId': '',
'userId': '612085674',
'domoObjectId': '847733852',
'type': 'DATA_APP',
'updated': 1732812330129,
'hash': 'e7ef0d71-2729-4852-b324-234d59d6a79c'},
'isV2': True,
'hasDuplicate': False,
'useDirectContent': True,
'type': 'CONTENT',
'isBackup': False,
'children': [],
'subscriptionAuthorizations': [],
'subscribers': [],
'isPublic': False}],
'subscriptionAuthorizations': [{'id': '8ec9b3ce-d4ae-445a-9b00-f8bef3a56818',
'domain': 'domo-community-subscriber.domo.com',
'created': 1724781125474,
'publicationId': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15'},
{'id': 'eff7320a-50aa-47fe-89ae-9a4ae12df73f',
'domain': 'datacrew-space.domo.com',
'created': 1717488551349,
'publicationId': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15'}],
'subscribers': [],
'userId': 612085674,
'isPublic': False}
generate_publish_body
generate_publish_body (url:str, sub_domain_ls:List[str], content_ls:List[str], name:str, description:str, unique_id:str, is_new:bool)
= generate_publish_body(
body "domo-community.domo.com", ["test.domo.com"], ["content"], "test", "", "id", True
) body
{'id': 'id',
'name': 'test',
'description': '',
'domain': 'domo-community.domo.com',
'content': ['content'],
'subscriberDomain': ['test.domo.com'],
'new': 'true'}
create_publish_job
create_publish_job (auth:domolibrary.client.DomoAuth.DomoAuth, body:dict, session:httpx.AsyncClient=None, debug_api:bool=False, parent_class:str=None, debug_num_stacks_to_drop=1)
udpate_publish_job
udpate_publish_job (auth:domolibrary.client.DomoAuth.DomoAuth, publication_id:str, body:dict, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None)
Subscriptions
get_publish_subscriptions
get_publish_subscriptions (auth:domolibrary.client.DomoAuth.DomoAuth, publish_id:str, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None)
retrieves a summary of existing subscriptions
= await get_publish_subscriptions(auth=token_auth, publish_id=publication['id'])
res res.response
{'id': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15',
'subscriptionsCount': 1,
'subscriptionSummaries': [{'subscriptionId': 'ef6e4cd0-9607-4db2-b4bb-b9f830b665a2',
'subscriberDomain': 'domo-community-subscriber.domo.com',
'result': 'MISSING_DATASET',
'description': 'Missing dataset for content id, e747ac95-669f-40d6-aeb4-f3b9e769c975. Missing dataset for content id, 248e93d7-1a06-422b-afe0-28159f1f07ec. Missing data_app for content id, 847733852. Missing additional content...',
'datasets': 0,
'dataApps': 0,
'dataAppViews': 0,
'pages': 0,
'embedPages': 0,
'cards': 0,
'created': 1724781129000,
'updated': 1724781129000}]}
get_subscription_summaries
get_subscription_summaries (auth:domolibrary.client.DomoAuth.DomoAuth, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None)
retrieves a summary of existing subscriptions
await get_subscription_summaries(auth=token_auth)
ResponseGetData(status=200, response=[], is_success=True, parent_class=None)
await get_publish_subscriptions(auth=token_auth, publish_id=publication['id'])).response (
{'id': '052567d8-d1ff-46dc-b37c-fcdcb3b3ba15',
'subscriptionsCount': 1,
'subscriptionSummaries': [{'subscriptionId': 'ef6e4cd0-9607-4db2-b4bb-b9f830b665a2',
'subscriberDomain': 'domo-community-subscriber.domo.com',
'result': 'MISSING_DATASET',
'description': 'Missing dataset for content id, e747ac95-669f-40d6-aeb4-f3b9e769c975. Missing dataset for content id, 248e93d7-1a06-422b-afe0-28159f1f07ec. Missing data_app for content id, 847733852. Missing additional content...',
'datasets': 0,
'dataApps': 0,
'dataAppViews': 0,
'pages': 0,
'embedPages': 0,
'cards': 0,
'created': 1724781129000,
'updated': 1724781129000}]}
get subscription content details
get_subscriber_content_details
get_subscriber_content_details (auth:domolibrary.client.DomoAuth.DomoAut h, publication_id, subscriber_instance:str, debug_api:bool=False, debug_num_stacks_to_drop=1, session:httpx.AsyncClient=None, parent_class:str=None)
= "701eb547-4244-43f6-bcda-003ed2c483c7"
publication_id
= await get_subscriber_content_details(
res =token_auth,
auth=publication_id,
publication_id="datacrew-space",
subscriber_instance
)
res.response
[]
get_subscription_invititations
get_subscription_invititations (auth:domolibrary.client.DomoAuth.DomoAut h, session:httpx.AsyncClient=None, debug_api:bool=False, parent_class:str=None, debug_num_stacks_to_drop=1)
retrieves a list of subscription invitations
add_subscriber_domain
add_subscriber_domain (auth:domolibrary.client.DomoAuth.DomoAuth, domain:str, session:httpx.AsyncClient=None, debug_api:bool=False, parent_class:str=None, debug_num_stacks_to_drop=1)
adds subscriber domain to the list
get_subscriber_domains
get_subscriber_domains (auth:domolibrary.client.DomoAuth.DomoAuth, session:httpx.AsyncClient=None, debug_api:bool=False, parent_class:str=None, debug_num_stacks_to_drop=1)
retrieves a list of subsriber domains
#domain = "test-add-subscriber-domain.domo.com"
#res = await add_subscriber_domain(auth=token_auth, domain = domain)
#print (res)
= await get_subscriber_domains(auth=token_auth)
res
pd.DataFrame(res.response)
id | publisherDomain | customerId | subscriberDomain | virtualUserId | created | activeSubscriptions | tenantId | |
---|---|---|---|---|---|---|---|---|
0 | 44a56146-f422-4175-9c3b-a194f339f9b6 | domo-community.domo.com | mmmm-0012-0200 | domo-community.domo.com | fc:f230ba95-bc49-4875-a0db-3c7cd58ed3cc | 1680594505000 | 0 | NaN |
1 | 8b5c26e0-db3a-40f8-855f-6189ac3cf5c8 | domo-community.domo.com | mmmm-0012-0200 | test.domo.com | fc:e3ce6205-6717-42b4-ba1c-16b5e40eca98 | 1680594505000 | 5 | NaN |
2 | 8d1454a3-82ac-42ef-b9a7-aa443b50afa1 | domo-community.domo.com | mmmm-0012-0200 | datacrew-space.domo.com | fc:9240937f-377d-415b-923c-12d443447565 | 1713994806000 | 3 | NaN |
3 | af56ef48-bcbd-4b73-baf8-d9422138af50 | domo-community.domo.com | mmmm-0012-0200 | test-add-subscriber-domain.domo.com | fc:17238133-806d-40b5-a6ac-ab0ec97c0c36 | 1732731040000 | 0 | test-add-subscriber-domain.domo.com |
4 | bcd9b266-7d2b-4aee-8bc1-73d7f8f3e504 | domo-community.domo.com | mmmm-0012-0200 | domo-community-jace-testing.domo.com | fc:63b0128f-b01d-4480-883a-b871715c6093 | 1714140839000 | 1 | none |
5 | ca8cd344-df00-443b-b0f7-eed0d1fad30c | domo-community.domo.com | mmmm-0012-0200 | domo-community-subscriber.domo.com | fc:5c4fdb78-6f26-4bed-a12d-1930c69f6a1e | 1691590327000 | 1 | zakrevskyi@gmail.com |
6 | d5fba4c4-1d8d-437c-a639-f23fd5263efd | domo-community.domo.com | mmmm-0012-0200 | domo-community-ellibot.domo.com | fc:4763b9b3-52bc-48e5-9f2b-e12b3515e6d7 | 1699639129000 | 1 | West |
sample implementation of get_subscription_invitations
accept_invite_by_id
accept_invite_by_id (auth:domolibrary.client.DomoAuth.DomoAuth, subscription_id:str, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop=1, parent_class:str=None)
this takes get_subscription_invites_list into account and accepts - not instant
accept_invite_by_id_v2
accept_invite_by_id_v2 (auth:domolibrary.client.DomoAuth.DomoAuth, publication_id:str, owner_id:str, session:httpx.AsyncClient=None, debug_api:bool=False, parent_class:str=None, debug_num_stacks_to_drop=1)
this takes get_subscription_invites_list into account and accepts - not instant
refresh_publish_jobs
refresh_publish_jobs (auth:domolibrary.client.DomoAuth.DomoAuth, publish_ids:list, session:httpx.AsyncClient=None, debug_api:bool=False, debug_num_stacks_to_drop:int=1, parent_class:str=None)
Refreshing list of publish jobs. Typically βinstanceβ = publisher instance
= await get_subscription_invititations(auth=token_auth)
res
0:5]) pd.DataFrame(res.response[