Feature Service Webhook should include all fields for Delete [Implemented]

959
10
03-08-2021 04:37 PM
Status: Open
PhilLarkin1
Regular Contributor

 

Webhook payload for a deleted feature only includes the GlobalID. Unless an archive table is stored this payload is not very helpful. Ideally all fields are returned in this payload. 

 

@BruceHarold, @Peter_Klingman,@JamesTedrick 

Tags (2)
10 Comments
BruceHarold
Status changed to: Open

Thanks for this idea Phil, on re-reading your idea I'm not sure I can read all attributes and geometry of deleted features given GobalID.  This is possible with versioned enterprise geodatabases but as far as I know not feature services but I'll check.

PhilLarkin1

Hi @BruceHarold 

My use case is in ArcGIS Online, but I appreciate your comment. I can see that would be helpful on Enterprise. 

Would the Data Interoperability extension be configured to point to an Enterprise/AGOL Feature Server endpoint? 

ShanonLoughton

Yes the idea could be helpful. ArcGIS Online Webhook payload with Adds(creates) and Updates include useful info but unless you have further logic and externally recorded previous data to compare with current ArcGIS Online Feature Service data, or are recording globalIDs elsewhere to know what exactly was deleted, something better here needs to be done for Deletes.

I am looking forward to Webhooks from Feature Services in ArcGIS Enterprise, as at 10.8.1 they are not available yet.

Example ArcGIS Online Webhook payload of Adds, Updates & Deletes:

 

{
    "layerServerGens": [{
        "id": 0,
        "serverGen": 32132882
    }, {
        "id": 1,
        "serverGen": 32132882
    }],
    "transportType": "esriTransportTypeUrl",
    "responseType": "esriDataChangesResponseTypeEdits",
    "edits": [{
        "id": 0,
        "features": {

            "adds": [{
                "attributes": {
                    "OBJECTID": 124492,
                    "GlobalID": "3F823D8B-AD5D-41C3-A8F6-8D816DF7D80C",
                    "ATTRIBUTE1": "4665175",
                    "ATTRIBUTE2": "TEL",
                    "ATTRIBUTE3": "CLOSE",
                    "ATTRIBUTE4": 4,
                    ...
                    "CreationDate": 1618361889351,
                    "Creator": "",
                    "EditDate": 1618361889351,
                    "Editor": ""
                }
            }

            "updates": [{
                "geometry": {
                    "x": xxxxx.xxxxx,
                    "y": yyyyy.yyyyy
                },
                "attributes": {
                    "OBJECTID": 1,
                    "GlobalID": "C1AAB007-E95F-4F19-BB50-1E3782A788C7",
                    "ATTRIBUTE1": "4665175",
                    "ATTRIBUTE2": "TEL",
                    "ATTRIBUTE3": "CLOSE",
                    "ATTRIBUTE4": 4,
                    ...
                    "CreationDate": 1616679894675,
                    "Creator": "sloughton",
                    "EditDate": 1618371026070,
                    "Editor": ""
                }
            }],

            "deleteIds": ["0BD76252-1D71-4823-ACEC-FB73F7CEB101", "98976387-CEEB-4821-874C-30BD30BDDE9B"]
        }
    }, {
        "id": 1,
        "features": {
            "adds": [],
            "updates": [],
            "deleteIds": []
        }
    }]
}

 

 

PhilLarkin1

Thanks for your comment @ShanonLoughton. Creating additional logic to support a what should be a 'Touch Free' system isn't appealing. We will continue to support legacy ETL until this feature can be brought up to a production-ready state. 

ShanonLoughton

I agree. Hopefully this thread and feedback received by devs.

PhilLarkin1

At the latest Dev Summit, Sean McGinnis shared that ESRI is building Power Automate connectors that target Feature Service actions (Insert, Update, Delete). Pretty exciting! 

"...We've worked with that team [feature server] to extend the information that is returned from a delete inside the webhook." (link to presentation)

Can anyone from ESRI talk about when this is expected? @ShanonLoughton @SeanMcGinnis 

WebHookUpdate.png

BruceHarold

@AndrewStauffer  Can you comment?

For Data Interoperability users, regarding Phil's question - yes we can 'see' Enterprise and Online feature services.

Regarding the wider topic of no-code integration options like Power Automate, Make etc. I'm working on a sample using Data Interoperability where continuous integration is implemented and verified with a combination of scheduled feature service refreshes and triggered web tool actions in Enterprise, with the result validated from the webhook change set.

AndrewStauffer

@PhilLarkin1 The v2 ArcGIS Connector in Power Automate is currently in the Preview Region. The Power Automate or M365 Admin can create a new region, and point it to Preview if you want to access it today. 

We are in the final stages of certification with Microsoft to get v2 into General Availability and also into GCC. We expect this to take 3-4 weeks from today. 

@SeanMcGinnis is leading this work and will likely have some blogs posted that will guide people through using this action in the connector. 

PhilLarkin1

@BruceHarold @AndrewStauffer 

Awesome, thanks for the comments.

PhilLarkin1