Report Filing Service

<back to all web services

BatchDeleteWebhookSubscriptions

DeleteBatchSubscriptionsWebhooksSync

Represents a request to delete webhook subscriptions.

Requires Authentication
The following routes are available for this service:
POST/sync/webhooks/subscriptions/delete
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class SubscriptionConfig implements IConvertible
{
    String? url;
    String? contentType;
    String? secret;

    SubscriptionConfig({this.url,this.contentType,this.secret});
    SubscriptionConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        url = json['url'];
        contentType = json['contentType'];
        secret = json['secret'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'url': url,
        'contentType': contentType,
        'secret': secret
    };

    getTypeName() => "SubscriptionConfig";
    TypeContext? context = _ctx;
}

class WebhookSubscription implements IConvertible
{
    String? id;
    String? name;
    String? event;
    bool? isActive;
    DateTime? createdDateUtc;
    String? createdById;
    DateTime? lastModifiedDateUtc;
    SubscriptionConfig? config;

    WebhookSubscription({this.id,this.name,this.event,this.isActive,this.createdDateUtc,this.createdById,this.lastModifiedDateUtc,this.config});
    WebhookSubscription.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        event = json['event'];
        isActive = json['isActive'];
        createdDateUtc = JsonConverters.fromJson(json['createdDateUtc'],'DateTime',context!);
        createdById = json['createdById'];
        lastModifiedDateUtc = JsonConverters.fromJson(json['lastModifiedDateUtc'],'DateTime',context!);
        config = JsonConverters.fromJson(json['config'],'SubscriptionConfig',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'event': event,
        'isActive': isActive,
        'createdDateUtc': JsonConverters.toJson(createdDateUtc,'DateTime',context!),
        'createdById': createdById,
        'lastModifiedDateUtc': JsonConverters.toJson(lastModifiedDateUtc,'DateTime',context!),
        'config': JsonConverters.toJson(config,'SubscriptionConfig',context!)
    };

    getTypeName() => "WebhookSubscription";
    TypeContext? context = _ctx;
}

/**
* Specifies a request to delete webhook subscriptions.
*/
// @Api(Description="Specifies a request to delete webhook subscriptions.")
abstract class BatchDeleteWebhookSubscriptionsBase implements IPost
{
    /**
    * The subscriptions to delete.
    */
    // @ApiMember(Description="The subscriptions to delete.", IsRequired=true, Name="Subscriptions")
    List<WebhookSubscription>? subscriptions;

    BatchDeleteWebhookSubscriptionsBase({this.subscriptions});
    BatchDeleteWebhookSubscriptionsBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        subscriptions = JsonConverters.fromJson(json['subscriptions'],'List<WebhookSubscription>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'subscriptions': JsonConverters.toJson(subscriptions,'List<WebhookSubscription>',context!)
    };

    getTypeName() => "BatchDeleteWebhookSubscriptionsBase";
    TypeContext? context = _ctx;
}

/**
* Represents a request to delete webhook subscriptions.
*/
// @Api(Description="Represents a request to delete webhook subscriptions.")
class BatchDeleteWebhookSubscriptions extends BatchDeleteWebhookSubscriptionsBase implements IConvertible
{
    BatchDeleteWebhookSubscriptions();
    BatchDeleteWebhookSubscriptions.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "BatchDeleteWebhookSubscriptions";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'reportfiling.staging.pwc.de', types: <String, TypeInfo> {
    'SubscriptionConfig': TypeInfo(TypeOf.Class, create:() => SubscriptionConfig()),
    'WebhookSubscription': TypeInfo(TypeOf.Class, create:() => WebhookSubscription()),
    'BatchDeleteWebhookSubscriptionsBase': TypeInfo(TypeOf.AbstractClass),
    'List<WebhookSubscription>': TypeInfo(TypeOf.Class, create:() => <WebhookSubscription>[]),
    'BatchDeleteWebhookSubscriptions': TypeInfo(TypeOf.Class, create:() => BatchDeleteWebhookSubscriptions()),
});

Dart BatchDeleteWebhookSubscriptions DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /sync/webhooks/subscriptions/delete HTTP/1.1 
Host: reportfiling.staging.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<BatchDeleteWebhookSubscriptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Webhooks.Requests">
  <Subscriptions xmlns:d2p1="http://schemas.datacontract.org/2004/07/ServiceStack.Webhooks.ServiceModel.Types">
    <d2p1:WebhookSubscription>
      <d2p1:Config>
        <d2p1:ContentType>String</d2p1:ContentType>
        <d2p1:Secret>String</d2p1:Secret>
        <d2p1:Url>String</d2p1:Url>
      </d2p1:Config>
      <d2p1:CreatedById>String</d2p1:CreatedById>
      <d2p1:CreatedDateUtc>0001-01-01T00:00:00</d2p1:CreatedDateUtc>
      <d2p1:Event>String</d2p1:Event>
      <d2p1:Id>String</d2p1:Id>
      <d2p1:IsActive>false</d2p1:IsActive>
      <d2p1:LastModifiedDateUtc>0001-01-01T00:00:00</d2p1:LastModifiedDateUtc>
      <d2p1:Name>String</d2p1:Name>
    </d2p1:WebhookSubscription>
  </Subscriptions>
</BatchDeleteWebhookSubscriptions>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ArrayOfSubscriptionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Webhooks.Responses">
  <SubscriptionResponse>
    <History xmlns:d3p1="http://schemas.datacontract.org/2004/07/ServiceStack.Webhooks.ServiceModel.Types">
      <d3p1:SubscriptionDeliveryResult>
        <d3p1:AttemptedDateUtc>0001-01-01T00:00:00</d3p1:AttemptedDateUtc>
        <d3p1:EventId>String</d3p1:EventId>
        <d3p1:Id>String</d3p1:Id>
        <d3p1:StatusCode>Continue</d3p1:StatusCode>
        <d3p1:StatusDescription>String</d3p1:StatusDescription>
        <d3p1:SubscriptionId>String</d3p1:SubscriptionId>
      </d3p1:SubscriptionDeliveryResult>
    </History>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
      <d3p1:ErrorCode>String</d3p1:ErrorCode>
      <d3p1:Message>String</d3p1:Message>
      <d3p1:StackTrace>String</d3p1:StackTrace>
      <d3p1:Errors>
        <d3p1:ResponseError>
          <d3p1:ErrorCode>String</d3p1:ErrorCode>
          <d3p1:FieldName>String</d3p1:FieldName>
          <d3p1:Message>String</d3p1:Message>
          <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </d3p1:Meta>
        </d3p1:ResponseError>
      </d3p1:Errors>
      <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d3p1:Meta>
    </ResponseStatus>
    <Subscription xmlns:d3p1="http://schemas.datacontract.org/2004/07/ServiceStack.Webhooks.ServiceModel.Types">
      <d3p1:Config>
        <d3p1:ContentType>String</d3p1:ContentType>
        <d3p1:Secret>String</d3p1:Secret>
        <d3p1:Url>String</d3p1:Url>
      </d3p1:Config>
      <d3p1:CreatedById>String</d3p1:CreatedById>
      <d3p1:CreatedDateUtc>0001-01-01T00:00:00</d3p1:CreatedDateUtc>
      <d3p1:Event>String</d3p1:Event>
      <d3p1:Id>String</d3p1:Id>
      <d3p1:IsActive>false</d3p1:IsActive>
      <d3p1:LastModifiedDateUtc>0001-01-01T00:00:00</d3p1:LastModifiedDateUtc>
      <d3p1:Name>String</d3p1:Name>
    </Subscription>
  </SubscriptionResponse>
</ArrayOfSubscriptionResponse>