سلام ، روز بخیر
import requests
from zeep import Client
from datetime import datetime
REST_API_URL = "http://192.168.40.18/api/v1/report/datasource/PowerBI/24cbdfb1-9ce4-4706-8863-f6cea34604ce"
SOAP_FORM = "http://192.168.40.18/services/api/iform.svc?wsdl"
SOAP_opportunity = "http://192.168.40.18/services/api/iopportunity.svc?wsdl"
username = "Admin"
password = "@dmin14592"
def run_daily_task():
log("Starting daily task...")
try:
# Step 1: Call the REST API
response = requests.get(REST_API_URL, auth=(username, password))
response.raise_for_status()
items = response.json() # Expecting list of {"key": "...", "data": {...}}
# Step 2: Prepare SOAP client
soap_client_opportunity = Client(wsdl=SOAP_opportunity)
soap_client_form = Client(wsdl=SOAP_FORM)
today = datetime.now()
# Step 3: Call SOAP service for each item
for item in items["Result"]:
BPMS = item.get("BPMS")
IdentityId = item.get("IdentityId")
Subject = item.get("Subject")
try:
if "salesopportunity" in BPMS:
payload = {
"userName": username,
"password": password,
"opportunityInfo": {
"CrmObjectTypeCode": str(BPMS),
"IdentityId": str(IdentityId),
"Subject": str(Subject),
"OpportunitySourceType": "تغییر وضعیت عضو",
"OpportunityType": "استاندارد",
"CreatDate": today,
"ModifyDate": today
}
}
result = soap_client_opportunity.service.SaveOpportunity(payload)
log(f"SOAP call successful for {BPMS}: {result}")
else:
payload = {
"userName": username,
"password": password,
"formInfo": {
"CrmObjectTypeCode": str(BPMS),
"IdentityId": str(IdentityId),
"Subject": str(Subject)
}
}
result = soap_client_form.service.SaveForm(**payload)
log(f"SOAP call successful for {BPMS}: {result}")
except Exception as soap_err:
log(f"SOAP call failed for {BPMS}: {soap_err}")
except Exception as err:
log(f"Error during task: {err}")
def log(message):
with open("daily_task_log.txt", "a") as f:
f.write(f"[{datetime.now()}] {message}\n")
run_daily_task()
کد فوق به منظور ایجاد فرو و فرصت فروش می باشد .برای ایجاد فرم مشکلی وجود ندارد اما برای ایجاد فرصت با ارور مواجه هستیم