Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 46 Next »

Common information

Webhooks configurations will be attached to an entire organization with all its events. The payload of event and order webhooks will contain the event_id so you can decide which webhooks to process.

Create Webhook Configuration

Request

Curl
curl -X POST https://rest.doo.net/v1/team/<team_id>/webhooks \
-H 'Content-Type: application/json' \
-H 'x-api-key: <api_key>' \
-H 'Authorization: Bearer <access_token>' \
-d '<add_webhook_object>'

Parameters

ParameterRequiredDescription
<team_id>YesTeam ID for which you want to configure the webhooks, see Get all your organizations and teams 
<api_key>Yessee API Authorization
<access_token>Yessee API Authorization 
<add_webhook_object>Yessee AddWebhook Object (Use the default or GraphQL-based structure)

Response

JSON
{
    "response_status": 200,
    "developer_message": "Success",
    "user_message": "Success",
    "data": "0f5566bb-d35b-11e7-bde8-0206116776d2", // created webhook group id
    "_links": {
        "self": {
            "href": "https://rest.doo.net/v1/team/<team_id>/webhooks"
        }
    }
}

Update Webhook Configuration

There is no dedicated request to update an existing webhook configuration, e.g. if you want to change the triggers or the payload.

Instead, do the following:

  1. List the existing webhook configurations
  2. Make the desired adjustments to the AddWebhook Object
  3. Create a new webhook configuration using the adjusted AddWebhook Object
  4. Remove the previous webhook configuration

Remove Webhook Configuration

Delete Request

Curl
curl -X DELETE https://rest.doo.net/v1/webhooks/<webhook_group_id> \
-H 'Content-Type: application/json' \
-H 'x-api-key: <api_key>'

Parameters

ParameterRequiredDescription
<webhook_group_id>YesID for the webhook configuration, which you received in the response when generating it
<api_key>Yessee API Authorization 

Response

Curl
204 No Content
The server successfully processed the request, but is not returning any content

Steps to follow when deleting webhooks:

  1. List Webhook Configurations
  2. Pick the configuration you want to delete and execute Delete Request
  3. Double-check the deletion by listing the webhook configurations

We do not give a confirmation on whether the webhook configuration has been deleted. This prevents brute-force attacks to know whether they have been successful.

List Webhook Configurations

Request

Curl
curl -X GET https://rest.doo.net/v1/team/<team_id>/webhooks \
-H 'Content-Type: application/json' \
-H 'x-api-key: <api_key>' \
-H 'Authorization: Bearer <access_token>'

Parameters

ParameterRequiredDescription
<team_id>YesTeam ID for which you want to retrieve the webhook configurations, see Get all your organizations and teams 
<api_key>Yessee API Authorization
<access_token>Yessee API Authorization

Response

Response example 1

JSON
{
    "_links": {
        "self": {
            "href": "https://rest.doo.net/team/<team_id>/webhooks?page=1"
        },
        "first": {
            "href": "https://rest.doo.net/team/<team_id>/webhooks"
        },
        "last": {
            "href": "https://rest.doo.net/team/<team_id>/webhooks?page=1"
        }
    },
    "_embedded": {
        "webhooks": [
            {
                "id": "38cc7e8d-d107-11e7-bde8-0206116776d1",
                "name": "My Test Webhook",
                "description": "Webhook for testing all the hook types",
                "hooks": [
                    {
                        "type": "event_created",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "event_removed",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "event_updated",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "order_created",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "order_removed",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "order_updated",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    },
                    {
                        "type": "order_cancelled",
                        "method": "POST",
                        "endpoint": "https://requestb.in/123"
                    }
                ],
                "authentication": {
                    "grant_type": "client_credentials",
                    "endpoint": "https://requestb.in/123",
                    "credentials": {
                        "client_id": "doo",
                        "client_secret": "super-strong-secret"
                    },
                    "header_format": "Authorization",
                    "header_value_format": "Bearer %ACCESS_TOKEN%"
                },
                "_links": {
                    "self": {
                        "href": "https://rest.doo.net/v1/webhooks/38cc7e8d-d107-11e7-bde8-0206116776d1"
                    }
                }
            }
        ]
    },
    "page_count": 1,
    "page_size": 25,
    "total_items": 5,
    "page": 1
}

Response example 2

JSON
{
  "_links": {
    "self": {
      "href": "https://api.staging1.doo.net/v1/team/<team_id>/webhooks?page=1"
    },
    "first": {
      "href": "https://api.staging1.doo.net/v1/team/<team_id>/webhooks"
    },
    "last": {
      "href": "https://api.staging1.doo.net/v1/team/<team_id>/webhooks?page=1"
    }
  },
  "_embedded": {
    "webhooks": [
      {
        "id": "04266663-6684-a883-66b2-cfa3e7572d33",
        "name": "My GraphQL Webhook",
        "description": "Webhook for testing hook types with GraphQL body",
        "hooks": [
          {
            "type": "event_created_92bd9a53281981160c955e339304b3e5",
            "method": "POST",
            "endpoint": "https://requestb.in/123",
            "origin": {
              "method": "POST",
              "endpoint": "https://gql.doo.net",
              "body": "{\"operationName\":\"EventCreatedShort\",\"variables\":{\"id\":\"%EVENT_ID%\"},\"query\":\"query EventCreatedShort($id: ID!) {\\n event(id: $id) {\\n title\\n }\\n}\\n\"}"
            }
          },
          {
            "type": "event_updated_2104384af7e8434f0058ed57163b6f33",
            "method": "POST",
            "endpoint": "https://requestb.in/123",
            "origin": {
              "method": "POST",
              "endpoint": "https://gql.doo.net",
              "body": "{\"operationName\":\"EventUpdatedShort\",\"variables\":{\"id\":\"%EVENT_ID%\"},\"query\":\"query EventUpdatedShort($id: ID!) {\\n event(id: $id) {\\n title\\n }\\n}\\n\"}"
            }
          }
        ],
        "authentication": {
          "grant_type": "client_credentials",
          "endpoint": "https://requestb.in/123",
          "credentials": {
            "client_id": "doo",
            "client_secret": "super-strong-secret"
          },
          "header_format": "Authorization",
          "header_value_format": "Bearer %ACCESS_TOKEN%"
        },
        "_links": {
          "self": {
            "href": "https://api.staging1.doo.net/v1/team/<team_id>/webhooks"
          }
        }
      }
    ]
  },
  "page_count": 1,
  "page_size": 7,
  "total_items": 1,
  "page": 1
}

Get all your organizations and teams

Request

Curl
curl -X Get https://rest.doo.net/v1/organizers/current/organizations \
-H 'Content-Type: application/json' \
-H 'x-api-key: <api_key>' \
-H 'Authorization: Bearer <access_token>'

Parameters

ParameterRequiredDescription
<access_token>Yessee API Authorization
<api_key>Yessee API Authorization

Response

JSON
{
    "organizations": [
        {
            "id": 1,
            "name": "Organization 1",
            "canEdit": true,
            "teams": [
                {
                    "id": 1,
                    "name": null,
                    "role": "team_admin"
                }
            ]
        },
        {
            "id": 2,
            "name": "Organization 2",
            "canEdit": true,
            "teams": [
                {
                    "id": 2,
                    "name": null,
                    "role": "team_admin"
                }
            ]
        }
    ],
    "active_team": {
        "permissions": [
            "Booking:View",
            "Booking:ViewDeleted",
            "Event:ViewSettings"
        ],
        "id": 1,
        "name": null,
        "organization_id": 1,
        "user_id": 123,
        "role": "team_admin",
        "is_all_events_team": true,
        "show_info_box": null,
        "user_count": null,
        "live_events_count": null
    },
    "_links": {
        "self": {
            "href": "https://rest.doo.net/v1/organizers/current/organizations"
        }
    }
}
  • No labels