Report checkouts left without an order, with their consent and recovery link
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/woocommerce/checkouts"
payload := strings.NewReader("{ \"checkouts\": [ { \"accepted\": true, \"clickToken\": \"example\", \"completedAt\": \"2026-04-15T12:00:00Z\", \"consentAt\": \"2026-04-15T12:00:00Z\", \"consentText\": \"example\", \"createdAt\": \"2026-04-15T12:00:00Z\", \"currency\": \"example\", \"email\": \"example\", \"firstName\": \"example\", \"items\": [ { \"imageUrl\": \"example\", \"price\": \"example\", \"productId\": \"example\", \"quantity\": 1, \"title\": \"example\", \"variant\": \"example\", \"variantId\": \"example\" } ], \"lastName\": \"example\", \"recoveryUrl\": \"example\", \"subtotal\": \"example\", \"token\": \"example\", \"total\": \"example\", \"updatedAt\": \"2026-04-15T12:00:00Z\" } ], \"siteUrl\": \"https://store.example.com\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/woocommerce/checkouts';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"checkouts":[{"accepted":true,"clickToken":"example","completedAt":"2026-04-15T12:00:00Z","consentAt":"2026-04-15T12:00:00Z","consentText":"example","createdAt":"2026-04-15T12:00:00Z","currency":"example","email":"example","firstName":"example","items":[{"imageUrl":"example","price":"example","productId":"example","quantity":1,"title":"example","variant":"example","variantId":"example"}],"lastName":"example","recoveryUrl":"example","subtotal":"example","token":"example","total":"example","updatedAt":"2026-04-15T12:00:00Z"}],"siteUrl":"https://store.example.com"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/woocommerce/checkouts \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "checkouts": [ { "accepted": true, "clickToken": "example", "completedAt": "2026-04-15T12:00:00Z", "consentAt": "2026-04-15T12:00:00Z", "consentText": "example", "createdAt": "2026-04-15T12:00:00Z", "currency": "example", "email": "example", "firstName": "example", "items": [ { "imageUrl": "example", "price": "example", "productId": "example", "quantity": 1, "title": "example", "variant": "example", "variantId": "example" } ], "lastName": "example", "recoveryUrl": "example", "subtotal": "example", "token": "example", "total": "example", "updatedAt": "2026-04-15T12:00:00Z" } ], "siteUrl": "https://store.example.com" }'Permission: none
Keys: only a WordPress site’s key can call this operation.
The ReputeCast WordPress plugin calls this with its site’s key. Only checkouts of the WooCommerce store connected at the site’s address count.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Workspace slug
Workspace slug
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
When it became an order
object
The unit price, a decimal string
The plugin’s checkout token
Responses
Section titled “Responses”OK
object
The store’s name
Example generated
{ "accepted": 1, "ignored": 1, "store": "example"}default
Section titled “default”Error
object
Stable error code, e.g. permission_denied
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
Members who hold the missing permission
A URI reference that identifies the specific occurrence of the problem.
object
The missing permission key
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}