Calculate Confirmations with Blockchair.com API - api

recently I have worked with the blockchair.com API to track a payment status. However, I somehow need to track the confirmations, as they don‘t directly provide it, I‘m looking for someone who could help me calculate the confirmations.
https://blockchair.com/api/docs#link_201
From what I saw, this is their formula (written in their docs):
confirmations = context.state - data.{:id}ᵢ.block.id + 1) but I dont really know what data.{:id}ᵢ.block.id should be as it‘s not shown in the example and also not in any request with confirmations.

Related

Give the api's response back to the client in batches with pagination using flask/python?

I am trying to figure out that if there is something that can help the use case mentioned below:
My use case is that I have an API that gives the response for the DB for a given time period. Now for the smaller time period, there is no issue but if the time period for which the query is being made increases then it will add a significant amount of time until the API responds. I do not want the UI to keep loading until the full response is received.
Thus I was thinking that there should be some mechanism using which I can get the response from the API in an incremental fashion(in batch) so that I can show the user and the user do not have to wait until the API is executed completely.
Any help on coding or design would be greatly appreciated.
Well I did some R/D and was able to fulfill my requirement with the Pagination package of flask_mongoengine
http://docs.mongoengine.org/projects/flask-mongoengine/en/latest/
this has the sample implementations.

JQL query that shows the tasks which have new comments on them

I work for a university and my group uses JIRA to maintain our technology helpdesk. We often send messages to customers and wait days to hear a response. I am looking for a filter that will show all the open tasks which are assigned to me and have a new comment from someone other than me. This way I don't have to look through all of my tasks, I can easily tell from this filter, whether any of my tickets now require a response from me.
So far I have this search:
assignee = currentUser() AND status != Done AND
updatedDate > startOfDay(-1d) AND updatedDate < endOfDay(-0d)
It doesn't look like Jira provides a way to access number of comments, last comment date, etc. The closest thing I could find in their reference was Comment which only checks the text of a comment.
Possible Alternatives
Add yourself as a watcher of the Jira issues and setup email notifications. This is what I do to manage my Jira issues. I setup a Jira folder in my email and an automated filter to move all Jira notifications into it. Then I just look through that folder multiple times per day. The downside is you'll keep more notifications than you actually need or care about.
Use Jira's REST API. If you or someone at your school has some programming knowledge, you could probably use the Jira API. Potential solution:
Use the search endpoint to get a list of issues. You can pass JQL to the API to filter the issues.
Use the get issue endpoint to get the details of each issue returned from the search. Within those details are all the comments on the issue, including the time the comment was posted.

VirtoCommerce - Creation of a new payment gateway

I have a big problem dealing with new payment gateway creation. I followed a tutorial but I think I did something wrong because it doesn't work well.
I would like to create a "devis" (sorry I don't know the word in english... It looks like that.
When the customer buys something, he could choose this kind of payment which does nothing but provide the "devis". It would be perfect if the status of the order could be "on hold" directly in order to unhold it when the "real payment" is done.
I hope you have understand what I try to do but if you have not be free to ask me questions.
Here is what I've done:
I created a new class in the VirtoCommerce.PaymentGateways namespace called DevisPaymentGateway which inherits from the PaymentGatewayBase class.
In this class there is just one method: ProcessPayment where I do:
payment.status = PaymentStatus.Completed.ToString();
in the SqlOrderDatabaseInitializer.cs
I created a private SetupDevisGateway method:
private void SetupPaypalGateway(List<PaymentGateway> gateways)
which is called in the CreatePaymentGateways method just after the paypal gateway.
I deployed the database thanks to your powershell script, the gateway
is created as expected.
I enabled the gateway payment via
VirtoCommerce Manager Then I bought something on the website and I
chose the new Payment which is available so it seems to work.
When I click on proceed to checkout I have a new order line which is created
with the "Pending" status so it's perfect...
When I bought something with paypal for example, there was the same reaction BUUUT when the new order line was created there was the onBeforeUpdate method which detected that new line and some work was done asynchronously. With the new gateway it seems that the onBeforeUpdate method doesn't work anymore...
I think that I've forgot something which is done with Paypal and not with my gateway but what and where?
I already know that it's not a good idea to write something in the SqlOrderDatabaseInitializer.cs but I don't think that it's the problem... Does anybody have a solution?
Thanks
Edit: Explanation on what I try to achieve:
Products which are sold are in fact a couple: "images treatments" + "images"
Each customer can manage album and put photos into it, and when he clicks on a product (which is a treatment) he can choose an album.
So it's why I need this event, when the payment is done and the status change from pending to in progress, I send relevant information (about the treatment, the album...) to a queue and I have worker roles (one for each treatment) which read these messages and do some work.
I hope you understand the idea but if you don't, do not hesitate to ask me questions
can you explain why do you need that event? What will you do when that event is raised?
Some explanation below on how status is changed for the order below:
The order status is actually changed by the job "ProcessOrderStatusWork class" that simply runs in the background and changes the status order status from "Pending" to "InProgress" after order has been in pending state for a certain period of time. I would suggesting for you to create a copy of "ProcessOrderStatusWork" class and create a new job (name it MyProcessOrderStatusWork class), that in addition to changing status also adds custom work for your payment. You can then register that Job and disable the one included with VC, so it is not duplicated (by adding it in the database,similar to how you did payment gateway).
It might work for PayPal, because it uses slightly different logic, as order created on call back from PayPal, thus executing in the same web process and event is raised.

See how much was donated to a particular Thing

Say you want to have a kickstarter-like site using Flattr, where you create a Thing for each individual user. How would you be able to tell (with the API) how much each user Flattr'd? It wouldn't update right away (it would have to update at the first of each month), but would it be possible at all? If there's no way to do this, could you tell how much a particular Flattr'd to you in total?
In the details of each months revenue reports there's a link to download that revenue report as a CSV-file which you could then import into your system to find out how much each thing has received. The information is not yet exposed through the API (see this question) so you would have to download the files manually - luckily there's only twelve months a year so it's not too much work to do :)
The CSV-file contains these columns:
period - Date in the format of YYYY-MM
id - The internal numeric id of the flattr thing
flattr url - The URL to the thing on Flattr.com
url - The original URL that the thing is pointing to
title
clicks - The amount of clicks for the thing during the period
revenue - The revenue for the thing during the period
clicks total
So - as you see you can't see how much each individual click has been worth if a thing has received more than one click and you can't either see which users it is that has clicked the thing (you can however see some of the users by asking the regular API for more information, but since some users are anonymous you can't figure out who they are without asking them for permission to do so).
If you really need to know if a user has flattred something, then you can force them to flattr the thing through your system by having them authenticate with your system using the Flattr API - that way you will at least know if a flattr has been made by the user or not, but you will still have trouble trying to figure out how much their flattrs are worth - but that's kind of the point with Flattr - that people should spend whatever they personally feel comfortable with rather than spending what others think they should be spending.

Clickbank - Create products for testing (in Sandbox)

I am new to Clickbank.
I want to try out the API for the same.
But I am stuck in between.
Can anyone guide me through the steps to successfully create a product.
I am getting some errors
You must make a test purchase before submiting this request.
A footer disclaimer is required for all Pitch and Thank You pages.
Also wanted to know, like how can I setup the sandbox account?
Please help me out.
Thanks in advance.
This question was asked a very long time ago but I just happened across it and know the answers.
First, however I think anyone starting on ClickBank, technical or otherwise, will benefit from the following: https://www.clickbank.com/launch-checklist/
Now, to answer the question(s):
Test Purchase:
• Can't do this without creating a product first
• To create a product you do the following:
Login to the account
Click: Vendor Settings -> My Products
On this page locate the list of ADD NEW buttons & Click Product
The product editor pretty well walks you through the process
AND now for the test purchase.
That process is described here: https://support.clickbank.com/hc/en-us/articles/360036958431-How-do-I-test-a-payment-link-
Footer/disclaimer:
This is what is known as the ClickBank Trust Badge currently, (not sure about 9years ago).
It's a little element that you copy and paste into your webpage, after configuring what you want it to look like & where you want it to be, from the available options.
To find and set it up:
Login to the account
Click Vendor Settings -> My Site
Scroll down to the section with the title "ClickBank Trust Badge - Injection Code"
If you like the default setup you can copy what's in the Javascript Snippet field
If you want to change where it's located and colors click the Configure Settings button (not going to describe everything here as it's pretty straight forward as well)
ClickBank APIs
Last, you mentioned wanting to use the ClickBank API, which I happen to know very well. However, the documentation for it is also actually pretty good so let me start off with that:
General ClickBank API documentation
Additionally each APIs primary endpoint is self documenting. Additionally this documentation tends to be the most relevant for a programmer
Example of self documenting endpoint: https://api.clickbank.com/rest/1.3/orders2
So, it's worth noting the following that are required to use the API:
You must have an HTTP header of "Authorization" and it must be set to both of the API keys for an account.
Both keys refers to the API- "Clerk Key" as well as the DEV- "Developer Key"
Enter them both, separated by a colon ":" as the value of the Authorization key with the DEV- key first (DEV-A23478C...:API-IA23456...)
You must also use the correct HTTP request type for the query you are wanting to make (the only two that are utilized are GET and POST)
Examples:(NOTE: ACCOUNT_NAME_HERE is the ClickBank "nickname" or account name)
Single transaction: https://api.clickbank.com/rest/1.3/orders2/RECEIPT_NUMBER_HERE
List transactions by date range and specific account: https://api.clickbank.com/rest/1.3/orders2/list?vendor=ACCOUNTNAME_HERE&startDate=2021-12-11&endDate=2021-12-14
Count of transactions by date range: https://api.clickbank.com/rest/1.3/orders2/count/?vendor=ACCOUNT_NAME_HERE&startDate=2022-01-01&endDate=2022-01-01
Monetary value of transactions by date range: https://api.clickbank.com/rest/1.3/quickstats/count/?account=ACCOUNT_NAME_HERE&startDate=2022-02-01&endDate=2022-02-10
Sending shipping data for physical products (POST): https://api.clickbank.com/rest/1.3/shipping2/shipnotice/4NVXUFNW?item=2&date=2018-08-14&carrier=UPS&tracking=1NH323452345WODFS&comments=Test%20again%20comment%20with%20spaces10%20receipt=4NVXUFNW