Docusign Basic API Limitations - api

<--------- UNNECESSARY BACKGROUND INFO --------->
I have a client who wanted a simple contract run through docusign. I created a form, he fills the form with basic information, and then docusign sends a contract to his customer with the information populated. So I sign up with a demo API account and get everything going. After about a week, I have everything perfect and am ready to roll with a live account. I sign up for the Basic API for $50/month and upload the template from the demo account. It doesn't let me do it, because my account is not allowed to use calculated fields. Fine, I remove the 3 calculated fields and try again. Now it says I can't use conditional fields (which isn't mentioned in the API pricing on the website). Then I look to see that the Basic API doesn't even have data labels! I can't pay for the Advanced API for this one form that will get used maybe 10 times per month.
<--------- QUESTION STARTS HERE --------->
Can I pre-populate documents with the Docusign API using "settexttabs" if I have a Basic API account? If so, how can it be done without data labels available?
Is there an alternative option that doesn't require a higher level API purchase?

I'm not sure which plan and which feature you are referring to (https://www.docusign.com/products-and-pricing) but I every plan allows for API use. I suspect you need advanced fields and that is only available in the $40 plan (not $50) but I'm not clear on which feature exactly you are trying to use.

Related

Requirements for beginner using twitter api to retweet specific tweets

I am new to twitter api.
I want to search tweets that have 2 specific terms and 1 specific hashtag, and then I want to retweet them in my account for the purpose of consolidating all the tweets.
Do I need to have a developer account?
Should I look to an already existing app (I prefer one that is free or open source), or can I do this with twitter api as a regular user?
Any tutorials or instructions are greatly appreciated. TIA.
I have applied for a developer account, but I don't know how long it will take - I also don't know what the criteria are for being granted one.
I found different kinds of "retweet" applets on ifttt.com - I implemented one of them, and it accomplished what I wanted to achieve, though not perfectly, and there was no documentation to customize functionality, etc.
I couldn't find information anywhere about using twitter API without a developer account, so I applied for that type of account. They emailed approximately 3 times to get more information about my use case, and purposes, intent of use, what I intend to develop, etc. My application was approved within approximately 48 hours.
I will update this answer if there is more information I think might be valuable to share.

Using Google Calendar Web API to dynamically create events on (company) calendar?

I've reviewed the Google Calendar API docs and having trouble finding information on creating events on a predefined calendar.
The Browser Quickstart docs worked just great to get up and running by authenticating use of my calendar. However, do you have advice on how to allow users to create events on a predefined calendar?
Use case:
We have a couple web forms for users (leads) to complete. When certain criteria have been met, we'd like to pass details from the web form to a Google Calendar event on our company calendar.
User completes web form which includes a handful of questions, namely two date/time pickers
On form submission, deliver form values to Google Calendar API - create event dynamically using information submitted in the form
Standard calendar functionality happens; notifications, etc. generated from Google Calendar
More clarification:
Users don't need view access to the calendar
The calendar integration is irrelevant to users, they're just submitting a contact form
It appears the only required event fields are start and end time so that's easy enough to grab from a date picker I'm just lost on how to engineer the connection to our company calendar named e.g. "User Created Events".
I know this can be done with Zapier. I'd like to learn the correct way though.
Based from Calendar API Sharing and Attendees:
There are two different ways to share calendar and event data with
others.
Firstly, you can share an entire calendar, with a specified level of
access. For example, you can create a team calendar, and then do
things like:
Grant all members of your team the right to add and modify events in the calendar
Grant your boss the right to see the events on your calendar
Grant your customers the right to only see when you are free or busy, but not the details of the events
You can also adjust the access to individual events on the shared
calendar.
You can share with somebody a specific created event on a calendar using google api by going through ACL - access control list.
I use Zapier for my organization to complete the exact same scenario. Ideally the webform service you use has a built in integration with Zapier, otherwise there will be some coding involved to have this work.
Assuming your webform service has an integration with Zapier:
Trigger Event: There is likely a trigger scenario along the lines of "execute zap on submission of new record". Upon this trigger activating, depending on how your webform service sends data, you will likely receive a list of values corresponding to the data entered.
Optional Action: Depending on the consistency of the data being entered through the webform you may want to also consider adding a step using the Zapier code module. The code module allows you to take the data gathered during the trigger event and manipulate it as you see fit (I personally use this step to check that data was entered correctly). That said it is an advanced step and does require some coding experience in either javascript or python. See the Python documentation here and the Java documentation here.
Google Calendar Action: If you haven't already you will be required to authorize Zapier's access to read and write to your calendar. Zapier makes this pretty straight forward. Click the "connect account" button and a dialog window will appear asking you to log into your gmail account. After you have connected your account you can then setup your template. Using the drop downs within the template you can select what data you would like to be entered into each field. Assuming everything went correctly then you should see the information added to your calendar.
See the documentation here for further explanation.
Assuming your webform service does not have an integration with Zapier:
This is a bit trickier and will be dependent on the whether or not your webform service allows you to make POST requests based on the entering of new forms. This will as well require a good deal more programming to get up and running. Not knowing the platform you are using to capture user input forces me to make a lot of assumptions.
So assuming your webform platform has the ability to make POST requests with the data from a newly entered record, or allows you to program it to do so, you could use Zapier's webhook module as a trigger. See Zapier's webhook documentation here.
For this to work you would have to start by creating a webhook endpoint through Zapier. The endpoint is just a url that is waiting to receive data sent to it from an outside source, in this case your webform platform.
The zap template would look as follows:
Trigger Event: POST request data caught by Zapier webhook endpoint. Once the data is captured it can be used in the same way you would with a standard zap. That is to say that the data, in the form of key/value pairs, will now be populated in Zapier's drop down list you use to move information from one step to the next.
Optional Action: Once again you can leverage Zapier's code module to apply logic to the captured data.
Google Calendar Action: Same as the "Google Calendar Action" listed above.
Edit:
In re-reading your question I realize that you are looking to achieve this without using zapier. I will leave this answer up for the time being, as perhaps it will have some value to you. If not I can remove it.

Google Analytics APIs: get two specific numbers only (as simple as possible)

I want to get two statistics (Visits today, visits total) from my GoogleAnalytics account.
I checked Google Analytics resources such as
https://developers.google.com/analytics/devguides/reporting/?hl=en
https://developers.google.com/analytics/devguides/reporting/core/v3/reference
But it seems pretty time-consuming to get a certain ID, oAuth and everything working.
I do not need any user authentication, just an API request from my backend (GA authentication should be provided via request url for example).
To be honest, I found myself jumping from one link to another when doing tutorial and did not accomplish anything at the end.
What is the quickest way to get everything working? If there is a nice tutorial on getting JUST basic (two numbers) stuff from GoogleAnalytics I would be very grateful (everything I see is working almost as GA itself - just with custom styles/graphs etc. I need plain and simple number returned via REST api for instance.)
Thanks for any info!
Auth is understandably complicated, but it sounds like you need service account authentication since you are querying your own data and need it to run on the back end.
The quickest way to get from zero to querying the API is to follow the Hello Analytics Guide. I have linked you to the PHP service account page. But there are examples of service accounts, web apps, and installed apps in four different languages.
But an outline of the main steps are
Create a project in the Google developer console
Within that project create a service account and download the p12 file.
add that service account email to the particular view you wish to query.
You are now ready to modify the Hello Analytics example.
Below is a simple query for the number sessions today:
function getResults(&$analytics) {
return $analytics->data_ga->get(
'ga:XXXX', // Replace with your view ID.
'today',
'today',
'ga:sessions');
}
Feel free to ask any clarifying questions in the comments section.

when create Order and Customer via API Shopify data not show in Admin panel

I have a problem with Shopify API. I use python API for Shopify. When I create a new order via API, data exists (I check via API too) but it's not shown within Shopify admin panel.
It's pretty likely that you're interacting with two different stores if you're getting 200 OKs and seeing the Orders come back through the API and not through the admin.
It's worth checking shopify.Shop.current().domain to see if it matches up with the admin that you're interacting with. If you're still seeing issues, post the contents of your request (including headers) and it will be a lot easier to give you a hand :)

Can client side mess with my API?

I have a website that revolves around transactions between two users. Each user needs to agree to the same terms. If I want an API so other websites can implement this into their own website, then I want to make sure that the other websites cannot mess with the process by including more fields in between or things that are irrelevant to my application. Is this possible?
If I was to implement such a thing, I would allow other websites to use tokens/URLs/widgets that would link them to my website. So, for example, website X wants to use my service to agree user A and B on the same terms. Their page will have an embedded form/frame which would be generated from my website and user B will also receive an email with link to my website's page (or a page of website X with a form/frame generated from my server).
Consider how different sites use eBay to enable users to pay. You buy everything on the site but when you are paying, either you are taken to ebay page and come back after payment, or the website has a small form/frame that is directly linked to ebay.
But this is my solution, one way of doing it. Hope this helps.
It depends on how your API is implemented. It takes considerably more work, thought, and engineering to build an API that can literally take any kind of data or to build an API that can take additional, named, key/value pairs as fields.
If you have implemented your API in this manner, then it's quite possible that users of this API could use it to extend functionality or build something slightly different by passing in additional data.
However, if your API is built to where specific values must be passed and these fields are required, then it becomes much more difficult for your API to be used in a manner that differs from what you originally intended.
For example, Google has many different API's for different purposes, and each API has a very specific number of required parameters that a developer must use in order to make a successful HTTP request. While the goal of these API's are to allow developers to extend functionality, they do allow access to only very specific pieces of data.
Lastly, you can use authentication to prevent unauthorized access to your API. The specific implementation details depend largely on the platform you're working with as well as how the API will be used. For instance, if users must login to use services provided by your API, then a form of OAuth may suffice. However, if other servers will consume your API, then the authorization will have to take place in the HTTP headers.
For more information on API best practices, see 7 Rules of Thumb When You Build an API, and a slideshow from a Google Engineer titled How to Design a Good API and Why That Matters.