{
  "item": [
    {
      "id": "5a731286-6017-441f-a94f-6bf812bbb095",
      "name": "Send Messages",
      "description": {
        "content": "Send SMS Universal messages",
        "type": "text/plain"
      },
      "item": [
        {
          "id": "cfad924d-8cd6-400d-a6c6-5c3d7040ade1",
          "name": "Send SMS Universal",
          "request": {
            "name": "Send SMS Universal",
            "description": {
              "content": "Send an SMS message to the specified recipient.\n\nSupports:\n- **Placeholders** — Insert `{name}` in the body and populate the `placeholders` map\n- **Concatenation** — Long messages are automatically split into parts (multipart SMS)\n- **UDH** — Custom User Data Header data for binary SMS\n- **Scheduling** — Set `scheduledDate` for deferred sending\n- **Dry run** — Set `simulation: true` to validate the request without sending\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "message-server",
                "sms",
                "send"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "auth": null,
            "body": {
              "mode": "raw",
              "raw": "{\n  \"destination\": \"+393201234567\",\n  \"sender\": \"MyBrand\",\n  \"body\": \"Ciao, il tuo ordine è stato spedito!\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "78519159-cf70-429b-98e0-c10c6bf58acd",
              "name": "Message accepted",
              "originalRequest": {
                "url": {
                  "path": [
                    "message-server",
                    "sms",
                    "send"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destination\": \"+393201234567\",\n  \"sender\": \"MyBrand\",\n  \"body\": \"Ciao, il tuo ordine è stato spedito!\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"messageId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"simulation\": false,\n  \"results\": {\n    \"sms\": {\n      \"accepted\": true,\n      \"unicode\": false,\n      \"parts\": 1,\n      \"reasons\": []\n    }\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "97e9ce73-ce0e-4c3e-8cf0-57b8fd0e5bdb",
              "name": "Invalid request",
              "originalRequest": {
                "url": {
                  "path": [
                    "message-server",
                    "sms",
                    "send"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destination\": \"+393201234567\",\n  \"sender\": \"MyBrand\",\n  \"body\": \"Ciao, il tuo ordine è stato spedito!\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"status\": \"fail\",\n  \"data\": {\n    \"destination\": \"'destination' can't be blank\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "2fcf7c44-304b-4b7d-a62a-7863d7c1f2d8",
              "name": "Invalid or missing credentials",
              "originalRequest": {
                "url": {
                  "path": [
                    "message-server",
                    "sms",
                    "send"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destination\": \"+393201234567\",\n  \"sender\": \"MyBrand\",\n  \"body\": \"Ciao, il tuo ordine è stato spedito!\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"status\": \"fail\",\n  \"data\": {}\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0e0f43ee-ca9f-4831-aed7-ede9aee0eadf",
              "name": "IP not in whitelist or unauthorized resource",
              "originalRequest": {
                "url": {
                  "path": [
                    "message-server",
                    "sms",
                    "send"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"destination\": \"+393201234567\",\n  \"sender\": \"MyBrand\",\n  \"body\": \"Ciao, il tuo ordine è stato spedito!\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Forbidden",
              "code": 403,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"status\": \"fail\",\n  \"data\": {}\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ],
      "event": []
    }
  ],
  "event": [],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://lora-api.agiletelecom.com",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "YOUR_API_KEY",
      "type": "string"
    }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-Api-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "info": {
    "_postman_id": "4659486f-e23a-4e61-b58c-30a770bb3728",
    "name": "AgileTelecom SMS Universal API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": {
      "content": "REST API for sending SMS messages in Universal mode. Supports placeholders, automatic concatenation, UDH, scheduled sending, and delivery notifications.\n\n## Authentication\n\nAll requests require **one** of the following methods:\n\n- **API Key** — Header `X-Api-Key: <api-key>`\n- **Basic Auth** — Header `Authorization: Basic <base64(username:password)>`\n\n## Main features\n\n- Send SMS with alphanumeric or numeric sender\n- Dynamic placeholder support in message text\n- Automatic concatenation for long messages (multipart SMS)\n- Custom UDH data for binary SMS\n- Scheduled sending\n- Dry run mode for testing\n- Delivery notifications via webhook\n\n## Webhook — Delivery notifications\n\nWhen `enableNotification` is enabled, the system sends HTTP POST callbacks to your URL configured in the platform.\n\n### Callback format\n\n```json\n{\n  \"channel\": \"SMS\",\n  \"eventType\": \"DELIVERY\",\n  \"messageId\": \"uuid\",\n  \"statusCode\": 3,\n  \"statusDescription\": \"Delivered\",\n  \"price\": 0.035,\n  \"numPart\": 1,\n  \"totalParts\": 1,\n  \"timestamp\": \"2024-01-15T10:30:00Z\"\n}\n```\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `channel` | string | Always `\"SMS\"` |\n| `eventType` | string | Always `\"DELIVERY\"` |\n| `messageId` | string | UUID of the sent message |\n| `statusCode` | integer | `3` = Delivered, `6` = Not Delivered |\n| `statusDescription` | string | Human-readable status description |\n| `price` | number | Message cost |\n| `numPart` | integer | Delivered part number |\n| `totalParts` | integer | Total parts of the concatenated message |\n| `timestamp` | string | ISO 8601 timestamp of the notification |\n\n\nContact Support:\n Name: AgileTelecom",
      "type": "text/plain"
    }
  }
}
