Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Purpose:

This walkthrough will guide you through setting up your Generic Webforce Webhook within the CRM. This webhook can create a lead and associate it with the following information:

  • Billing and shipping addresses

  • Phone numbers

  • Tags

  • Order notes

Pre Requisites:

CRM Access

Creating the webhook

  • Navigate to the Integrations tab within the CRM, then click the button to add a new integration.

0e59b06b-5bad-4330-8c64-7598a008992f.png
  • in the search engine we place "webforce" and press configure

1fd6104b-6710-4888-903c-2c5173cce8aa.png
  • We place the name with which we want to identify the integration and press save

8415d1d1-b901-4f95-9973-1aca55ef0713.png
  • Once the integration is configured, we copy the url of the webhook and we will be able to send POST requests to this url

633325e8-95b2-484e-85d4-cfbfeded60a2.png
  • From this view you can also activate or deactivate the integration with the switch and pressing save

7e186751-2bba-470e-be6d-97950833f196.png

Payload request for the webhook

The webhook requires data in a specific format. Below is a sample of a complete payload.

{
    "contact": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
    },
    "phone": {
        "country": "US",
        "number": "+15124713434"
    },
    "billing_address": {
        "first_name": "John",
        "last_name": "Doe",
        "line": "11801 Stonehollow Drive",
        "line2": "line two",
        "city": "Austin",
        "state": "TX",
        "zip_code": "78758",
        "country": "US"
    },
    "shipping_address": {
        "first_name": "John",
        "last_name": "Doe",
        "line": "My shipping line address",
        "line2": "line two",
        "city": "Austin",
        "state": "TX",
        "zip_code": "78758",
        "country": "US"
    },
    "order": {
        "id": 123,
        "type": "success",
        "date": "2024-07-01 17:23:54",
        "subtotal": 100,
        "shipping": 8,
        "tax": 6,
        "total": 114,
        "items": [
            {
                "title": "Product one Red",
                "quantity": 2,
                "total": 50
            },
            {
                "title": "Product two White",
                "quantity": 1,
                "total": 50
            }
        ]
    },
    "additional_tags": [
        "tag1"
    ],
}

You don’t need to provide all of the sample information. The webhook is capable of creating only the pieces detected in the request.

Lets analyze every piece in the payload:

  • Contact object: This is the only mandatory object. You need to provide at least the email and the first name of the contact to be able to create a lead.

  • Phone object: If one of the two phone fields are missing the phone is not going to be created.

    • Country: Must be in 2 character format.

    • Number: Can be in international format, at least the 10 phone digits with no special characters are needed. Examples of valid phones:

      • +15124713434

      • 5124713434

  • Billing/Shipping address: For creating an address all of its fields except the line2 are required.

    • Country: Must be in 2 character format.

    • State: Must be in 2 character format.

    • City: Maximum 100 characters length.

    • Line: Maximum 255 characters length.

    • Line2: Maximum 255 characters length.

    • Zip code: Maximum length of 20 characters. Ensure the zip code format matches your country's requirements (e.g., 5 digits for the US).

  • Order: Another optional field, if provided it will generate an order note within you contact profile.

    • Id: The id of your order in your external platform.

    • Type. The status type of the order. For example: failed, success, refund. There is no a specific set of values here, just provide the one in your external platform.

    • Date: When the order was created in your external platform.

    • Subtotal: Optional.

    • Shipping: Optional..

    • Tax: Optional.

    • Total: The only needed amount field in the order.

    • Items: Optional array, but when provided must have this structure.

      • Title: Item’s product name. Every item name will be used to generate a tag for the contact.

      • Quantity: Item’s quantity sold.

      • Total: Item’s amount charged.

  • Additional tags: Array of tags to be also attached to the contact.

We will always respond to the webhook request with a 200 status and a valid field in the response body. If you send an invalid request (missing the basic contact object information), this field will be set to false; otherwise, it will be set to true.

Response body when success

{
    "valid": true
}

Response body when fail

{
    "valid": false
}

  • No labels