Archive
Gateway Controls
Store API Gateway Controls
On July 1, 2018, Yardi implemented API gateway controls that will help protect our cloud environment and ensure a positive user experience for clients and integration partners alike.
The gateway controls enforce usage limitations that help prevent any single user, especially consumers of the Store web services API, from adversely affecting other customers in the Yardi Store Cloud. (Please note, these controls only affect the Yardi Store products and services, and do not apply to other Yardi products and services such as Voyager.)
While the gateway controls allow Yardi to fine-tune the usage of the service API to the needs our integration partners and our common clients, certain limits were enacted and will be enforced for all users. The gateway policies will set limits on:
- Maximum concurrent requests per Service User.*
- Maximum throughput of requests per rolling 60 minute window, per Service User.*
- Maximum throughput of requests per rolling 24 hour window, per Service User.*
- Ability to restrict/shun any Service User* and/or IP address that is having adverse impact on the Store environment, regardless of the policy maximums. To ensure quick response to
severely impactful events, notice may not be provided before action is taken to restrict or shun requests, but we will make reasonable effort to contact affected users as quickly as
possible. - Additional controls and policies will likely be added by July 1, 2018. More details will be provided before this occurs.
* Service users are organization/client based, so these limits are essentially per org, per interface consumer.
Integration partners that work within the “Basic” services tier will have further constraints as defined in their service agreements.
It is not anticipated that any changes will need to be made to integrations, service endpoints or URLs, nothing from a consumer standpoint will change once these gateway controls are in place.
If you have questions or concerns about the changes, please reach out to:
- Rett Thorpe
rett.thorpe@yardi.com - Steve Hall
steve.hall@yardi.com - Your account manager or the Yardi Storage Helpdesk
801.303.1333
Yardi ticketing system
SWS GetSiteSMSFromAddr Method
This method is used to get the current “SMS From Address” being used for the specified site.
Parameters
Name | DataType | Is Required |
---|---|---|
SiteID | Long | Required |
Description | The site’s ID number. This can be found using the GetSiteList method. |
Returned Parameters
Name | DataType |
---|---|
Response | String |
Description | “SUCCESS” indicates that the query was successful, or “FAILURE” if not. |
ID | String |
Description | The site’s ID number. This echoes the requested site ID. |
STATUS | String |
Description | The current SMS From Address. |
Example
As with every method we need to pass in credentials. We do this with the LookupUser request object.
We’ll assume you’ve got a web reference, let’s name it SWS, in your Visual Studio project. At this point we only need to create our SiteID request object and a GetUpdateSMS response 2 object. We can define and create those objects like this:
// Create the request and response objects SWS.WSSoapClient service = new SWS.WSSoapClient(); SWS.SiteID_Request siteID_rqst = new SWS.SiteID_Request(); SWS.GetUpdateSMS_Response2 response = new SWS.GetUpdateSMS_Response2 ();
Now we set up the parameters for our request.
// SiteID Request- this is a required parameter siteID_rqst.SiteID = 123456;
We can then call the method and pass across the login object and the request objects to get our resultant dataset. It’s a good idea to do this in a Try Catch block.
// Call the method that will load the response object try{ response = service.GetSiteSMSFromAddr (user_rqst, siteID_rqst);} catch (Exception ex){ MessageBox.Show(ex.Message);}
Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged.
For a full list of methods see SWS Methods.
SWS GetOrgSMSStatus Method
This method is used to get the current SMS Messaging Status for the organization.
Parameters
Name | DataType | Is Required |
---|---|---|
None | ||
Description | This is based on your credentials in LookUpUser_Request, so does not require any additional parameters. |
Returned Parameters
Name | DataType |
---|---|
Response | String |
Description | “SUCCESS” indicates that the query was successful, or “FAILURE” if not. |
ID | String |
Description | The organization’s ID number. This echoes the ID of the organization for which the credentials apply. |
STATUS | String |
Description | Indicates the current SMS messaging status. Available values:
|
Example
As with every method we need to pass in credentials. We do this with the LookupUser request object.
We’ll assume you’ve got a web reference, let’s name it SWS, in your Visual Studio project. At this point we only need to create a GetUpdateSMS response 2 object.
// Create the request and response objects SWS.WSSoapClient service = new SWS.WSSoapClient(); SWS.GetUpdateSMS_Response2 response = new SWS.GetUpdateSMS_Response2 ();
We can then call the method and pass across the login object and the request objects to get our resultant dataset. It’s a good idea to do this in a Try Catch block.
// Call the method that will load the response object try{response = service.GetOrgSMSStatus (user_rqst);} catch (Exception ex){ MessageBox.Show(ex.Message);}
Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged.
For a full list of methods see SWS Methods.
SWS PhoneSMSBlacklistStatus Method
This call may be used to GET or SET the SMS blacklist status for a PhoneID record for specified SiteID. This applies only to the phone number of the specified PhoneID. PhoneID must be supplied in the call. Only records having RENTAL_STATUS of “CURRENT_OCCUPIED”, “DELINQUENT”, “IN_PROCESS”, “RESERVED” or “SOFT_RESERVED” will be reported or affected.
Parameters
Name | DataType | Is Required |
---|---|---|
SiteID | Long | Required |
Description | The site’s ID number. This can be found using the GetSiteList method. | |
Get_Set | String | Optional |
Description | Accepted values are “GET” or “SET”, with “GET” being the default value. | |
RentalID | Long | Required* |
Description | The rental item’s ID number. This is returned when using the MakeReservation method or can be searched for using the SearchBy method. * Either the RentalID or PhoneID is required. |
|
PhoneID | Long | Required* |
Description | The ID number of the phone. This can be found using the GetContacts method. * Either the RentalID or PhoneID is required. |
|
Status | String | Required* |
Description | Indicates if you are enabling SMS on an account (“SET”) or just getting the current status (“GET”). * This value is required only for “SET”, otherwise it is ignored. |
Returned Parameters
Name | DataType |
---|---|
Response | String |
Description | “SUCCESS” indicates that the query was successful, or “FAILURE” if not. |
PHONE_ID | Long |
Description | The ID number of the rental. |
STATUS | String |
Description | The current SMS enabled status of the Rental/Phone combination. If using “GET”, this is the current status. If using “SET”, returns the status you just added. |
Example
As with every method we need to pass in credentials. We do this with the LookupUser request object.
We’ll assume you’ve got a web reference, let’s name it SWS, in your Visual Studio project. At this point we need to create our objects. We’ll need the standard service object, a SiteID request object, an GetUpdatePhoneID request object, and a GetUpdateSMS response 2 object. We can define and create those objects like this:
// Create the request and response objects SWS.WSSoapClient service = new SWS.WSSoapClient(); SWS.SiteID_Request siteID_rqst = new SWS.SiteID_Request(); SWS.GetUpdatePhoneID_Request SMSphone_rqst = new SWS.GetUpdatePhoneID_Request(); SWS.GetUpdateSMS_Response2 response = new SWS.GetUpdateSMS_Response2 ();
Now we set up the parameters for our request.
// SiteID Request- this is a required parameter siteID_rqst.SiteID = 123456; // Get_Set Request // this is an optional parameter, “GET” is the default value SMSphone.Get_Set = “GET” // PhoneID Request // this is a required parameter SMSphone_rqst.PhoneIDs(0).PhoneID = 345678;
Finally we can call the method and pass across the login object and the request objects to get our resultant dataset. It’s a good idea to do this in a Try Catch block.
// Call the method that will load the response object try{response = service.PhoneSMSBlacklistStatus(user_rqst, siteID_rqst, SMSphone_rqst);} catch (Exception ex){MessageBox.Show(ex.Message);}
Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged.
For a full list of methods see SWS Methods.