API voor abonnementen voor gebeurtenissen

Wanneer een actie op een voorwerp van Adobe Workfront voorkomt dat door gebeurtenisabonnementen wordt gesteund, kunt u Workfront vormen om een reactie naar uw gewenste eindpunt te verzenden. Dit betekent dat toepassingen van derden updates van Workfront-interacties kunnen ontvangen via de Workfront API kort nadat ze zich voordoen. Over het algemeen kunt u verwachten dat u binnen 5 seconden vanaf het moment dat de gegevenswijziging wordt geregistreerd, webhaakmeldingen ontvangt. Gemiddeld ontvangen klanten binnen minder dan 1 seconde berichten via een webhaak vanaf de gegevenswijziging die wordt geregistreerd.

Als u via uw firewall gebeurtenisabonnementen wilt ontvangen, moet u de volgende IP-adressen aan uw lijst van gewenste personen toevoegen:

voor klanten in Europa:

  • 52 30 133 50
  • 52 208 159 124
  • 54 220 93 204
  • Op 52.17.130.2011
  • 34 254 76 122
  • 34 252 250 191

voor klanten in plaatsen buiten Europa:

  • 54 244 142 219
  • 44 241 82 96
  • 52 36 154,34
  • 34 211 224,9
  • 54 218 48 56
  • 52 39 217 230

De volgende onderwerpen ondersteunen de API voor abonnementen op gebeurtenissen:

Objecten ondersteund door gebeurtenisabonnementen

De volgende Workfront-objecten worden ondersteund door gebeurtenisabonnementen.

  • Toewijzing
  • Bedrijf
  • Dashboard
  • Document
  • Kosten
  • Veld
  • Uur
  • Probleem
  • Opmerking
  • Portfolio
  • Programma
  • Project
  • Opnemen
  • Recordtype
  • Rapport
  • Taak
  • Sjabloon
  • Tijdschema
  • Gebruiker
  • Workspace

Voor een lijst van gebieden die door de voorwerpen van het gebeurtenisabonnement worden gesteund, zie {de gebieden van het het abonnementsmiddel van de Gebeurtenis 🔗.

Verificatie van abonnement op gebeurtenis

Uw Workfront-gebruiker heeft het volgende nodig om een gebeurtenissenabonnement te maken, te vragen of te verwijderen:

  • Een toegangsniveau van "Beheerder van het Systeem"wordt vereist om de Abonnementen van de Gebeurtenis te gebruiken.

  • Een header sessionID is vereist om de API voor abonnementen op gebeurtenissen te gebruiken

    Voor meer informatie, zie Authentificatiein API Grondbeginselen.

Het vormen van het Middel van het Abonnement

De abonnementsbron bevat de volgende velden.

  • objId (optioneel)

    • Koord - identiteitskaart van het voorwerp van gespecificeerde objCode waarvoor de gebeurtenissen in brand worden gestoken. Als dit veld niet is opgegeven, ontvangt de gebruiker gebeurtenissen voor alle objecten van het opgegeven type.
  • objCode (vereist)

    • Koord - objCode van het voorwerp dat aan veranderingen wordt ingetekend. De mogelijke waarden voor objCode worden in de onderstaande tabel weergegeven.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 18-row-2 19-row-2 20-row-2 layout-auto
      Object objCode
      Toewijzing ASSGN
      Bedrijf CMPY
      Dashboard PTLTAB
      Document DOCU
      Kosten EXPNS
      Veld VELD
      Uur UUR
      Probleem OPTASK
      Opmerking OPMERKING
      Portfolio POORT
      Programma PRGM
      Project PROJ
      Opnemen RECORD
      Recordtype RECORD_TYPE
      Rapport PTLSEC
      Taak TAAK
      Sjabloon TMPL
      Tijdschema TSHET
      Gebruiker GEBRUIKER
      Workspace WORKSPACE
  • eventType (vereist)

    • Koord - een waarde die het type van gebeurtenis vertegenwoordigt waarop het voorwerp wordt ingetekend. De beschikbare gebeurtenistypen zijn:

      • MAKEN
      • DELETE
      • BIJWERKEN
  • url (vereist)

    • Koord - URL van het eindpunt waaraan de nuttige ladingen van de abonnementsgebeurtenis via HTTP worden verzonden.
  • authToken (vereist)

    • Koord - het token OAuth2 dat wordt gebruikt om met URL voor authentiek te verklaren die op het "URL"gebied wordt gespecificeerd.

API-aanvragen voor abonnementen voor gebeurtenissen maken

Nadat u ervoor hebt gezorgd dat de gebruiker beheerderstoegang heeft en de abonneebron vormt, bent u klaar om gebeurtenisabonnementen te maken.

Gebruik de volgende syntaxis om de URL samen te stellen.

Verzoek URL:

POST https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions

Kopballen van het Verzoek:

Naam koptekst
Waarde koptekst
Inhoudstype
application/json
sessionID
sessionID, waarde

Voorbeeld van het Lichaam van het Verzoek:

{
                "objCode": "PROJ",
                "eventType": "UPDATE",
                "url": "http://requestb.in/ua5hi2ua",
                "authToken": "EauthTokenWorkfrontRocks1234_"
            }
Antwoordcode
Beschrijving
201
Het gebeurtenisabonnement is gemaakt.
400 (Ongeldige aanvraag)
Het URL-veld van de abonnementsbron werd als ongeldig beschouwd.
401 (Niet-geautoriseerd)
De opgegeven sessionID is leeg of wordt als ongeldig beschouwd.
403 (verboden)
De gebruiker die de verstrekte sessionID aanpast heeft beheerdertoegang niet.

Als u een abonnementsbron doorgeeft als de hoofdtekst van een aanvraag (waarbij het inhoudstype 'application/json' is), wordt een gebeurtenisabonnement gemaakt voor het opgegeven object. Een antwoordcode van 201 (Gemaakt) geeft aan dat het abonnement is gemaakt. Een antwoordcode buiten 201 betekent het abonnement NIET werd gecreeerd.

NOTE
De responsheader 'Locatie' bevat de URI van het zojuist gemaakte gebeurtenisabonnement.

Voorbeeld van de Kopballen van de Reactie:

Antwoordheaders
Voorbeeld
Content-Length
→0
Datum
→Wed, 05 Apr 2017 21:23:33 GMT
Locatie
→https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/750a636c-5628-48f5-ba26-26b7ce537ac2
Server
→Apache-Coyote/1.1

Abonnementen voor opvragen van gebeurtenissen

Bij het opvragen van Workfront HTTP gebruikt u de methode GET. Er zijn twee manieren om te zoeken naar gebeurtenisabonnementen: query op abonnement-id (zie hieronder) of vraag naar alle gebeurtenisabonnementen.

Query uitvoeren op alle abonnementen voor gebeurtenissen

U kunt alle gebeurtenissenabonnementen voor een klant vragen, of het volgende gebruiken om de reactie te beheren. U kunt ook de volgende opties gebruiken om de reactie te beheren:

  • pagina: de optie van de vraagparameter om het aantal pagina's te specificeren om terug te keren. De standaardwaarde is 1.
  • grens: de optie van de vraagparameter om het aantal resultaten te specificeren per pagina terug te keren. De standaardwaarde is 100 met een maximum van 1000.

De aanvraagsyntaxis voor het aanbieden van alle gebeurtenisabonnementen voor een specifieke klant is als volgt:

Verzoek URL:

GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions

Kopballen van het Verzoek:

Naam koptekst
Waarde koptekst
sessionID
sessionID, waarde

Codes van de Reactie:

Antwoordcode
Beschrijving
200
Het verzoek is geretourneerd met alle gebeurtenisabonnementen die zijn gevonden voor de klant die overeenkomt met de opgegeven sessionID.
401 (Niet-geautoriseerd)
De opgegeven sessionID is leeg.
403 (verboden)
De gebruiker, die verstrekte sessionID aanpast, heeft beheerdertoegang niet.

Voorbeeld van de Kopballen van de Reactie:

Reactiekoptekst
Voorbeeld
Inhoudstype
→application/json;charset=UTF-8
Datum
→Wed, 05 Apr 2017 21:29:32 GMT
Server
→Apache-Coyote/1.1
Overdrachtscodering
→chunked

Voorbeeld van het Lichaam van de Reactie:

{
    "id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
    "date_created": "2024-04-11T17:10:10.305981",
    "date_modified": "2024-04-11T17:10:10.305981",
    "customerId": "504f9640000013401be513579fbebffa",
    "objId": null,
    "objCode": "PROJ",
    "url": "http://requestb.in/ua5hi2ua",
    "eventType": "UPDATE",
    "authToken": "authTokenWorkfrontRocks1234_"
    "subscription_url": {
        "url": "http://requestb.in/ua5hi2ua",
        "date_created": "2024-04-11T15:56:14.169489",
        "successes": 11,
        "failures": 2,
        "disabled_at": null,
        "frozen_at": null
   }
}

Wanneer

  • pagina en grens zijn de waarden die in het verzoek of het gebrek worden verstrekt als geen waarden worden verstrekt
  • page_count is het totale aantal pagina's die kunnen worden gevraagd.
  • total_count is het totale aantal abonnementen die de vraag aanpassen.

Query uitvoeren op de abonnements-id

U kunt zoeken naar gebeurtenisabonnementen op basis van de id van het abonnement op de gebeurtenis. De aanvraagsyntaxis voor abonnementen op gebeurtenissen ziet er als volgt uit:

Verzoek URL:

GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/<SUBSCRIPTION ID>

Kopballen van het Verzoek:

Naam koptekst
Waarde koptekst
sessionID
sessionID, waarde

Codes van de Reactie:

Antwoordcode
Beschrijving
200
Het verzoek is geretourneerd met het gebeurtenisabonnement dat overeenkomt met de opgegeven abonnement-id.
401 (Niet-geautoriseerd)
De opgegeven sessionID is leeg.
403 (verboden)
De gebruiker, die verstrekte sessionID aanpast, heeft beheerdertoegang niet.

Voorbeeld van het Lichaam van de Reactie:

{
    "id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
    "date_created": "2024-04-11T17:10:10.305981",
    "date_modified": "2024-04-11T17:10:10.305981",
    "customerId": "504f9640000013401be513579fbebffa",
    "objId": null,
    "objCode": "PROJ",
    "url": "http://requestb.in/ua5hi2ua",
    "eventType": "UPDATE",
    "authToken": "authTokenWorkfrontRocks1234_"
    "subscription_url": {
        "url": "http://requestb.in/ua5hi2ua",
        "date_created": "2024-04-11T15:56:14.169489",
        "successes": 11,
        "failures": 2,
        "disabled_at": null,
        "frozen_at": null
   }
}

Filteren op abonnementen voor gebeurtenissen

Filteren met gebeurtenisabonnementen kan worden gebruikt om ervoor te zorgen dat u alleen relevante berichten ontvangt. Het creëren van filters voor uw abonnementen kan het aantal berichten beduidend verminderen dat uw eindpunt moet verbruiken.

Bijvoorbeeld, kan een UPDATE - TASK gebeurtenisabonnement worden geplaatst om slechts teweeg te brengen wanneer newState van een gebeurtenislading taskStatus als huidig bepaalt.

IMPORTANT
De volgende kenmerken zijn van toepassing op het filteren van gebeurtenisabonnementen
  • Wanneer een filtergebied een niet lege waarde slechts berichten met a newState heeft die de filtersleutels bevatten en de waarden worden verzonden naar geabonneerde URL

  • U kunt door douanegegevens filtreren inbegrepen in newState EN/OF oldState van het voorwerp

  • Filters worden alleen beoordeeld op het feit of ze al dan niet gelijk zijn aan een specifieke waarde

  • Als uw filtersyntaxis onjuist is of geen gegevens aanpast in newState van de nuttige lading, zal een bevestigingsbericht niet zijn teruggekeerd om op te wijzen een fout is voorgekomen

  • Filters kunnen niet worden bijgewerkt op een abonnement dat momenteel bestaat. Een nieuw abonnement moet worden gemaakt met nieuwe filterparameters.

  • Er kunnen meerdere filters worden toegepast op één abonnement en het abonnement wordt alleen geleverd als aan alle filtervoorwaarden is voldaan.

  • Het toepassen van veelvoudige filters op één enkel abonnement is een praktijk gelijkwaardig aan het gebruiken van een EN logische exploitant.

  • Meerdere gebeurtenisabonnementen kunnen op één object worden toegepast zolang er een of meer parameters voor het abonnementsveld voor gebeurtenissen verschillen tussen de abonnementen voor elke gebeurtenis.

  • Wanneer meerdere gebeurtenisabonnementen worden toegewezen aan één object, kunnen alle gebeurtenisabonnementen die aan dat object zijn gekoppeld, worden geretourneerd naar één eindpunt. Deze praktijk kan als gelijkwaardig substituut voor logische exploitant worden gebruikt OF die niet kan worden geplaatst gebruikend filterparameters.

  • De volgende velden kunnen niet worden gefilterd:

    • DOCU.groups
    • RECORD.data
    • RECORD_TYPE.data
    • RECORD_TYPE.fields

Vergelijkingsoperatoren gebruiken

U kunt samen met het filterveld een vergelijkingsveld opgeven. Gebruik een vergelijkingsoperator in dit veld om te filteren op vergelijkende resultaten. U kunt bijvoorbeeld een UPDATE - TASK-abonnement maken dat alleen een lading verzendt als de taakstatus NIET gelijk is aan de huidige status. U kunt de volgende vergelijkingsoperatoren gebruiken:

eq: gelijk

Met dit filter kunnen berichten worden doorlopen als de wijziging die zich heeft voorgedaan precies overeenkomt met fieldValue in het filter. De waarde fieldValue is hoofdlettergevoelig.

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "again",
            "comparison": "eq"
        }
    ]
}

ne: niet gelijk

Met dit filter kunnen berichten worden doorlopen als de wijziging die zich heeft voorgedaan niet exact overeenkomt met fieldValue in het filter. De waarde fieldValue is hoofdlettergevoelig.

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "again",
            "comparison": "ne"
        }
    ]
}

gt: groter dan

Met dit filter kunnen berichten worden weergegeven als de update voor de opgegeven fieldName groter is dan de waarde voor fieldValue .

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "plannedCompletionDate",
            "fieldValue": "2022-12-11T16:00:00.000-0800",
            "comparison": "gt"
        }
    ]
}

gte: groter dan of gelijk aan

Met dit filter kunnen berichten worden weergegeven als de update voor de opgegeven fieldName groter is dan of gelijk is aan de waarde voor fieldValue .

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "plannedCompletionDate",
            "fieldValue": "2022-12-11T16:00:00.000-0800",
            "comparison": "gte"
        }
    ]
}

lt: minder dan

Met dit filter kunnen berichten worden weergegeven als de update van de opgegeven fieldName kleiner is dan de waarde voor fieldValue .

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "plannedCompletionDate",
            "fieldValue": "2022-12-18T16:00:00.000-0800",
            "comparison": "lt"
        }
    ]
}

lte: kleiner dan of gelijk aan

Met dit filter kunnen berichten worden weergegeven als de update voor de opgegeven fieldName kleiner is dan of gelijk is aan de waarde voor fieldValue .

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "plannedCompletionDate",
            "fieldValue": "2022-12-18T16:00:00.000-0800",
            "comparison": "lte"
        }
    ]
}

contains

Met dit filter kunnen berichten worden doorlopen als de wijziging die zich heeft voorgedaan de fieldValue in het filter bevat. De waarde fieldValue is hoofdlettergevoelig

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "again",
            "comparison": "contains"
        }
    ]
}

wijzigen

Dit filter staat berichten toe om door te komen slechts als het gespecificeerde gebied (fieldName) een verschillende waarde in oldstate en newstate heeft. Het bijwerken van andere gebieden naast gespecificeerd (fieldName) zal niet die verandering terugkeren.

NOTE
fieldValue in de array filters eronder heeft geen effect.
{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "",
            "comparison": "changed"
        }
    ]
}

state

Met deze connector wordt het filter toegepast op de nieuwe status of oude status van het object dat is gemaakt of bijgewerkt. Dit is handig als u wilt weten waar een wijziging van de ene naar de andere wijziging heeft plaatsgevonden.
oldState is niet mogelijk op CREATE eventTypes .

NOTE
Het abonnement hieronder met het opgegeven filter retourneert alleen berichten waarin de naam van de taak again bevat op de oldState -taak, wat deze was voordat een update op de taak werd uitgevoerd.
Een gebruiksgeval voor dit zou zijn om de objCode- berichten te vinden die van één ding aan een ander veranderden. Bijvoorbeeld om alle taken te weten te komen die van "Onderzoek één of andere naam"in "Onderzoek TeamName Één of andere naam"veranderde
{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "again",
            "comparison": "contains",
            "state": "oldState"
        }
    ]
}

Verbindingsvelden gebruiken

In het veld filterConnector op de payload van het abonnement kunt u kiezen hoe de filters moeten worden toegepast. De standaardwaarde is "AND", waarbij de filters true moeten zijn voordat het abonnementsbericht wordt weergegeven. Als "OR" is opgegeven, moet slechts één filter overeenkomen voor het abonnementsbericht dat wordt doorgestuurd.

{
    "objCode": "TASK",
    "eventType": "UPDATE",
    "authToken": "token",
    "url": "https://domain-for-subscription.com/API/endpoint/UpdatedTasks",
    "filters": [
        {
            "fieldName": "name",
            "fieldValue": "again",
            "comparison": "contains"
        },
        {
            "fieldName": "name",
            "fieldValue": "also",
            "comparison": "contains"
        }
    ],
    "filterConnector": "AND"
}

Gebeurtenisabonnementen verwijderen

Bij het verwijderen van Workfront HTTP gebruikt u de methode DELETE. De aanvraagsyntaxis voor het verwijderen van één gebeurtenisabonnement op basis van abonnement-id ziet er als volgt uit:

Verzoek URL:

DELETE https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/<SUBSCRIPTION ID>

Kopballen van het Verzoek:

Naam koptekst
Waarde koptekst
sessionID
sessionID, waarde

Codes van de Reactie:

Antwoordcode
Beschrijving
200 (geen inhoud)
De server heeft het gebeurtenisabonnement verwijderd dat overeenkomt met de opgegeven abonnement-id.
401 (Niet-geautoriseerd)
De opgegeven sessionID is leeg.
403 (verboden)
De gebruiker die de verstrekte sessionID aanpast heeft beheerdertoegang niet.
404
De server kan geen gebeurtenisabonnement vinden dat overeenkomt met de abonnement-id die is opgegeven voor verwijdering.

Voorbeeld van de Kopballen van de Reactie:

Reactiekoptekst
Voorbeeld
Datum
→Wed, 05 Apr 2017 21:33:41 GMT
Server
→Apache-Coyote/1.1

Voorbeeld van het Lichaam van de Reactie: nvt

Voorbeelden van gebeurtenistaken

De lading die een gebruiker ontvangt varieert afhankelijk van het objecttype, maar er is een verenigbare formaat waarvoor die variërende ladingen worden geleverd.

De volgende eigenschappen blijven bijvoorbeeld consistent voor alle gebeurtenisladingen:

  • eventType
  • subscriptionId
  • oldState
  • newState
  • eventTime

Hoewel de indeling consistent is, variëren de waarden in de eigenschappen tussen de verschillende objecten en objecttypen.

Hieronder ziet u voorbeelden van ladingen voor een UPDATE-gebeurtenis en een CREATE-gebeurtenis. In het voorbeeld UPDATE zijn de objecten oldState en newState hetzelfde, terwijl in het voorbeeld CREATE het object oldState leeg is (niet NULL).

Hieronder ziet u een voorbeeld van een payload voor een UPDATE-gebeurtenis:

{
                  "eventType": "UPDATE",
                   "subscriptionId": "8a0d839d5ef32c9a015ef336a5ed0002",
                   "eventTime": {
                       "nano": 998000000,
                       "epochSecond": 1507319336
                   },
                   "newState": {
                "ID": "59d7ddf7000002322d791eb08bafddfb",
                       "name": "EventSub Test updated",
                       "objCode": "PROJ",
                       "entryDate": "2017-10-06T13:48:07.776-0600",
                       "accessorIDs": [
                           "544820df0000142362741fc0c368de19"
                       ],
                       "lastUpdateDate": "2017-10-06T13:48:56.980-0600",
                       "groupID": "544820df0000140f6a9c1faa7cacadd3",
                       "sponsorID": null,
                       "description": null,
                       "plannedCompletionDate": "2017-10-06T09:00:00.000-0600",
                       "enteredByID": "544820df0000142362741fc0c368de19",
                       "ownerID": "544820df0000142362741fc0c368de19",
                       "templateID": null,
                       "priority": 0,
                       "companyID": null,
                       "portfolioID": null,
                       "referenceNumber": 1894,
                       "lastUpdatedByID": "544820df0000142362741fc0c368de19",
                       "customerID": "544820df0000135b7719dcca654391f6",
                       "currency": null,       "categoryID": null,
                      "status": "CUR",
                      "parameterValues": {}
                   },
                   "oldState": {
                       "ID": "59d7ddf7000002322d791eb08bafddfb",
                       "name": "EventSub Test 180fd595-63fb-4fa9-bd47-58bf6e53d964",
                       "objCode": "PROJ",
                       "entryDate": "2017-10-06T13:48:07.776-0600",
                       "accessorIDs": [
                           "544820df0000142362741fc0c368de19"
                       ],
                       "lastUpdateDate": "2017-10-06T13:48:07.792-0600",
                       "groupID": "544820df0000140f6a9c1faa7cacadd3",
                       "sponsorID": null,
                       "description": null,
                       "plannedCompletionDate": "2017-10-06T09:00:00.000-0600",
                       "enteredByID": "544820df0000142362741fc0c368de19",
                       "ownerID": "544820df0000142362741fc0c368de19",
                       "templateID": null,
                       "priority": 0,
                       "companyID": null,<
                       "portfolioID": null,
                       "referenceNumber": 1894,
                       "lastUpdatedByID": "544820df0000142362741fc0c368de19",
                       "customerID": "544820df0000135b7719dcca654391f6",
                       "currency": null,
                       "categoryID": null,
                       "status": "CUR",
                       "parameterValues": {}
                   }
                }

Hier volgt een voorbeeld van een payload voor een CREATE-gebeurtenis:

{
                "eventType": "CREATE",
                "subscriptionId": "4028e3815ebf03a7015ebfa53b6d0002",
                "eventTime": {
                "nano": 232000000,
                "epochSecond": 1506453831
                },
                "newState": {
                "ID": "59caa946000000e07b0afc3383230c67",
                "name": "EventSub Test fe16d470-0a40-4290-92f4-6a0389fb536c",
                "objCode": "PROJ",
                "entryDate": "2017-09-26T13:23:50.746-0600",
                "accessorIDs": ["544820df0000142362741fc0c368de19"],
                "lastUpdateDate": "2017-09-26T13:23:50.927-0600",
                "groupID": "544820df0000140f6a9c1faa7cacadd3",
                "sponsorID": null,
                "description": null,
                "plannedCompletionDate": "2017-09-26T09:00:00.000-0600",
                "enteredByID": "544820df0000142362741fc0c368de19",
                "ownerID": "544820df0000142362741fc0c368de19",
                "templateID": null,
                "priority": 0,
                "companyID": null,
                "portfolioID": null,
                "referenceNumber": 1750,
                "lastUpdatedByID": "544820df0000142362741fc0c368de19",
                "customerID": "544820df0000135b7719dcca654391f6",
                "currency": null,
                "categoryID": null,
                "status": "CUR",
                "parameterValues": {}
                },
                "oldState": {}
            }

Basis 64-codering

Als een gebeurtenisabonnement wegens een conflict tussen speciale karakters in uw gebeurtenisabonnementen en uw netwerkmontages wordt verworpen, dan kunt u het coderen Base64 gebruiken om uw gebeurtenisabonnementen over te gaan. Base64 is een reeks coderingsregelingen die om het even welke willekeurige gegevens in een formaat van het koord van ASCII kunnen omzetten. Het is belangrijk om op te merken dat Base64 geen vorm van veiligheidsencryptie is.

Base 64 Encoding Field

Het base64Encoding-veld is een optioneel veld dat wordt gebruikt om Base64-codering van gebeurtenisabonnementsladingen in te schakelen. De standaardwaarde is false en de mogelijke waarden zijn: true, false en " " (leeg).

Voorbeeld van een aanvraag met het base64Encoding-veld

Als een verzoek wordt gemaakt gebruikend het base64Encoding gebied dat aan waar wordt geplaatst, dan worden de newState en oldState voorwerpen in de nuttige lading geleverd als basis 64 coderende koorden. Als het base64Encoding-veld is ingesteld op false, leeg wordt gelaten of niet is opgenomen in de aanvraag, wordt de geretourneerde payload niet gecodeerd in basis 64.

Hieronder ziet u een voorbeeld van een aanvraag die het veld base64Encoding gebruikt:

{
                "objCode": "PROJ",
                "eventType": "UPDATE",
                "url": "http://requestb.in/ua5hi2ua"",
                "authToken": "EauthTokenWorkfrontRocks1234_",
                "base64Encoding": "true"
            }

Voorbeelden van antwoordladingen in basis 64-codering

                {
                "eventType": "UPDATE",
                "subscriptionId": "8a0d839d5ef32c9a015ef336a5ed0002",
                "eventTime": {
                "nano": 998000000,
                "epochSecond": 1507319336
                },
                "newState": "ewogICAgICAgIklEIjogIjU5ZDdkZGY3MDAwMDAyMzIyZDc5MWViMDhiYWZkZGZiIiwgCiAgICAgICAibmFtZSI6ICJFdmVudFN1YiBUZXN0IHVwZGF0ZWQiLAogICAgICAgIm9iakNvZGUiOiAiUFJPSiIsCiAgICAgICAiZW50cnlEYXRlIjogIjIwMTctMTAtMDZUMTM6NDg6MDcuNzc2LTA2MDAiLAogICAgICAgImFjY2Vzc29ySURzIjogWwogICAgICAgICAgICI1NDQ4MjBkZjAwMDAxNDIzNjI3NDFmYzBjMzY4ZGUxOSIKICAgICAgIF0sCiAgICAgICAibGFzdFVwZGF0ZURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODo1Ni45ODAtMDYwMCIsCiAgICAgICAiZ3JvdXBJRCI6ICI1NDQ4MjBkZjAwMDAxNDBmNmE5YzFmYWE3Y2FjYWRkMyIsCiAgICAgICAic3BvbnNvcklEIjogbnVsbCwKICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAicGxhbm5lZENvbXBsZXRpb25EYXRlIjogIjIwMTctMTAtMDZUMDk6MDA6MDAuMDAwLTA2MDAiLAogICAgICAgImVudGVyZWRCeUlEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICJvd25lcklEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICJ0ZW1wbGF0ZUlEIjogbnVsbCwKICAgICAgICJwcmlvcml0eSI6IDAsCiAgICAgICAiY29tcGFueUlEIjogbnVsbCwKICAgICAgICJwb3J0Zm9saW9JRCI6IG51bGwsCiAgICAgICAicmVmZXJlbmNlTnVtYmVyIjogMTg5NCwKICAgICAgICJsYXN0VXBkYXRlZEJ5SUQiOiAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiLAogICAgICAgImN1c3RvbWVySUQiOiAiNTQ0ODIwZGYwMDAwMTM1Yjc3MTlkY2NhNjU0MzkxZjYiLAogICAgICAgImN1cnJlbmN5IjogbnVsbCwKICAgICAgICJjYXRlZ29yeUlEIjogbnVsbCwKICAgICAgICJzdGF0dXMiOiAiQ1VSIiwKICAgICAgICJwYXJhbWV0ZXJWYWx1ZXMiOiB7fQogICAgfQ==",
                "oldState": "ewogICAgICAgICJJRCI6ICI1OWQ3ZGRmNzAwMDAwMjMyMmQ3OTFlYjA4YmFmZGRmYiIsCiAgICAgICAgIm5hbWUiOiAiRXZlbnRTdWIgVGVzdCAxODBmZDU5NS02M2ZiLTRmYTktYmQ0Ny01OGJmNmU1M2Q5NjQiLAogICAgICAgICJvYmpDb2RlIjogIlBST0oiLAogICAgICAgICJlbnRyeURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODowNy43NzYtMDYwMCIsCiAgICAgICAgImFjY2Vzc29ySURzIjogWwogICAgICAgICAgICAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiCiAgICAgICAgXSwKICAgICAgICAibGFzdFVwZGF0ZURhdGUiOiAiMjAxNy0xMC0wNlQxMzo0ODowNy43OTItMDYwMCIsCiAgICAgICAgImdyb3VwSUQiOiAiNTQ0ODIwZGYwMDAwMTQwZjZhOWMxZmFhN2NhY2FkZDMiLAogICAgICAgICJzcG9uc29ySUQiOiBudWxsLAogICAgICAgICJkZXNjcmlwdGlvbiI6IG51bGwsCiAgICAgICAgInBsYW5uZWRDb21wbGV0aW9uRGF0ZSI6ICIyMDE3LTEwLTA2VDA5OjAwOjAwLjAwMC0wNjAwIiwKICAgICAgICAiZW50ZXJlZEJ5SUQiOiAiNTQ0ODIwZGYwMDAwMTQyMzYyNzQxZmMwYzM2OGRlMTkiLAogICAgICAgICJvd25lcklEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICAidGVtcGxhdGVJRCI6IG51bGwsCiAgICAgICAgInByaW9yaXR5IjogMCwKICAgICAgICAiY29tcGFueUlEIjogbnVsbCw8CiAgICAgICAgInBvcnRmb2xpb0lEIjogbnVsbCwKICAgICAgICAicmVmZXJlbmNlTnVtYmVyIjogMTg5NCwKICAgICAgICAibGFzdFVwZGF0ZWRCeUlEIjogIjU0NDgyMGRmMDAwMDE0MjM2Mjc0MWZjMGMzNjhkZTE5IiwKICAgICAgICAiY3VzdG9tZXJJRCI6ICI1NDQ4MjBkZjAwMDAxMzViNzcxOWRjY2E2NTQzOTFmNiIsCiAgICAgICAgImN1cnJlbmN5IjogbnVsbCwKICAgICAgICAiY2F0ZWdvcnlJRCI6IG51bGwsCiAgICAgICAgInN0YXR1cyI6ICJDVVIiLAogICAgICAgICJwYXJhbWV0ZXJWYWx1ZXMiOiB7fQogICAgfQ=="
                }

Verouderde methode voor het opvragen van alle abonnementen op gebeurtenissen

Het volgende API eindpunt is afgekeurd en zou niet voor nieuwe implementaties moeten worden gebruikt. Wij adviseren ook overbrengend oude implementaties aan de methode in de het Vragen van de Abonnementen van de Gebeurtenis hierboven beschreven sectie.

U kunt alle gebeurtenisabonnementen voor een klant zoals die door de sessionID waarde wordt gespecificeerd vragen. De aanvraagsyntaxis voor het aanbieden van alle gebeurtenisabonnementen voor een specifieke klant is de volgende URL:

GET https://<HOSTNAME>/attask/eventsubscription/api/v1/subscriptions/list

Kopballen van het Verzoek:

Naam koptekst
Waarde koptekst
sessionID
sessionID, waarde

Codes van de Reactie:

Antwoordcode
Beschrijving
200 (geen inhoud)
De aanvraag heeft alle voor de gebruiker gevonden gebeurtenisabonnementen geretourneerd.
401 (Niet-geautoriseerd)
De opgegeven sessionID is leeg.
403 (verboden)
De gebruiker die de verstrekte sessionID aanpast heeft beheerdertoegang niet.

Voorbeeld van reactieorgaan

                [
                {
                "id": "37c4bcf5-e0b5-4256-aba3-a51cba7bf997",
                "customer_id": "504f9640000013401be513579fbebffa",
                "obj_id": "ObjId1234",
                "obj_code": "TASK",
                "url": "http://test.test.net/test/1234",
                "event_type": "UPDATE",
                "auth_token": "auth_token"
                },
                {
                "id": "750a636c-5628-48f5-ba26-26b7ce537ac2",
                "customer_d": "504f9640000013401be513579fbebffa",
                "obj_id": null,
                "obj_code": "PROJ",
                "url": "http://requestb.in/ua5hi2ua",
                "event_type": "UPDATE",
                "auth_token": "authTokenWorkfrontRocks1234_"
                }
                ]
recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43