Zum Hauptinhalt springen

Zapier

This documentation provides an overview of the available REST API endpoints for integration with residential plannings in Reonic. All endpoints are only accessible by the Zapier platform and require an API key that can be generated in the settings under Settings > Integrations.

Authentication

All API requests must include a valid API key in the header:

X-Authorization: <API_KEY>

Endpoints

Me

Retrieves information about the authenticated user.

  • HTTP Request:

    • Method: GET
    • Endpoint: /integrations/zapier/me
    • Header:
      {
      "X-Authorization": "<API_KEY>"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "id": "68d5172e-7931-49f1-a5ec-645dda66c420",
      "email": "john.doe@reonic.de"
      }

Create a new Request

Creates a new request in the 360° Household.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/h360/requests
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john.doe@reonic.de",
      "street": "Alter Postweg",
      "streetNumber": "23",
      "postcode": "86316",
      "city": "Augsburg",
      "installationFullAddress": "Torstrasse 19, 10119, Berlin",
      "note": "Kunde wünscht schnellen Prozess und Vororttermin."
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "id": "a36497e7-c87b-45cc-b3dd-cbee54cd382a",
      "customer": "dc23bc6a-d36a-4f2e-8eeb-a634338aee52",
      "lat": 52.5283489,
      "lng": 13.413855,
      "leadSource": null,
      "requestCreatedAt": "2024-10-17T14:00:05.763Z"
      }

Convert Request to Offer

Converts an existing request into an offer.

  • Parameter:

    • requestId: ID der zu konvertierenden HTTP Request
  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/h360/requests/{requestId}/convert-to-offer
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "id": "a36497e7-c87b-45cc-b3dd-cbee54cd382a"
      }

Create a new Offer

Creates a new offer in the 360° Household.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/h360/offers
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john.doe@reonic.de",
      "phone": "+49123456789",
      "street": "Alter Postweg",
      "streetNumber": "23",
      "postcode": "86316",
      "city": "Augsburg",
      "installationFullAddress": "Torstrasse 19, 10119, Berlin",
      "note": "Kunde wünscht schnellen Prozess und Vororttermin."
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "id": "8eae3e90-3027-4180-bba6-e9c9088b2a12",
      "status": null,
      "archived": false,
      "customer": "f8f8d1e2-6bd6-421b-ae6d-7376fece622d",
      "lat": 52.5283489,
      "lng": 13.413855,
      "assignedTo": null,
      "lostReason": null,
      "leadSource": null,
      "requestCreatedAt": "2024-10-17T14:15:30.218Z",
      "offerCreatedBy": null,
      "offerCreatedAt": "2024-10-17T14:15:30.218Z",
      "offerLastEditedBy": null
      }

Create a note on an offer

Creates a new note on an existing offer.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/h360/offers/{offerId}/notes
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "offerId": "8eae3e90-3027-4180-bba6-e9c9088b2a12",
      "text": "New Note"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "offerId": "8eae3e90-3027-4180-bba6-e9c9088b2a12",
      "text": "New Note"
      }

Retrieve one Offer

Retrieves details for a specific offer.

  • Parameter:

    • offerId: ID des Angebots
  • HTTP Request:

    • Method: GET
    • Endpoint: /integrations/zapier/h360/offers/{offerId}
    • Header:
      {
      "X-Authorization": "<API_KEY>"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "id": "8eae3e90-3027-4180-bba6-e9c9088b2a12",
      "archived": false,
      "customer": {
      "id": "f8f8d1e2-6bd6-421b-ae6d-7376fece622d"
      },
      "lat": 52.5283489,
      "lng": 13.413855,
      "notes": [
      {
      "message": "Created using Zapier integration",
      "createdAt": "Thu Oct 17 2024 16:15:30 GMT+0200 (Central European Summer Time)",
      "createdById": null
      },
      {
      "message": "Kunde wünscht schnellen Prozess und Vororttermin.",
      "createdAt": "Thu Oct 17 2024 16:15:30 GMT+0200 (Central European Summer Time)",
      "createdById": null
      }
      ],
      "demand": {
      "annualEnergyDemandWh": 4000000,
      "energyPrice": 0.0003,
      "energyPriceIncrease": 0.03
      },
      "options": [
      {
      "id": "33476a5b-e9a0-409d-a387-5485fc6c449e",
      "solarPlanned": {
      "totalSizeWp": 0,
      "totalNumberOfModules": 0,
      "components": []
      },
      "sesPlanned": {
      "components": []
      },
      "wallboxPlanned": {
      "components": []
      },
      "heatpumpPlanned": {
      "components": []
      },
      "additionalPlanned": {
      "components": []
      }
      }
      ],
      "assignedToId": null,
      "lostReason": null,
      "solarPackage": {},
      "sesPackage": {},
      "heatpumpPackage": {},
      "wallboxPackage": {},
      "requestCreatedAt": "2024-10-17T14:15:30.218Z",
      "offerCreatedById": null,
      "offerCreatedAt": "2024-10-17T14:15:30.218Z",
      "offerLastEditedById": null,
      "existingSolar": {
      "solarExistingAngle": null,
      "solarExistingSize": null,
      "solarExistingOrientation": null
      },
      "currentSignature": null
      }

Retrieve many Offers

Retrieves a list of all available offers.

  • HTTP Request:

    • Method: GET
    • Endpoint: /integrations/zapier/h360/offers
    • Header:
      {
      "X-Authorization": "<API_KEY>"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {
      "data": [
      {
      "id": "191bbe42-d92d-4e1b-ba95-06a520474874",
      "status": null,
      "archived": true,
      "customer": "62d5a2bd-024c-4ce1-b00a-f552483982ff",
      "lat": 51.15788473067926,
      "lng": 6.446965642777741,
      "assignedTo": null,
      "totalPlannedPrice": 42600,
      "lostReason": null,
      "leadSource": null,
      "offerCreatedBy": "b57cd76d-a15b-4f50-bd08-d615c5427a8a",
      "offerCreatedAt": "2024-10-17T09:27:31.303Z",
      "offerLastEditedBy": "b57cd76d-a15b-4f50-bd08-d615c5427a8a",
      "offerLastEditedAt": "2024-10-17T09:32:05.742Z"
      },
      {
      "id": "6b513059-44bb-4174-b4bd-6f995555f39e",
      "status": null,
      "archived": true,
      "customer": "49d7c9f3-dfea-4ce2-ad0e-183d44d66472",
      "lat": 51.15788473067926,
      "lng": 6.446965642777741,
      "assignedTo": null,
      "totalPlannedPrice": 42600,
      "lostReason": null,
      "leadSource": null,
      "offerCreatedBy": "b57cd76d-a15b-4f50-bd08-d615c5427a8a",
      "offerCreatedAt": "2024-10-15T12:25:19.197Z",
      "offerLastEditedBy": "b57cd76d-a15b-4f50-bd08-d615c5427a8a",
      "offerLastEditedAt": "2024-10-17T09:27:29.543Z"
      }
      ],
      "hasMore": null
      }

Subscribe to Signed Offer Webhook

Subscribes to the webhook for signed offers.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/offer-signed/subscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}

Unsubscribe from Signed Offer Webhook

Unsubscribes from the webhook for signed offers.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/offer-signed/unsubscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}

Subscribe to Request Created Webhook

Subscribes to the webhook for new requests.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/request-created/subscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}

Unsubscribe from Request Created Webhook

Unsubscribes from the webhook for new requests.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/offer-signed/unsubscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}

Subscribe to Offer Created Webhook

Subscribes to the webhook for new offers.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/offer-created/subscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}

Unsubscribe from Offer Created Webhook

Unsubscribes from the webhook for new offers.

  • HTTP Request:

    • Method: POST
    • Endpoint: /integrations/zapier/webhooks/offer-created/unsubscribe
    • Header:
      {
      "X-Authorization": "<API_KEY>",
      "Content-Type": "application/json"
      }
    • Payload (example):
      {
      "hookUrl": "https://example.com/webhook"
      }
  • HTTP Response:

    • Status: 200 OK
    • Body:
      {}