Files
Gainsight/Scripts/API_Tests/antho-new-users-fix.py

179 lines
6.3 KiB
Python

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",
],
}
"""