Test with a sandbox key
Use apk_test_... key while building the integration. Sandbox orders do not
bill or run live fulfillment. Workspace credentials are shape-checked locally
and receive a local sandbox identity. Peeker does not call the provider. Use
placeholder credentials, never production secrets.
Save Smartlead and PlusVibe login credentials through POST /workspaces.
Smartlead’s login pair is optional when connecting, but its email and password
must be sent together. Smartlead orders never accept login credentials. Google
orders do not need the pair; Microsoft orders and pool attach do.
Before going live, verify:
- One successful order
- One error response
- Your webhook signature handler
limited key can read data and check domain availability. Use a full key
for other writes.
Log request IDs
Every response includesPeeker-Request-Id (opaque UUID). Errors include the
same value as error.request_id.
Handle errors by code
Branch onerror.code, not message text.
Retry orders safely
POST /orders requires Idempotency-Key. POST /workspaces does not.
- Generate one key from a stable checkout or order reference.
- Keys are unique across your Partner account. Use a different key for each new order.
- Keep the key with the checkout record.
- Retry the unchanged order with the same key.
- For a Smartlead Microsoft or PlusVibe login error, repair the connected
workspace, then retry the unchanged order with its original key. Their orders
reject
destination.login_credentials. - Never reuse a key for another order or a changed request.
created.order: false.
It does not charge again or emit duplicate completion webhooks.
Follow pagination links
List endpoints returnlinks.first and links.next.
links.next until it is null.
Do not build or decode page_token.
Default page size is 25. Maximum is 100.
Keep webhook handlers small
- Verify
Peeker-Signatureagainst the raw body. - Reject timestamps more than five minutes off.
- Dedupe on
Peeker-Event-Idfor at least 24 hours. - Return
2xxquickly. Process from a queue. - Trust
data.status. Do not depend on event order.