I have a transaction where I output two different type of states. There is 1 state of the first type and about 5 states of other type. I have a code to track the vault by the first state type but when I send the transaction over the tracker returns all 6 states. See secreenshot
This is a bug that was filed here. It was fixed by this PR. The fix will be included in Corda 4.
Related
What is the exact difference between Sheduing Events and Transaction time windows in Corda
Time-Windows: Imagine you have a state that represents a sales offer (e.g. a dealership is selling a car at a certain price); this offer might be limited (e.g. Christmas time offer), how do you represent that in Corda?
It's a distributed system, nodes can be in different countries with different time-zones; which node has the correct data and time? That's why you can't have a point in time in Corda, you can only have time ranges, this range can be close ended (i.e. between this time and this time), or open ended (i.e. after this time, or before this time).
And since the notary is the last entity that signs a transaction; the notary is the time-stamping entity in a Corda network.
Back to our example, when you construct the transaction that creates the car sales offer, you can have an attribute in the offer that specifies the expiration date of the offer, then inside the flow that accepts (by the buyer) this offer; you can add a time-window with an open end (until expiration date minus 1 second).
With the above setup, the notary will only sign if they received the fully signed transaction (remember that the flow will probably collect the signatures of the seller and buyer) before that time limit. So in short, the signature of the notary will testify that this offer was indeed accepted before the expiration date.
You can read in detail about time-windows here, you'll find an explanation, an exercise, and the solution of the exercise.
Schedulable Events: In Corda, you can have your state automatically trigger certain actions at a relative point in time; for instance you can have the sales proposal get cancelled by the seller once it expires; in order to do so, you specify that your state is a SchedulableState and you implement the nextScheduledActivity() method where you specify what action you want to happen and when.
You can read in detail about schedulable events here, you'll find an explanation, an exercise, and the solution of the exercise.
I have problem with adding past transaction data to GA (360). Is it possible to do this, so that user's transaction date is the same in GA? I heard that I could do than via AMP, adding date as Custom Dimension, but I have to admit that I am a bit lost.
Thanks for help :)
You could populate a custom dimension with your transaction id in addition to the original transaction id field , which you then use as key in a Data Import, using "Custom data" on "Query time", to have it available in the interface retrospectively.
When creating the custom dimension, you are free to use any scope of course. I would recommend hit scope in case a session can have multiple transactions.
Not sure what you mean with "AMP". Accelerated Mobile Pages, how can they help?
I heard that I could do than via AMP, adding date as Custom Dimension
You can add the date in a custom dimension but this doesn't mean that Google Analytics assigns the transaction to the desired date (it is like assigning a label to the transaction but it will be acquired in Google Analytics on the sending date).
Sending hits cannot be retroactive.
As an observation, to help you get a answer directly associated with your data collection, if you're using 360 then you should be able to request help from your certified partner - that's part of the value of using 360.
I've got a strange problem.
I'm trying to pull out data from GA API.
metrics: ga:users
dimensions: ga:date,ga:source,ga:medium,ga:transactionId
After reviewing the data I can see that I have multiple transaction Id's.
Usually 5 to 7 duplicates per month - the same transaction ID is in two dates.
In Google Analytics there are no duplicates.
There are in the exported data + Query Explorer also shows duplicates.
Does anybody know why?
Thanks,
Krzysztof
First of all, do you make sure you use unique transactionIDs for each transaction? I've seen cases where the ERP makes certain transaction or orderIDs available again after an order was cancelled.
If you look at the transactionID in GA (click in on the ID itself to drill down into it) and change to Quantity or look at the product revenue for the graph line, do they occur on two different dates?
This behaviour is often seen if you forget to prevent the transaction pixel again on things like a page refresh. Another example is if they perhaps receive an email with "Click here to view your order/transaction" and it fires again on the receipt page.
When trying to submit a Transaction for a Partial Settlement, I'm getting the following exception + message:
Exception of type 'Braintree.Exceptions.AuthorizationException' was thrown.
There is nothing else to explain where I've gone wrong.
This is how I'm making the API call:
BraintreeHandler.Gateway.Transaction.SubmitForPartialSettlement(“transaction_id”, amount);
I know the Transaction Id is correct, because I'm loading the Transaction information beforehand. I'm also always using an amount less than the transaction total.
BraintreeHandler.Gateway.Transaction.SubmitForSettlement(“transaction_id”, amount);
The above works fine with an amount, but I don't want to submit the Transaction for settlement as I'd like to retain the ability to partially settle.
For example: If I have a Transaction Amount of £50 with a status of "Authorized", I'd like to be able to settle for £20, £20 and £10 on three separate occasions. With the SubmitForSettlement() method I can only settle for the initial £20 before the status is updated to "Submitted for Settlement". After this I can't perform any more partial settlements.
Information pertaining to the SubmitForPartialSettlement() method is conspicuously missing from the Transaction docs on the Braintree developer site. Has the method been deprecated? If not, how can I make use of it?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
SubmitForPartialSettlement is a feature currently being tested and is not available to all merchants at this time. If you would like to request multiple partial settlements to be enabled for your account, please reach out to Braintree support or your account manager.
For the time being, you have the correct solution in SubmitForSettlement, passing in an amount less than or equal to the transaction amount. You will only be able to settle once.
i have a question on e-commerce tracking. As i know in a latter stage that a conversion is successful or not i want to be able to convert a sale as conversion but with 0 value and then when the sale is actually converted to change the value of revenue for this specific sale. Is somebody able to help on that?
Best regards and happy weekend to all.
As far as I can tell this does not really work.
If you do E-Commerce tracking you can send a second transaction using the same transaction id, and at a first glance this will look like it changed to original value; however internally this will still be recorded as two transactions and change some of your metrics (e.g. conversion rates). Also the second transaction will not be connected to the original session and will most likely be attributed to a different marketing channel. Still, this is the closest you will get to change the transaction value (and you won't be able to change goal conversion values at all).
While GA has data imports it does not have a transaction data import, and at least the free version cannot change data that is already collected (data imports only apply to newly incoming data), so this will not help you.
All in all it would be simpler/more reliable to pull the data via the API and connect it to your revenue data in a spreadsheet.