> ## Documentation Index
> Fetch the complete documentation index at: https://developer.accessrc.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Delivery Channel Status Updated

## Overview

This document describes the `DELIVERY_CHANNEL_STATUS_UPDATED` webhook event, triggered after a manual approval or rejection of a delivery channel request within AccessRC. This event is sent from **AccessRC** to the **Service Provider** once the approval decision is made by the Information Management (IM) team from the Registration screen.

***

## Event Flow: AccessRC → Service Provider

1. **Service Provider** submits a delivery channel request.
2. The AccessRC IM team reviews and approves or rejects the request manually.
3. A webhook call is sent to the Service Provider indicating the **status** (`Approved` or `Rejected`) of the delivery channel request.

***

## Webhook Request Payload

The webhook will send one of the following payloads based on the decision.

### ✅ Approved

```json theme={null}
{
    "providerDeliveryChannelId": "ced2396b-32b5-4b08-bd98-7830dfb2b622",
    "status": "Approved",
    "message": "",
    "requestType": "Delivery Channel Update Status",
    "requestedDate": "04/07/2025 06:42:29"
}
```

### ❌ Rejected

```json theme={null}
{
    "providerDeliveryChannelId": "ced2396b-32b5-4b08-bd98-7830dfb2b622",
    "status": "Rejected",
    "message": "Description is not clear enough",
    "requestType": "Delivery Channel Update Status",
    "requestedDate": "04/07/2025 06:42:29"
}
```

#### Request Types

* Delivery Channel Create
* Delivery Channel Update
* Delivery Channel Update Status

## Webhook Response Payload

### 200 Response

Indicates that the callback from the Service Provider was successfully received and processed.

```json theme={null}
{
    "status": "success",
    "message": "Callback successfully received",
    "data": {
        "providerDeliveryChannelId": "ced2396b-32b5-4b08-bd98-7830dfb2b622"
    }
}
```

### 400 Response

Sent if the request is invalid or the payload fails validation on the Service Provider’s side.

```json theme={null}
{
  "status": "failed",
  "error": {
    "code": 400,
    "message": "Validation failed. Please check your input.",
    "type": "BadRequest"
  }
}
```

### 401 Response

If the verification fails, the response will be:

```json theme={null}
{
    "status": "failed",
    "error": {
        "code": 401,
        "message": "Verification failed",
        "type": "Unauthorized"
    }
}
```

### 500 Response

Sent when an internal error occurs in the Service Provider’s callback system.

```json theme={null}
{
    "status": "failed",
    "error": {
        "code": 500,
        "message": "Internal Server Error",
        "type": "Exception"
    }
}
```

## Notes

* The providerDeliveryChannelId is a required field in both the request and the response.
* Ensure your webhook endpoint can correctly distinguish between the statuses and handle them accordingly.
