I get all messages using API and store their in my database.
If an user modify his message that I have been got, how could I get this new message modified?
Does someone know what method to use or what API because I need to retrieve this text modified and update the older
Thanks a lot for your replies
You should use the [Data Export API][1] for this task. The MessageVersions.csv file will be updated with changes that you can review. There have been no changes to the REST API surface for the Edit Post feature.
Related
Summary
I am using the Bot Framework REST API to create and update Microsoft Teams posts.
I have found that I can only update the last two posts of a conversation, but cannot find documentation that describes this restriction.
It is not possible to identify the failed updates from the API response, as the HTTP response code and body is always the same, regardless of whether the update works or not (200 with the id of the "updated" activity). I would expect the response to indicate the failure, and so this appears to be a Teams bug.
Detail
I can create conversations and create replies to conversations using the Bot Framework REST API without issue (using the create conversation and send to conversation endpoints). My problem arises if I try to update these messages.
Given a conversation that looks like this:
parent_message
|_ child_message_1
|_ child_message_2
|_ child_message_3
If I attempt to use the update activty endpoint to update each one of these messages, I observe that:
I can always update parent_message.
I can update child_message_3 and child_message_2, but not child_message_1. In each case the HTTP response is a successful HTTP response (200 response code, with a JSON body that contains the id of the updated message), regardless of whether the update succeeds or not.
If I add another message, child_message_4, then this will be updatable, but child_message_2 will no longer be updatable. I assume this is because now child_message_2 is no longer one of the last two messages.
I see the same behavior if another user adds messages to the conversation, ie. if a user were to make two posts to the conversation I would no longer be able to update any of my own child messages as they are no longer one of the last two messages.
My questions are:
Does anyone know if this restriction is by design? If so, can you point to some documentation on this?
Is it possible to determine when an update fails? As mentioned, the HTTP response always reports success so I'm unable to find a way to do this. Is this a bug in Teams?
Thanks for reporting this. We are able to repro this at our end and we are tracking it here: MicrosoftDocs/msteams-docs#2011
Please follow this issue for updates/progress/questions.
Updates: This is fixed.
This appears to be a bug, but I think the bug is different from what you think it is. Go ahead and "refresh" the conversation and you should see the updates in effect. If you're using the web app then you can refresh the page, but since you're probably using the desktop or mobile app then you could try switching to another conversation and back, or you might have to sign out and sign in again.
My Xero app synchronises itself on a regular basis and checks for any Invoice changes. If there is an changes to an invoice it will be generally picked up when the ifModifiedSince option is supplied.
This is the query command:
client.Invoice.all(
page: source_page,
modified_since: #invoices_modified_since,
where: { date_is_greater_than_or_equal_to: #from, date_is_less_than_or_equal_to: #to }
)
The problem is that I want to receive an update if an attachment has been added to the invoice. At the moment this doesn't trigger an Invoice update.
Is there anyway of knowing when an attachment on an invoice has been added or removed?
Here is my testing case:
Make a new Invoice (no attachment)
Add an attachment to the invoice
Resync and watch the Xero log
Remove the attachment from the invoice
Resync and watch Xero log
Expected: should see invoice being sent by Xero for syncing/updating
Actual: No invoice data is sent by the Xero API
Many thanks!
This has already been requested on Xero UsetrVoice page here. The intended purpose of
UpdatedDateUTC primarily is to see payments added to invoice. Unfortunately Addition/Changed to attachments to an invoice doesn't change the updateddateutc. If you’re keen to see this implemented soon please vote for the feature request, that way you can also get automatically intimated once this has been implemented.
Hope this helps.
Cheers
Sri
I contacted Xero and they got back to me. That is pretty good to begin with!!
Anyway, at this point there is no way to do what I want. According to Xero the main use of the update/modified_since feature is to see payment changes.
However, it has been submitted as a feature request to Xero and there is more information here too: https://xero.uservoice.com/forums/5528-xero-accounting-api/suggestions/90148-update-the-updateddateutc-when-an-invoice-is-modif
Perhaps there is a different way, but not via the modified since option.
I am looking to display incoming push notifications in a table view within my app. I am using the parse framework for push notifications which are triggered via scripts within an existing CRM product. I have setup separate channels for each user for advanced targeting purposes.
What i am looking to do is display all push notifications for the specific user based on their channel in a table view. I would also like to have a way for the user to delete the notification from their phone but not from the parse backend. I'm pretty sure this could be done with a query and a custom field in parse to show a message as deleted by user. The query would look at the channel and then the custom field to only display messages not marked as deleted.
My question is how to structure the query and where/how to add this custom field?
I have found a solution that works.
Trying to capture from an incoming push notification seems like it would only work once the application is opened and would cause delays in displaying in the table view. Trying to capture and store the data received from the push notification requires a call to parse in order to save it as an object in my custom class. I found it easier to make a call to the Rest API to create a row in a custom class in parse.
So basically when a push is triggered to an individual user the following happens.
Creates an API call to post data to parse in my custom class with all the info contained in the Push Notification plus other details like the user receiving it and info for reporting purposes.
Then the push notification is triggered after the object is created in my custom class.
Finally I have the table view querying the custom class to find the push items that are specific to the user and displays them in the table view.
So far this has worked wonderful and seems to be the easiest way to accomplish what I was looking to do.
Since push are tied to Installations (not users) I might suggest that you add column to the Installation table (as a collection) to a custom object you create to represent each push.
You could capture the push notifications locally and store them on the device, but I think that might only work for pushes received while the app is in foreground. The app would not have access to pushes received while in background mode unless the user performs an action on the notification.
It a shame, since I know this data is already being capture somewhere in Parse, but it does not seem to be exposed through their current API. I hate having to store this data again, but I see no other alternative.
I am using wire2air api for sending bulk sms and polling. but unable to get the delivery status for SMS.
I also have a look out their documentation here http://www.wire2air.com/developer_apis.asp
but unable to find any help from it.
also for replypath parameter in APi it is mentioned that "ONLY available in advance developer API."
So also not able to know what advance developer APi. is do i need to purchase different plan for it.
Any help on this is Appreciated.
Amit,
In order to get real-time delivery status from wire2air, you would need to implement their real-time delivery reports webservice. You should contact wire2air support, to activate the feature. If you're using a shared short code, Replypath is only used for receiving replies back to your server, this allow end users to reply to text message without using keyword.
--Sam
I am using the google checkout api to process orders in an online store that i am building.
i ran into an issue today that i cannot move past! oi i am getting such a huge headache from this! So here is the problem:
when i send google an xml-based order, they send me back a grip of information that looks something like this:
<?xml version="1.0" encoding="UTF-8"?>
<checkout-redirect xmlns="http://checkout.google.com/schema/2"
serial-number="981283ea-c324-44bb-a10c-fc3b2eba5707">
<redirect-url>
https://checkout.google.com/view/buy?o=shoppingcart&shoppingcart=8572098456
</redirect-url>
</checkout-redirect>
I have been able to use this in the past, and i have just passed in <merchant-private-data> tags in my order request to specify unique orders. i just use the redirect-url above to send them to a page where they complete their order, and google sends me a notification with a serial-number. I pass back the serial-number along with my merchant_id and merchant_key and they send me back a bunch of xml with my order data.
I have already gotten my application working like this. the problem is that now i am trying to make my application so that you can plug in your google merchant id and key and my application will handle the order processing for you. the problem here is that when they send me the serial number in the notification, I don't know which merchant-key or merchant-id to send back to them. And now we have come full-circle to the basis of my question, which is this:
what is this serial-number that google is sending me??? it is definitely not the serial number that the notification api is sending me (unless i have to decode somehow?). Google gives no explanation in their documentation about this and all of the other questions regarding it can be answered by simply using merchant-private-data tags.
Please somebody! some wizard out there! Please help me!!!
The serial number is only relevant to a specific merchant - based on your post, you can equate this to a "specific callback api url" (in serial number notification).
If/when you ask a merchant to give you their mid/key, you'll have to provide them (merchant) the (unique) url they have to provide to Google.
So the "relationship" will be "mid/key/callback api url".
Hth.