Adopets · Arazzo Workflow

Create and collect an adoption payment (Adopets External API)

Version 1.0.0

Connect an external system user, create an adoption payment request with line items, then retrieve it to confirm status. Grounded in real operationIds from the Adopets External API.

1 workflow 1 source API 1 provider
View Spec View on GitHub Pet AdoptionAnimal WelfareShelters and RescuesAdoption ManagementPaymentsNonprofit TechnologySaaSCompanyArazzoWorkflows

Provider

adopets

Workflows

create-adoption-payment
Connect a staff user, create a payment request, and read it back.
3 steps inputs: adopter_email, email, first_name, items, last_name, role outputs: payment_request_uuid, status
1
connect
connectExternalSystemUser
2
create
createPaymentRequest
3
read-back
getPaymentRequest

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Create and collect an adoption payment (Adopets External API)
  version: 1.0.0
  description: >-
    Connect an external system user, create an adoption payment request with line items, then
    retrieve it to confirm status. Grounded in real operationIds from the Adopets External API.
sourceDescriptions:
  - name: adopets
    url: ../openapi/adopets-external-openapi.yml
    type: openapi
workflows:
  - workflowId: create-adoption-payment
    summary: Connect a staff user, create a payment request, and read it back.
    inputs:
      type: object
      properties:
        email: { type: string }
        first_name: { type: string }
        last_name: { type: string }
        role: { type: string }
        adopter_email: { type: string }
        items: { type: array }
    steps:
      - stepId: connect
        operationId: connectExternalSystemUser
        requestBody:
          contentType: application/json
          payload:
            email: $inputs.email
            first_name: $inputs.first_name
            last_name: $inputs.last_name
            role: $inputs.role
        outputs:
          session: $response.body#/data/authorization
      - stepId: create
        operationId: createPaymentRequest
        requestBody:
          contentType: application/json
          payload:
            adopter_email: $inputs.adopter_email
            type_key: EXTERNAL_ADOPTION
            items: $inputs.items
        outputs:
          uuid: $response.body#/data/uuid
      - stepId: read-back
        operationId: getPaymentRequest
        requestBody:
          contentType: application/json
          payload:
            uuid: $steps.create.outputs.uuid
        outputs:
          status_key: $response.body#/data/status_key
    outputs:
      payment_request_uuid: $steps.create.outputs.uuid
      status: $steps.read-back.outputs.status_key