import requests import json import Apikeys import pandas as pd BASEURL = "https://api.northpass.com" APIKEY = Apikeys.ANTHOLOGY HEADERS = { "accept": "*/*", "X-Api-Key": APIKEY, "content-type": "application/json", } BASEFILE = "~/Downloads/Anthology-DomainMaster-forWorkato - Sheet1.csv" def get_ppl(): count = 0 tmpdict = {} while True: count += 1 url = f"{BASEURL}/v2/people?limit=100&page={count}" getppl = requests.get(url, headers=HEADERS) ppl_response = getppl.json() nextlink = ppl_response["links"] for people in ppl_response["data"]: if "2024-07-09" in people["attributes"]["created_at"]: domain = people["attributes"]["email"].split("@")[1] if domain in tmpdict: tmpdict[domain].append(people["id"]) else: tmpdict[domain] = [people["id"]] if "next" not in nextlink: break print(tmpdict) apply_groups(tmpdict) def apply_groups(tmpdict): df = pd.read_csv(BASEFILE, index_col=None, header=None) for domain, values in tmpdict.items(): data = df.loc[df[0] == domain].iloc[:, 1:].values.tolist() cleaned = [x for x in data[0] if str(x) != "nan"] # print(cleaned) payload = {"payload": {"person_ids": values, "group_ids": cleaned}} url = f"{BASEURL}/v2/bulk/people/membership" response = requests.post(url, json=payload, headers=HEADERS) print(response.text) print(response.status_code) if __name__ == "__main__": get_ppl() """ GROUPSTOMAP = { "stlukescollege.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "5f35e542-a8cf-4422-8e87-466cdca62864", "fa8914be-0986-460c-884d-9973a9622045", "106775db-a00d-4956-bf27-97ea269bb001", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", ], "cuhk.edu.hk": [ "8302b674-c728-42d2-9ba3-908b4d970436", "604dd8b8-175a-4a74-93d2-28760f1d1835", "2b5267b2-ce87-4e77-ad88-5cfec80496b9", ], "allencollege.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "8302b674-c728-42d2-9ba3-908b4d970436", "5f35e542-a8cf-4422-8e87-466cdca62864", "fa8914be-0986-460c-884d-9973a9622045", "", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", "106775db-a00d-4956-bf27-97ea269bb001", ], "trinitycollegeqc.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "5f35e542-a8cf-4422-8e87-466cdca62864", "fa8914be-0986-460c-884d-9973a9622045", "106775db-a00d-4956-bf27-97ea269bb001", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", ], "southuniversity.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "bfb708e4-18eb-47b5-afde-737f16721e9a", "5f35e542-a8cf-4422-8e87-466cdca62864", "106775db-a00d-4956-bf27-97ea269bb001", ], "pcom.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "197da27d-0497-40b5-b2f8-cec4124d32f6", "bfb708e4-18eb-47b5-afde-737f16721e9a", "8302b674-c728-42d2-9ba3-908b4d970436", ], "msun.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "e53216bf-9815-42c7-89c1-953a7b1289a3", "fa8914be-0986-460c-884d-9973a9622045", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", ], "mainecc.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "197da27d-0497-40b5-b2f8-cec4124d32f6", "f7701275-cebc-482b-ac31-9cfcd93937c3", "59ccfdeb-8a8a-4693-b4fa-27034192071c", "849f1551-604a-4b5c-9b5d-e2771eed488c", "cf5d1920-9618-43f3-8dac-53954d19a956", "d8d7bdba-46cf-4d16-b136-2b5f60eee073", "5f35e542-a8cf-4422-8e87-466cdca62864", "55bae3db-5f62-4be3-823a-bcb429b8a2b2", "fa8914be-0986-460c-884d-9973a9622045", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", "448f3335-cf11-4e7a-9939-c734861d16e3", "106775db-a00d-4956-bf27-97ea269bb001", "594cd6c0-17db-4241-be56-ad28a8db4f7b", "95f7b67d-3ba8-4d18-bcbb-3e02f7bfaf7a", ], "mccneb.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "f7701275-cebc-482b-ac31-9cfcd93937c3", "fcfe4ee2-b247-4244-8cfc-f3d98d219fea", "c6b6d415-323e-46c1-859e-be86fd36ec48", "125acb85-889b-4638-a6bb-6eda8e761b08", ], "mtu.edu": [], "stchas.edu": [ "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "197da27d-0497-40b5-b2f8-cec4124d32f6", "3b149bfe-31c5-4991-bd6c-ba4c760089d4", "b6ae5e37-db6a-4b79-949f-be73b216f677", "bfb708e4-18eb-47b5-afde-737f16721e9a", "f02032d3-3d60-4cb1-acac-855c229646c3", "59ccfdeb-8a8a-4693-b4fa-27034192071c", "849f1551-604a-4b5c-9b5d-e2771eed488c", "4d0bf08e-3dda-4a2e-8213-72a020873a03", "e48c8995-6a64-45c1-ae62-ba96fcc01542", "84d32175-8cb8-4fb0-95cc-6ae13d40aaaa", "27489e34-b04c-410e-99a2-0d93e2e42fbf", "5f35e542-a8cf-4422-8e87-466cdca62864", "f50cb362-2f86-44eb-89e6-bea6ecbaf89f", "fa8914be-0986-460c-884d-9973a9622045", "b9f734fa-de0d-4a0b-9ce2-c092126e1d8d", "106775db-a00d-4956-bf27-97ea269bb001", "594cd6c0-17db-4241-be56-ad28a8db4f7b", ], "gveltec.edu": [ "3f8dc68e-1458-4199-9641-6781960e085e", "8585fe89-a050-4dbb-beb8-6ebd7358a970", "2b5267b2-ce87-4e77-ad88-5cfec80496b9", "197da27d-0497-40b5-b2f8-cec4124d32f6", "a031d9a8-e433-45cf-826a-8881644f8eac", "3b149bfe-31c5-4991-bd6c-ba4c760089d4", "59ccfdeb-8a8a-4693-b4fa-27034192071c", "849f1551-604a-4b5c-9b5d-e2771eed488c", "4d0bf08e-3dda-4a2e-8213-72a020873a03", "e48c8995-6a64-45c1-ae62-ba96fcc01542", "8302b674-c728-42d2-9ba3-908b4d970436", "604dd8b8-175a-4a74-93d2-28760f1d1835", "26c5277c-440a-4dea-b625-beb986cff673", "1ef34494-4d48-4b69-9819-a22c5870fc24", "84d32175-8cb8-4fb0-95cc-6ae13d40aaaa", "27489e34-b04c-410e-99a2-0d93e2e42fbf", "e5e8565f-80e2-4462-b687-56f6d64f95e4", "5f35e542-a8cf-4422-8e87-466cdca62864", "853de4bd-6f6a-4d1d-980a-b67eb1b0e876", "fa8914be-0986-460c-884d-9973a9622045", "106775db-a00d-4956-bf27-97ea269bb001", "fa8914be-0986-460c-884d-9973a9622045", "106775db-a00d-4956-bf27-97ea269bb001", ], } """