Skip to content
This repository was archived by the owner on Dec 12, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
7fcceee
add some docs and pics
njerschow Jun 8, 2020
55f57e8
blog finish
njerschow Jun 8, 2020
92b78ac
blog finish
njerschow Jun 8, 2020
3804642
refactor docs for version 0.2
njerschow Jun 19, 2020
a61132d
api docs changes
njerschow Sep 10, 2020
4615d51
update docs to v2.1.2
njerschow May 12, 2021
06724b1
consolidated changes
njerschow May 19, 2021
c36db26
fix typo
njerschow Jun 11, 2021
269ad0d
lots of group chat related updates
njerschow Aug 3, 2021
96af211
minor changes
njerschow Nov 1, 2022
3bb28d3
minor change i guess
njerschow Nov 3, 2022
4624a37
minor updates
njerschow Nov 22, 2022
81d9b80
eval service updates
njerschow Dec 4, 2022
7d53fc3
update img url & eval service
njerschow Dec 6, 2022
790c100
Merge branch 'gh-pages' of https://github.com/sendblue-api/sendblue-a…
njerschow Dec 6, 2022
773954b
eval service
njerschow Dec 6, 2022
5a448e3
finish evaluate service writeup
njerschow Dec 6, 2022
5e0e6fa
update hubspot form link
njerschow Apr 5, 2023
ffab348
api docs updates
njerschow Jul 24, 2023
330d461
postcss config
jramosss Jul 24, 2023
6560efa
send messages
jramosss Sep 27, 2023
8bbbd55
Merge pull request #4 from sendblue-api/sample-responses
jramosss Sep 27, 2023
a034375
minor updates
njerschow Oct 2, 2023
d75c77c
get contact
jramosss Oct 4, 2023
43ffb9c
get messages
jramosss Oct 4, 2023
838e4da
get contacts
jramosss Oct 4, 2023
490e7bb
minor updates to display docs
njerschow Oct 17, 2023
ae40927
Merge pull request #5 from sendblue-api/get-endpoints
njerschow Oct 17, 2023
88877eb
create contact docs
jramosss Nov 7, 2023
4bf54f0
Merge pull request #6 from sendblue-api/create-contact
jramosss Nov 15, 2023
3311e49
create media object docs
jramosss Dec 6, 2023
6d65756
adds media object pattern to sending files appart in outbound.md
jramosss Dec 6, 2023
b5c3f51
Merge pull request #7 from sendblue-api/create-media-object
jramosss Dec 6, 2023
58ea001
changes group messaging from scheduled to beta
jramosss Apr 8, 2024
277f57e
roadmap updates
njerschow Nov 15, 2023
1bca5f5
pre-update
njerschow May 21, 2024
f742aec
changes hsform for enterprise application
jramosss May 22, 2024
0d6998b
add redirects, cname, etc
njerschow Dec 6, 2024
61751b5
minor seo updates, deprecate old
njerschow Dec 6, 2024
630810a
update favicon
njerschow Dec 6, 2024
833f6e7
fix broken link
njerschow Dec 6, 2024
d0050ea
remove trailing slash setting
njerschow Dec 6, 2024
11eae2e
update CNAME
njerschow Dec 6, 2024
06de625
minor updates
njerschow Dec 6, 2024
0cd8031
update docs to current state
njerschow Apr 3, 2025
134242b
Fix sitemap generation and documentation structure
njerschow Jul 1, 2025
8a209e1
Merge pull request #10 from sendblue-api/fix-sitemap-generation
njerschow Jul 1, 2025
f456a79
update
njerschow Jul 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export GIT_USER=njerschow
export USE_SSH=true
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.env
115 changes: 115 additions & 0 deletions .trash/create-contact.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
id: create-contact
title: Create Contact Documentation | Sendblue
description: iMessage for Business | Create a new contact - Sendblue
sidebar_label: Create Contact
---

The Sendblue API allows you to create a new contact with the specified details.

## Create Contact

To create a new contact, make a POST request to the following endpoint:

`POST https://api.sendblue.co/accounts/contacts`

### Request Parameters

- `firstName` (string): The first name of the contact.
- `lastName` (string): The last name of the contact.
- `number` (string): The phone number of the contact.
- `companyName` (string, optional): The company name of the contact

### Sample Request

```bash
curl --location --request POST 'https://api.sendblue.co/accounts/contacts' \
--header 'sb-api-key-id: YOUR_SB_API_KEY_ID' \
--header 'sb-api-secret-key: YOUR_SB_API_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"firstName": "John",
"lastName": "Doe",
"number": "+19999999999",
"companyName": "ACME Inc"
}'
```

Here is the same in Node.js with Axios

```js
const axios = require("axios");

const url = "https://api.sendblue.co/accounts/contacts";

axios
.post(
url,
{
firstName: "John",
lastName: "Doe",
number: "+19999999999",
companyName: "ACME Inc",
},
{
headers: {
"sb-api-key-id": "YOUR_SB_API_KEY_ID",
"sb-api-secret-key": "YOUR_SB_API_SECRET_KEY",
},
}
)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});
```

### Sample Response

```json
{
"status": "OK",
"contact": "BUjbHDKzAQqs9M6bWAq5",
"contactData": {
"account_email": "your@email.com",
"firstName": "John",
"lastName": "Doe",
"phone": "+19999999999",
"displayPhone": "+1 9 999 999 9999",
"companyName": "ACME Inc"
}
}
```

### Possible Error Responses:

- If the contact already exists:

```json
{
"status": "ERROR",
"message": "Contact already exists"
}
```

- If the phone number is invalid:

```json
{
"status": "ERROR",
"message": "Invalid phone number"
}
```

- For other internal server errors:

```json
{
"status": "ERROR",
"message": "Internal server error message"
}
```

Please make sure to replace placeholders like YOUR_SB_API_KEY_ID and YOUR_SB_API_SECRET_KEY with your actual API credentials in the sample requests.
72 changes: 72 additions & 0 deletions .trash/get-contact-by-id.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
id: get-contact-by-id
title: Get Contact by ID
description: iMessage for Business | Retrieve a contact by ID - Sendblue
sidebar_label: Get Contact by ID
---

The Sendblue API allows you to retrieve contact information by their unique contact ID. This endpoint can be used to fetch detailed information about a specific contact.

## Get Contact by ID

To retrieve a contact, make a GET request to the following endpoint:

`GET https://api.sendblue.co/accounts/contacts/:contact_id`

Replace `:contactId` in the endpoint URL with the unique contact ID you want to retrieve.

### Sample Request

```bash
curl --location --request GET 'https://api.sendblue.co/accounts/contacts/12345' \
--header 'sb-api-key-id: YOUR_SB_API_KEY_ID' \
--header 'sb-api-secret-key: YOUR_SB_API_SECRET_KEY'
```

And here's the same in Node.js with Axios

```js
const axios = require("axios");
const url = "https://api.sendblue.co/accounts/contacts/12345";

axios
.get(url, {
headers: {
"SB-API-KEY-ID": "YOUR_SB_API_KEY_ID",
"SB-API-SECRET-KEY": "YOUR_SB_API_SECRET_KEY",
},
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error);
});
```

## Possible Responses

```json
{
"status": "OK",
"contact": {
"account_email": "thecontact@email.com",
"displayPhone": "+1 234 567 8912",
"phone": "+12345678912",
"is_unread": false,
"displayDate": "8/18/23 1:02 AM",
"previewText": "this is the latest message i sent to you",
"last_date": "2023-08-18T01:02:13.689Z", // last message date
"cid": "bLaLblalaLl11lALlalabla"
}
}
```

If there is no contact with the specified ID, you will receive a `404` status code with the following body:

```json
{
"status": "error",
"message": "Contact not found"
}
```
88 changes: 88 additions & 0 deletions .trash/get-contacts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
id: get-contacts
title: Get Contacts
description: iMessage for Business | Retrieve contacts - Sendblue
sidebar_label: Get Contacts
---

The Sendblue API allows you to retrieve a list of contacts. This endpoint can be used to fetch contacts with various filtering and pagination options.

## Get Contacts

To retrieve contacts, make a GET request to the following endpoint:

`GET https://api.sendblue.co/accounts/contacts`

### Query Parameters

- `order_direction` (optional): The order direction for sorting contacts, can be "asc" (ascending) or "desc" (descending) (default is "desc").
- `limit` (optional): The maximum number of contacts to retrieve per request.
- `offset` (optional): The offset for paginating through contacts.
- `order_by` (optional): The field by which to order contacts, such as "last_date" or another suitable field.

### Sample Request

```bash
curl --location --request GET 'https://api.sendblue.co/accounts/contacts?order_direction=asc&limit=2&offset=30&order_by=last_date' \
--header 'sb-api-key-id: YOUR_SB_API_KEY_ID' \
--header 'sb-api-secret-key: YOUR_SB_API_SECRET_KEY'
```

Here is the same in Node.js with Axios

```js
const axios = require("axios");

const url = "https://api.sendblue.co/accounts/contacts";

axios
.get(url, {
headers: {
"sb-api-key-id": "YOUR_SB_API_KEY_ID",
"sb-api-secret-key": "YOUR_SB_API_SECRET_KEY",
},
params: {
order_direction: "asc",
limit: 2,
offset: 30,
order_by: "last_date",
},
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});
```

## Sample Response

```json
[
{
"firstName": "John",
"lastName": "Doe",
"account_email": "your@email.com",
"displayPhone": "+1 9 999 999 9999",
"is_unread": false,
"displayDate": "6/8/23 7:39 PM",
"previewText": "this is the latest message that i, John, sent you",
"last_date": "2023-06-08T19:39:59.312Z",
"phone": "+19999999999",
"cid": "BUjbHDKzAQqs9M6bWAq5"
},
{
"account_email": "your@email.com",
"firstName": "Jane",
"lastName": "Doe",
"displayPhone": "+1 888 888 8888",
"is_unread": false,
"displayDate": "6/22/23 4:28 PM",
"previewText": "this is the latest message that i, Jane, sent you",
"last_date": "2023-06-22T19:28:01.937Z",
"phone": "+18888888888",
"cid": "LGHRAbQyxrk57EXkxMWb"
}
]
```
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Sendblue
# Website

This website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator.

### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Deployment

```
$ source .env
$ yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
11 changes: 0 additions & 11 deletions blog/2019-05-28-hola.md

This file was deleted.

17 changes: 0 additions & 17 deletions blog/2019-05-29-hello-world.md

This file was deleted.

13 changes: 0 additions & 13 deletions blog/2019-05-30-welcome.md

This file was deleted.

17 changes: 17 additions & 0 deletions blog/2020-06-7-welcome.md-template
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- ---
id: welcome
title: Welcome
author: Nikita Jerschow
author_title: Software Engineer @ PayPal
author_url: https://github.com/njerschow
author_image_url: https://avatars3.githubusercontent.com/u/15145382?s=400&u=dce57a56ab7fe5c18498b0ff8ac13c5666501449&v=4
tags: [welcome, sendblue, promoter]
---

Hello, My name is Nikita Jerschow and I am a software engineer.

The initial use-case for Sendblue was a way for promoters (Yes, the people who promote parties at nightclubs) to increase the hit-rate on the messages they were sending.

At the time of this writing, Sendblue is about 2 months old, and it will soon be publicly available as an API, so anyone can build the promoter use-case on top of it.

Thank you for trying out Sendblue, each message you send helps us improve :) -->
Binary file added docs/IMG_2031.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading