This package provides an unofficial SDK for using Yardi APIs, making it extremely simple to call Yardi API endpoints. Yardi uses SOAP APIs requiring XML envelopes and documents, which may be unfamiliar for many developers. This package exposes a Client object as well as endpoint classes to allow for easy calling of Yardi APIs, complete with IntelliSense and tab completion.
Your WSDL_URL might look something like https://www.yardiasp13.com/<CLIENT_URL>/webservices/ItfResidentTransactions20.asmx?WSDL. Ask your Yardi representative about your <CLIENT_URL> or check in Voyager under Administration > About > URL. The ItfResidentTransactions20 part will be different for each interface; this one is for Billing and Payments.
The SDK provides classes for all endpoints listed under the Billing & Payments, Vendor Invoicing, and Common Data Yardi interfaces. Each class has type-hinted instance variables matching the endpoint's parameters, allowing for rapid development using IntelliSense and tab completion. Yardi endpoints require credentials as part of the request, and then some endpoint-specific parameters which may be required or optional.
Yardi's API systems are defined using WSDL (Web Services Description Language), which functions as the "documentation" for the endpoints. Each interface (such as Billing and Payments or Common Data) has its own WSDL URL, and when accessed you will find an XML document with all the endpoints available. The endpoints in the SDK are auto-generated from these WSDLs, and the Client object connects to a WSDL in order to actually call the endpoint. Under the hood, the zeep package is used to handle connections to the SOAP interface.