package main
import (
"context"
"fmt"
"log"
"github.com/AhaSend/ahasend-go/api"
"github.com/AhaSend/ahasend-go/models/requests"
"github.com/google/uuid"
)
func main() {
// Create API client with authentication
client := api.NewAPIClient(
api.WithAPIKey("aha-sk-your-64-character-key"),
)
accountID := uuid.New()
// Create context for the API call
ctx := context.Background()
// Call the ping endpoint
response, httpResp, err := client.WebhooksAPI.CreateWebhook(
ctx,
accountID,
requests.CreateWebhookRequest{
Name: "Failures",
URL: "https://mystartup.com/webhook",
Enabled: true,
OnBounced: true,
OnTransientError: true,
OnFailed: true,
},
nil,
)
if err != nil {
log.Fatalf("Error creating webhook: %v", err)
}
// Check response
if httpResp.StatusCode == 200 {
fmt.Printf("✅ Status: %d\n", httpResp.StatusCode)
if response != nil {
fmt.Printf("Created webhook: %#v\n", response)
}
} else {
fmt.Printf("❌ Unexpected status code: %d\n", httpResp.StatusCode)
}
}
{
"object": "webhook",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"url": "<string>",
"enabled": true,
"on_reception": true,
"on_delivered": true,
"on_transient_error": true,
"on_failed": true,
"on_bounced": true,
"on_suppressed": true,
"on_opened": true,
"on_clicked": true,
"on_suppression_created": true,
"on_dns_error": true,
"scope": "<string>",
"domains": [
"<string>"
],
"success_count": 123,
"error_count": 123,
"errors_since_last_success": 123,
"last_request_at": "2023-11-07T05:31:56Z"
}
Creates a new webhook for event notifications
package main
import (
"context"
"fmt"
"log"
"github.com/AhaSend/ahasend-go/api"
"github.com/AhaSend/ahasend-go/models/requests"
"github.com/google/uuid"
)
func main() {
// Create API client with authentication
client := api.NewAPIClient(
api.WithAPIKey("aha-sk-your-64-character-key"),
)
accountID := uuid.New()
// Create context for the API call
ctx := context.Background()
// Call the ping endpoint
response, httpResp, err := client.WebhooksAPI.CreateWebhook(
ctx,
accountID,
requests.CreateWebhookRequest{
Name: "Failures",
URL: "https://mystartup.com/webhook",
Enabled: true,
OnBounced: true,
OnTransientError: true,
OnFailed: true,
},
nil,
)
if err != nil {
log.Fatalf("Error creating webhook: %v", err)
}
// Check response
if httpResp.StatusCode == 200 {
fmt.Printf("✅ Status: %d\n", httpResp.StatusCode)
if response != nil {
fmt.Printf("Created webhook: %#v\n", response)
}
} else {
fmt.Printf("❌ Unexpected status code: %d\n", httpResp.StatusCode)
}
}
{
"object": "webhook",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"url": "<string>",
"enabled": true,
"on_reception": true,
"on_delivered": true,
"on_transient_error": true,
"on_failed": true,
"on_bounced": true,
"on_suppressed": true,
"on_opened": true,
"on_clicked": true,
"on_suppression_created": true,
"on_dns_error": true,
"scope": "<string>",
"domains": [
"<string>"
],
"success_count": 123,
"error_count": 123,
"errors_since_last_success": 123,
"last_request_at": "2023-11-07T05:31:56Z"
}
API key for authentication
Optional idempotency key for safe request retries. Must be a unique string for each logical request. Requests with the same key will return the same response. Keys expire after 24 hours.
255
Account ID
Webhook created successfully
The response is of type object
.
Was this page helpful?