List broadcast recipients
package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.kirimdev.com/v1/broadcasts/bcst_01HXYZABCDEFGHJKMNPQRSTVWX/recipients?status=pending&limit=25&cursor=eyJpZCI6IjAxSFhZWkFCQ0RFRkdISktNTlBRUlNUVldYIiwidHMiOiIyMDI2LTA5LTEwVDA5OjAwOjAwLjAwMFoifQ"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://api.kirimdev.com/v1/broadcasts/bcst_01HXYZABCDEFGHJKMNPQRSTVWX/recipients?status=pending&limit=25&cursor=eyJpZCI6IjAxSFhZWkFCQ0RFRkdISktNTlBRUlNUVldYIiwidHMiOiIyMDI2LTA5LTEwVDA5OjAwOjAwLjAwMFoifQ';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.kirimdev.com/v1/broadcasts/bcst_01HXYZABCDEFGHJKMNPQRSTVWX/recipients";
let querystring = [ ("status", "pending"), ("limit", "25"), ("cursor", "eyJpZCI6IjAxSFhZWkFCQ0RFRkdISktNTlBRUlNUVldYIiwidHMiOiIyMDI2LTA5LTEwVDA5OjAwOjAwLjAwMFoifQ"), ];
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap());
let client = reqwest::Client::new(); let response = client.get(url) .query(&querystring) .headers(headers) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request GET \ --url 'https://api.kirimdev.com/v1/broadcasts/bcst_01HXYZABCDEFGHJKMNPQRSTVWX/recipients?status=pending&limit=25&cursor=eyJpZCI6IjAxSFhZWkFCQ0RFRkdISktNTlBRUlNUVldYIiwidHMiOiIyMDI2LTA5LTEwVDA5OjAwOjAwLjAwMFoifQ' \ --header 'Authorization: Bearer <token>'List the recipients of one broadcast in send order, with each recipient’s delivery status, Meta wamid, timestamps and failure reason. Filter by status (for example failed) to export only the rows you need.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Public Kirimdev broadcast ID.
Example
bcst_01HXYZABCDEFGHJKMNPQRSTVWXPublic Kirimdev broadcast ID.
Query Parameters
Section titled “Query Parameters ”Filter by the recipient’s current delivery status.
Example
failedFilter by the recipient’s current delivery status.
Number of items to return. Defaults to 25; minimum 1 and maximum 100.
Example
25Number of items to return. Defaults to 25; minimum 1 and maximum 100.
Opaque continuation token from the previous response’s next_cursor. Pass it unchanged and keep all other filters the same.
Example
eyJpZCI6IjAxSFhZWkFCQ0RFRkdISktNTlBRUlNUVldYIiwidHMiOiIyMDI2LTA5LTEwVDA5OjAwOjAwLjAwMFoifQOpaque continuation token from the previous response’s next_cursor. Pass it unchanged and keep all other filters the same.
Responses
Section titled “ Responses ”Recipient list
object
Items in this page, ordered as documented by the operation.
object
E.164 with leading +. null for a BSUID-only recipient.
Meta message id. Matches message.status webhook events. null until Meta accepts the send.
object
Whether another page is available.
Pass this value unchanged as cursor to fetch the next page. null marks the final page.
Unique request identifier to include when contacting support.
Example
{ "data": [ { "object": "broadcast_recipient", "contact_id": "ctc_01HXYZABCDEFGHJKMNPQRSTVWX", "phone_number": "+628123456789", "status": "pending", "wamid": "wamid.HBgN...", "error": { "code": "billing_issue", "provider_code": 131042 } } ], "has_more": false, "next_cursor": null, "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"}Validation failure
object
object
Human-readable explanation of the error.
Request field associated with the error, when applicable.
Unique request identifier to include when contacting support.
Examples
A field value is invalid.
{ "error": { "type": "invalid_request_error", "code": "invalid_field_value", "message": "A field value is invalid.", "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX" }}Authentication failure
object
object
Human-readable explanation of the error.
Request field associated with the error, when applicable.
Unique request identifier to include when contacting support.
Examples
The provided API key is invalid.
{ "error": { "type": "authentication_error", "code": "invalid_api_key", "message": "The provided API key is invalid.", "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX" }}Resource not found
object
object
Human-readable explanation of the error.
Request field associated with the error, when applicable.
Unique request identifier to include when contacting support.
Examples
Resource not found.
{ "error": { "type": "not_found", "code": "resource_not_found", "message": "Resource not found.", "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX" }}Rate limit exceeded
object
object
Human-readable explanation of the error.
Request field associated with the error, when applicable.
Unique request identifier to include when contacting support.
Examples
Rate limit exceeded.
{ "error": { "type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded.", "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX" }}Internal server error
object
object
Human-readable explanation of the error.
Request field associated with the error, when applicable.
Unique request identifier to include when contacting support.
Examples
An unexpected error occurred.
{ "error": { "type": "api_error", "code": "internal_error", "message": "An unexpected error occurred.", "request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX" }}