SMTP APIからのIP Pools利用
IPプールはWhitelabelが適用されたIPアドレスでのみ利用可能です。
 
IP PoolsはSendGridアカウントに割り当てられた固定IPアドレスをまとめて扱うことを可能にします。例えば、 transactional や marketing といった名前をつけてトランザクションメールとマーケティングメール用のIPプールを分ける場合に利用することができます。
マーケティングメールを送信する際に、SMTPAPIで以下のように「merketing」IPプールを指定して送信することでトランザクションメールのレピュテーションに影響を与えずにすみます。
    
    
    
    
    
 1
  | {"to": ["destination.com"],"ip_pool": "pool_name"}
  | 
  
メール送信時にIPプールが指定されていない場合、任意の有効なIPアドレス(IPプールに所属しているかは問いません)が利用されます。
 
POST
IPプールを作成します。
  
    
      | URI引数 | 
      必須 | 
      条件 | 
      説明 | 
    
    
  
  | name | 
  Yes | 
  64文字以内の文字列 | 
  IPプール名 | 
  
  Request
      
    
    
    
    
 1
  | POST https://api.sendgrid.com/v3/ips/pools HTTP/1.1
  | 
  
  
      Request Body    
    
    
    
    
 1
2
3
  | {
  "name": "marketing"
}
  | 
  
  
  Response
      
 
 
GET
全てのIPプールを取得します。
  Request
      
    
    
    
    
 1
  | GET https://api.sendgrid.com/v3/ips/pools HTTP/1.1
  | 
  
  
  
  Response
      
    
    
    
    
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  | HTTP/1.1 200
[
  {
    "name": "test1"
  },
  {
    "name": "test2"
  },
  {
    "name": "test3"
  },
  {
    "name": "new_test3"
  }
]
  | 
  
 
 
GET
指定したIPプールに所属したIPアドレスリストを取得します。
  Request
      
    
    
    
    
 1
  | GET https://api.sendgrid.com/v3/ips/pools/{pool_name} HTTP/1.1
  | 
  
  
  
  Response
      
    
    
    
    
 1
2
3
4
5
6
  | HTTP/1.1 200 OK
{
  "ips":["167.89.21.3"],
  "pool_name":"new_test5"
}
  | 
  
 
 
PUT
IPプール名を更新します。
  
    
      | URI引数 | 
      必須 | 
      条件 | 
      説明 | 
    
    
  
  | name | 
  Yes | 
  64文字以内の文字列 | 
  新しいIPプール名 | 
  
  Request
      
    
    
    
    
 1
  | PUT https://api.sendgrid.com/v3/ips/pools/{pool_name} HTTP/1.1
  | 
  
  
      Request Body    
    
    
    
    
 1
2
3
  | {
  "name": "marketing"
}
  | 
  
  
  Response
      
    
    
    
    
 1
2
3
4
5
  | HTTP/1.1 200 OK
{
  "name":"new_pool_name"
}
  | 
  
 
 
POST
IPアドレスをプールに追加する。
  Request
      
    
    
    
    
 1
  | POST https://api.sendgrid.com/v3/ips/pools/{pool_name}/ips HTTP/1.1
  | 
  
  
      Request Body    
    
    
    
    
 1
2
3
  | {
  "ip": "0.00.0.0"
}
  | 
  
  
  Response
      
    
    
    
    
 1
2
3
4
5
6
7
8
9
10
  | HTTP/1.1 200 OK
{
  "ip": "0.00.0.0",
  "pools": [
    "marketing"
  ],
  "start_date": null,
  "warmup": false
}
  | 
  
 
 
DELETE
プールからIPアドレスを削除します。
  Request
      
    
    
    
    
 1
  | DELETE https://api.sendgrid.com/v3/ips/pools/{pool_name}/ips/{ip} HTTP/1.1
  | 
  
  
  
  Response
      
    
    
    
    
 1
  | HTTP/1.1 204 NO CONTENT (OK)
  | 
  
 
 
DELETE
IPプールを削除します。
  Request
      
    
    
    
    
 1
  | DELETE https://api.sendgrid.com/v3/ips/pools/{pool_name} HTTP/1.1
  | 
  
  
  
  Response
      
    
    
    
    
 1
  | HTTP/1.1 204 NO CONTENT (OK)
  |