Text

This endpoint allows you to send text messages via the WhatsApp channel using Gupshup’s messaging API.

cURL

curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: {{APIKEY}}' \
--data-urlencode 'source={{SOURCE}}' \
--data-urlencode 'destination={{DESTINATION}}' \
--data-urlencode 'message={"type":"text",
  "text": "https://www.google.com","previewUrl":true}' \
--data-urlencode 'src.name={{APP_NAME}}'

Sample Request

Without Context

curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: xvnwgh9vgbbl6gjeezymu5v5iepxq2zt' \
--data-urlencode 'channel=whatsapp' \
--data-urlencode 'source=918XXXXX541' \
--data-urlencode 'destination=917XXXXX6501' \
--data-urlencode 'message={
  "type": "text",
  "text": "https://www.google.com",
  "previewUrl": true
}' \
--data-urlencode 'src.name=TedLasso'

With Context

curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: xvnwgh9vgbbl6gjeezymu5v5iepxq2zt' \
--data-urlencode 'channel=whatsapp' \
--data-urlencode 'source=918XXXX4541' \
--data-urlencode 'destination=917XXXX6501' \
--data-urlencode 'message={
  "context": {
    "msgId": "ss"
  },
  "type": "text",
  "text": "https://www.google.com",
  "previewUrl": true
}' \
--data-urlencode 'src.name=TedLasso'

Request Parameters

Parameter NameLocationTypeDescriptionRequiredExample
apikeyHeaderstringAPIKEY of your Gupshup AccountYes61b3021cXXXXbaaae0xxxx
sourceFormintegerSource Phone NumberYes91XXXX78
destinationFormintegerDestination Phone NumberYes918XXXX43
src.nameFormstringApp NameYesaugust18
messageFormobjectMessage object (refer to schema)YesRefer to Message schema below

Message Object (Form Parameter)

Property NameTypeDescriptionRequiredExample
contextobjectMessage contextNo{ "msgId": "uniqueMsgId" }
textstringMessage textYesWelcome to Gupshup
typestringType of session messageNotext
previewUrlbooleanEnable preview if the text contains URLNofalse

Response Parameters

Parameter NameTypeDescriptionExample
statusstringResponse statussubmitted, error
messageIdstringUnique message ID183dc8XXXX04fd0b1bfe07
messagestringError messageInvalid Destination, Authentication Failed, Too Many Requests
statusstringStatus of the requesterror

Sample Success Response

{
  "status": "submitted",
  "messageId": "183dc8f1XXXX04fd0b1bfe07"
}

Status Codes

Status CodeDescriptionResponse Schema
200Successful response{ "status": "submitted", "messageId": "uuid" }
400Bad Request{ "message": "Invalid Destination", "status": "error" }
or
{ "message": "Invalid App Details", "status": "error" }
401Authentication Failed{ "message": "Authentication Failed", "status": "error" }
429Too Many Requests{ "message": "Too Many Requests", "status": "error" }
Language
Click Try It! to start a request and see the response here!