PinnacleWhatsappPlugin 1.0.1

dotnet add package PinnacleWhatsappPlugin --version 1.0.1
                    
NuGet\Install-Package PinnacleWhatsappPlugin -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PinnacleWhatsappPlugin" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PinnacleWhatsappPlugin" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="PinnacleWhatsappPlugin" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PinnacleWhatsappPlugin --version 1.0.1
                    
#r "nuget: PinnacleWhatsappPlugin, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PinnacleWhatsappPlugin@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PinnacleWhatsappPlugin&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=PinnacleWhatsappPlugin&version=1.0.1
                    
Install as a Cake Tool

Pinnacle WhatsApp Plugin

Nuget Nuget

Pinnacle WhatsApp plugin official library is useful for sending Outbound messages of all types (text, images, stickers, location pins, contact cards, audio, video, and templates). It can also be used for sending and fetching opt-in requests to the users, as well as the opted-in users list.

Note: API does not support Inbound APIs such as receiving messages from end clients though webhooks.

For API Key You will have to create an account with Pinnacle Teleservices PVT LTD. (https://console.pinbot.ai/) Once you create an account with Pinnacle you can obtain the api key from the email with all the credentials . The same can be used for your specific app or if you are testing with the sandbox application.

Session Messages

1. Send Text Message
{
  "from": "<Your Waba Number>",
  "to": "<Contact Number>",
  "type": "text",
  "message": {
    "text": "<Msg>"
  }
}

2. Send Image Message
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "image",
  "message": {
    "url": "<image url>",
    "caption": "<caption>",
    "filename": "<filename>"
  }
}
3. For Video Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "video",
  "message": {
    "url": "<video url>",
    "caption": "<caption>",
    "filename": "<filename>"
  }
}
4. For Interactive List Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "interactive",
  "message": {
    "interactive": {
      "type": "list",
      "header": {
        "type": "text",
        "text": "Test Header"
      },
      "body": {
        "text": "msgtext"
      },
      "footer": {
        "text": "Test Footer"
      },
      "action": {
        "button": "Button1",
        "sections": [
          {
            "title": "Section1",
            "rows": [
              {
                "id": "1",
                "title": "Row1",
                "description": "Desc1"
              }
            ]
          },
          {
            "title": "Section2",
            "rows": [
              {
                "id": "2",
                "title": "Row2",
                "description": "Desc2"
              }
            ]
          }
        ]
      }
    }
  }
}
5. For Interactive Button Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "interactive",
  "message": {
    "interactive": {
      "type": "button",
      "header": {
        "type": "text",
        "text": "this is header"
      },
      "body": {
        "text": "this is body"
      },
      "footer": {
        "text": "this is footer"
      },
      "action": {
        "buttons": [
          {
            "type": "reply",
            "reply": {
              "id": "1",
              "title": "Button 1"
            }
          },
          {
            "type": "reply",
            "reply": {
              "id": "2",
              "title": "Button 2"
            }
          }
        ]
      }
    }
  }
}
6. For Contact Card Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "contact",
  "message": {
    "contacts": {
      "name": {
        "first_name": "<first_name>",
        "last_name": "<last_name>"
      },
      "phones": [
        {
          "phone": "<phone>",
          "type": "<type>"
        },
        {
          "phone": "<phone>",
          "type": "<type>"
        }
      ]
    }
  }
}
7. For Current Location Messages.
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "location",
  "message": {
    "longitude": "<longitude>",
    "latitude": "<latitude>",
    "name": "<location name>",
    "address": "<location address>"
  }
}
8. For Sticker Messages.
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "sticker",
  "message": {
    "url": "<sticker URL>",
    "caption": "Test Sticker",
    "filename": "<filename>"
  }
}

Template Messages

Note: For Sending template messages we need to initiate the text message After that we can Send Template messages such as text, Image, video and document

1. Send Text Message
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "template",
  "message": {
    "templateid": "<template id>",
    "placeholders": ["<placeholders>"]
  }
}
2. For Sending Template Image Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "template",
  "message": {
    "templateid": "<template id>",
    "url": "<image url>",
    "placeholders": ["<placeholders>"]
  }
}
3. For Sending Template Video Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "template",
  "message": {
    "templateid": "<template id>",
    "url": "<video url>",
    "placeholders": ["<placeholders>"]
  }
}
4. For Sending Template Document Messages
{
  "from": "<wabanumber>",
  "to": "<contact number>",
  "type": "sticker",
  "message": {
    "url": "<sticker URL>",
    "caption": "Test Sticker",
    "filename": "<filename>"
  }
}
Common Function for calling the Plugin for Sending Message:

      string json = <JSON payload or JSON file > ;
      string jsonResult = JsonConvert.SerializeObject(json);
      string apikey ="<API Key>";
      string finalResult="";
             
       var payloadData = JsonConvert.DeserializeObject<payload>(jsonResult );

                if (payloadData.type.Trim() == "template")
                {
                   finalResult = obj.send_Whatsapp_Template_Messages(apikey, jsonResult );
                }
                else
                {
                   finalResult = obj.send_Whatsapp_Session_Messages(apikey, jsonResult );
                }

The following Response Message will be received
{
  "code": "200",
  "status": "SUCCESS",
  "message": "Message Processed Successfully",
  "data": {
    "messageid": "<messageid>"
  }
}

Request Body

Property Type Description Required
From string Customer's Whatsapp number true
To string Your Whatsapp business number true
message Message Payload Payload for the sending message true
Type string Text true

Message Payload

Property Type Description Required
type string Whatsapp message type( text, audio, video, file, image , location, contact, sticker) true
text string The text message to be sent to the customer, in case of type=text false
url string The public URL where the file / audio / video attachment to be sent to the customer is hosted false
Type string Text true
caption string Add caption to media messages, applicable to media `type = image video
longitude number To be sent for type = location false
latitude number To be sent for type = location false
name string Name of the location. Only to be sent for type = location false
address string Postal address of the location. Only to be sent for type = location false
contact Contact Card Contact details to be sent when type = contact false

Pinnacle Support

Call +91 83088 00004, +91 83088 00005 or email at support@pinnacle.in

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 408 5/18/2022
1.0.0 330 5/18/2022